ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f3xx_hal_i2c.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c" 20 .section .text.I2C_Flush_TXDR,"ax",%progbits 21 .align 1 22 .syntax unified 23 .thumb 24 .thumb_func 26 I2C_Flush_TXDR: 27 .LVL0: 28 .LFB195: 1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ****************************************************************************** 3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @file stm32f3xx_hal_i2c.c 4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @author MCD Application Team 5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver. 6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral: 8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + IO operation functions 10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * + Peripheral State and Errors functions 11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ****************************************************************************** 13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @attention 14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Copyright (c) 2016 STMicroelectronics. 16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * All rights reserved. 17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This software is licensed under terms that can be found in the LICENSE file 19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the root directory of this software component. 20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ****************************************************************************** 23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ============================================================================== 25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### How to use this driver ##### 26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ============================================================================== 27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The I2C HAL driver can be used as follows: 29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 2 31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef hi2c; 32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API: 34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) Enable the I2Cx interface clock 35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) I2C pins configuration 36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs 37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain 38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process 39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority 40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel 41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process 42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for 43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the transmit or receive channel 44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using 45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA handle parameters 46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel 47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle 48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on 49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the DMA Tx or Rx channel 50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres 52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure 53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H 55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API. 56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead 58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver : 60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO operation *** 62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ================================= 63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit( 65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive() 66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit() 67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive() 68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Polling mode IO MEM operation *** 70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ===================================== 71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W 73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_ 74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO operation *** 77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =================================== 78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans 80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can 81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() 82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv 83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can 84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi 86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can 87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 3 88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_ 89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can 90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can 92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback() 93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() 94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can 95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback() 96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. 97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication 98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation *** 101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ========================================================== 102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition 104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** when a direction change during transfer 105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer 107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Option field values are defined through I2C_XFEROPTIONS and are listed below: 108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functional is same as associated interfac 109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** no sequential mode 110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con 111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and data to transfer without a final stop condition 112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a 113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** start condition, address and data to transfer without a final stop cond 114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** an then permit a call the same master sequential interface several time 115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (like HAL_I2C_Master_Seq_Transmit_IT() then HAL_I2C_Master_Seq_Transmit 116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA() then HAL_I2C_Master_Seq_Transmit_D 117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart 118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th 119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer 120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases 121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart 122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th 123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfer 124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases 125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re 126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after several call of the same master sequential interface several time 127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (link with option I2C_FIRST_AND_NEXT_FRAME). 128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one using 129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT 130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT 131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA 132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA 133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_AND_NEXT_FRAME then I2C_NEXT_FRAME. 134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit 135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Receive sequence permit to call the opposite interface Receive or Tra 136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio 137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c 138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each call of the same master sequential 139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** interface. 140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave 141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** each bytes using 142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT 143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT 144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 4 145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA 146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** with option I2C_FIRST_FRAME then I2C_OTHER_FRAME. 147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to 148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** generation of STOP condition. 149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Different sequential I2C interfaces are listed below: 151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using 152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Transmit_IT() or using HAL_I2C_Master_Seq_Transmit_DMA() 153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut 154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_MasterTxCpltC 155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using 156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Seq_Receive_IT() or using HAL_I2C_Master_Seq_Receive_DMA() 157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed 158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using HAL_I2C_Master_A 160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can 161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback() 162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT() 163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_DisableListen_IT() 164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and users can 165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code to check the Address Match Code and the transmission direction reques 166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (Write/Read). 167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and users can 168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ListenCpltCallback() 169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using 170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Transmit_IT() or using HAL_I2C_Slave_Seq_Transmit_DMA() 171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute 172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** users can add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCa 173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using 174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Seq_Receive_IT() or using HAL_I2C_Slave_Seq_Receive_DMA() 175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a 176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can 178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback() 179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. 180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication 181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Interrupt mode IO MEM operation *** 183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ======================================= 184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address 186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT() 187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can 188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback() 189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address 190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT() 191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can 192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback() 193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can 194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback() 195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO operation *** 197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ============================== 198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using 200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA() 201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and users can ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 5 202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterTxCpltCallback() 203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using 204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA() 205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and users can 206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MasterRxCpltCallback() 207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using 208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA() 209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and users can 210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback() 211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using 212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA() 213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and users can 214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback() 215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can 216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback() 217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT() 218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and users can 219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_AbortCpltCallback() 220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro. 221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication 222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** DMA mode IO MEM operation *** 224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ================================= 225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using 227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA() 228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and users can 229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemTxCpltCallback() 230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using 231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA() 232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and users can 233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_MemRxCpltCallback() 234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and users can 235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** add their own code by customization of function pointer HAL_I2C_ErrorCallback() 236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** I2C HAL driver macros list *** 239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ================================== 240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver. 242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral 244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral 245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode 246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not 247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag 248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt 249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt 250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *** Callback registration *** 252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ============================================= 253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1 255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks. 256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use Functions HAL_I2C_RegisterCallback() or HAL_I2C_RegisterAddrCallback() 257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to register an interrupt callback. 258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 6 259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Function HAL_I2C_RegisterCallback() allows to register following callbacks: 260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. 261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. 262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. 263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. 264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. 265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. 266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. 267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. 268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. 269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. 270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. 271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and a pointer to the user callback function. 273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : HAL_I2C_RegisterAddrCall 275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Use function HAL_I2C_UnRegisterCallback to reset a callback to the default 277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** weak function. 278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle, 279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the Callback ID. 280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This function allows to reset following callbacks: 281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer. 282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer. 283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer. 284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer. 285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode. 286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer. 287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer. 288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection. 289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process. 290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init. 291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit. 292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : HAL_I2C_UnRegisterAddrCallback(). 294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** By default, after the HAL_I2C_Init() and when the state is HAL_I2C_STATE_RESET 296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions: 297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** examples HAL_I2C_MasterTxCpltCallback(), HAL_I2C_MasterRxCpltCallback(). 298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are 299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** reset to the legacy weak functions in the HAL_I2C_Init()/ HAL_I2C_DeInit() only when 300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** these callbacks are null (not registered beforehand). 301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the HAL_I2C_Init()/ HAL_I2C_DeInit() 302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state. 303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Callbacks can be registered/unregistered in HAL_I2C_STATE_READY state only. 305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** in HAL_I2C_STATE_READY or HAL_I2C_STATE_RESET state, 307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using HAL_I2C_RegisterCallback() before calling HAL_I2C_DeInit() 310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or HAL_I2C_Init() function. 311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or 313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks 314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** are set to the corresponding weak functions. 315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 7 316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros 318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/ 323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #include "stm32f3xx_hal.h" 324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup STM32F3xx_HAL_Driver 326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C I2C 330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C HAL module driver 331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED 335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/ 337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/ 338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define 340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */ 343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */ 344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */ 345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */ 346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */ 347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */ 348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */ 349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */ 350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */ 351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */ 352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U 354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_SHIFT 7U 355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define SLAVE_ADDR_MSK 0x06U 356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */ 358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | \ 359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_STATE_BUSY_RX) & \ 360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)(~((uint32_t)HAL_I2C_STATE_READY)))) 361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Mask State define, keep only RX and TX bits */ 362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE)) 363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Default Value */ 364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \ 365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER)) 366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy TX, combinaison of State LSB and Mode enum */ 367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \ 368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MASTER)) 369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Master Busy RX, combinaison of State LSB and Mode enum */ 370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \ 371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE)) 372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy TX, combinaison of State LSB and Mode enum */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 8 373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \ 374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_SLAVE)) 375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Slave Busy RX, combinaison of State LSB and Mode enum */ 376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | \ 377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM)) 378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy TX, combinaison of State LSB and Mode enum */ 379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | \ 380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)HAL_I2C_MODE_MEM)) 381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*!< Memory Busy RX, combinaison of State LSB and Mode enum */ 382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */ 385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_TX_IT (uint16_t)(0x0001U) /*!< Bit field can be combinated with 386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */ 387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RX_IT (uint16_t)(0x0002U) /*!< Bit field can be combinated with 388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @ref I2C_XFER_LISTEN_IT */ 389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) /*!< Bit field can be combinated with @ref I2 390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and @ref I2C_XFER_RX_IT */ 391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (uint16_t)(0x0010U) /*!< Bit definition to manage addition of glo 393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and NACK treatment */ 394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (uint16_t)(0x0020U) /*!< Bit definition to manage only STOP evene 395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) /*!< Bit definition to manage only Reload of 396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */ 398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U) 399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private macros ------------------------------------------------------------*/ 404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Macro 405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Macro to get remaining data to transfer on DMA side */ 408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__) 409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/ 414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/ 415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions 417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle DMA transfer */ 420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma); 421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma); 422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma); 423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma); 424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma); 425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma); 426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */ 429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 9 430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c); 431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c); 432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); 433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); 434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags); 435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode); 436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle IT transfer */ 438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t 440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T 443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */ 446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources); 458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */ 460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta 461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart); 462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart); 470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */ 472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); 473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest); 474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to treat different error callback */ 476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c); 477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to flush TXDR register */ 479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c); 480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */ 482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t 483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request); 484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Private function to Convert Specific options */ 486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 10 487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/ 492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions 494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions 498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialization and Configuration functions 499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Initialization and de-initialization functions ##### 503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and 505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** deinitialize the I2Cx peripheral: 506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures 508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). 509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with 511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the selected configuration: 512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Clock Timing 513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 1 514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Addressing mode (Master, Slave) 515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Dual Addressing mode 516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2 517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Own Address 2 Mask 518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) General call mode 519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Nostretch mode 520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration 522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** of the selected I2Cx peripheral. 523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters 530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle. 531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c) 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL) 539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 11 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET) 554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Allocate lock resource and initialize it */ 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED; 557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the I2C Callback settings */ 560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback 561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback 562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback 563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback 564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback 565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback 566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback 567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback 568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback 569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback 570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL) 572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */ 574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ 577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c); 578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c); 581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the selected I2C peripheral */ 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/ 590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */ 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK; 592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/ 594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */ 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN; 596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */ 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT) 599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 12 601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */ 603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1); 605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/ 608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */ 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10); 612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */ 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */ 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */ 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/ 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */ 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the selected I2C peripheral */ 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral. 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c) 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL) 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 13 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */ 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL) 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */ 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c); 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c); 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Release Lock */ 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialize the I2C MSP. 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP. 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 14 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register a User I2C Callback 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak predefined callback 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_RegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_RES 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID. 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered 726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Callback function 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback) 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL) 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback; 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback; 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback; 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 15 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback; 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback; 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback; 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback; 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback; 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 16 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Unregister an I2C Callback 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note The HAL_I2C_UnRegisterCallback() may be called before HAL_I2C_Init() in HAL_I2C_STATE_R 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to un-register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID. 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered 852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 17 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 18 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL) 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = pCallback; 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 19 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c) 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */ 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Data transfers functions 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### IO operation functions ##### 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfers. 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) There are two modes of transfer: 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode. 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The status of all data processing is returned by the same function 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after finishing transfer. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup. 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The end of the data processing will be indicated through the 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using DMA mode. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Blocking mode functions are : 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit() 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive() 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit() 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive() 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write() ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 20 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read() 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady() 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are : 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT() 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT() 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT() 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT() 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT() 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT() 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT() 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT() 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT() 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT() 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT() 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT() 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT() 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are : 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA() 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA() 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA() 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA() 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA() 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA() 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA() 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA() 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA() 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA() 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback() 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback() 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback() 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback() 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback() 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback() 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback() 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback() 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback() 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback() 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode. 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 21 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout) 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 22 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */ 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode. 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 23 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout) 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 24 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */ 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 25 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode. 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 26 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bit addressing mode is selected */ 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */ 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK) 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until AF flag is set */ 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart) != HAL_OK) 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 27 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear AF flag */ 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */ 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */ 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 28 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */ 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK) 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 29 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */ 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */ 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 30 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 31 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t * 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 32 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 33 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 34 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 35 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance-> 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_ 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 36 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 37 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 38 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART * 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_ 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 39 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 40 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 41 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 42 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size) 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 43 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 44 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 45 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U); 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 46 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 47 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_ 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 48 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U); 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 49 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 50 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 51 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_ 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, (I2C_XFER_TX_IT | I2C_XFER_RX_IT)); 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 52 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 53 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 54 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address. 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be read 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 55 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 56 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Checks if target device is ready for communication. 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This function is used with Memory devices 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Trials Number of trials ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 57 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL; 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp1; 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2; 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Start */ 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress); 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/ 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET)) 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 58 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */ 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET) 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Device is ready */ 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/ 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */ 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_Trials == Trials) 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Trials */ 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Trials++; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 59 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 60 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \ 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA. 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 61 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \ 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 62 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance-> 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 63 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 64 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \ 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 65 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 66 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \ 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 67 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 68 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 69 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 70 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 71 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 72 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX 4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */ 4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0; 4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 73 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 74 4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 75 4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 76 4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 77 4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, 4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */ 4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0; 4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 78 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt. 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c) 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the Address Match interrupt */ 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt. 4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C 4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c) 4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp; 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */ 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 79 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the Address Match interrupt */ 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt. 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress) 4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER) 4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 4458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 4461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */ 4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT; 4469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */ 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP); 4473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 80 4477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 4481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong usage of abort function */ 4487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */ 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks 4497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 4498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request. 4502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */ 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 4511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/ 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferISR != NULL) 4514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources); 4516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request. 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) 4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 4530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/ 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \ 4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 81 4534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR; 4536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */ 4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 4539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/ 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \ 4543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR; 4546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */ 4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/ 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \ 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 4554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO; 4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */ 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 4559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; 4563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */ 4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_ 4566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror); 4568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback. 4573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback. 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 82 4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) 4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback. 4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) 4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file 4615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback. 4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) 4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file 4631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Address Match callback. 4636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE 4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code 4640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM 4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection); 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 83 4648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file 4651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Listen Complete callback. 4656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback. 4672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file 4683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback. 4688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) 4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C error callback. 4704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 84 4705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) 4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file 4715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C abort callback. 4720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) 4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file 4731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions 4739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions 4740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 4741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 4742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 4743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions ##### 4744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 4745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 4746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral 4747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the data flow. 4748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 4750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 4751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C handle state. 4755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL state 4758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c) 4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 85 4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->State; 4763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode. 4767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for I2C module 4769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL mode 4770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c) 4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode; 4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C error code. 4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval I2C Error Code 4781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c) 4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode; 4785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions 4796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 4797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt. 4801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 4804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 4805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 4808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 4812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 4817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 4818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 86 4819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 4821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 4823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 4824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 4826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 4829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 4831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 4832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 4835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 4838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 4841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 4846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 4847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 4850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 4853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \ 4858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 4859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 4861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); 4863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 4865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START 4868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 4873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, 4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 87 4876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, 4880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 4881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 4888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 4891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 4897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \ 4901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 4902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) 4909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 4912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 4917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ 4923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 4925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 4930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 88 4933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 4934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags); 4937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt. 4947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 4950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 4951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 4954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 4958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 4963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 4964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 4967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 4970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 4981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 4984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 4987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 89 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 4992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 4993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Memaddress == 0xFFFFFFFFU) 4995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 4998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */ 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress; 5009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \ 5015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 5018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 5030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \ 5040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ; 5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 90 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 5054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */ 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 5062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ 5070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags); 5074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt. 5084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 5095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */ 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */ 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ 5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 91 5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags); 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 5108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ 5112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/ 5113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */ 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) 5117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 5118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */ 5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); 5122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME) 5124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 5132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ 5144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) 5151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 5154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 5158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 92 5161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \ 5173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 5174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \ 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags); 5183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 5185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 5186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */ 5188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */ 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if all Data have already been sent */ 5190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U) 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 5195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) 5205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 5207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 93 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA. 5225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 5250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */ 5251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 5253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ 5258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC interrupt */ 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI); 5262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Recover Slave address */ 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */ 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 94 5275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 5278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 5284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */ 5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 5310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ 5320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) 5328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 5331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 95 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 5336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ 5342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ 5347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags); 5351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA. 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 5375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 96 5389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */ 5390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 5392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \ 5397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 5398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */ 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress; 5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error interrupt */ 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */ 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 5419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 5425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 97 5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ 5448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ; 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */ 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ 5486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags); 5490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 98 5503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA. 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 5516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */ 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */ 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ 5522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */ 5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags); 5526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */ 5533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */ 5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */ 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || 5536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 5537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */ 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 5540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET) 5542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) 5544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U; 5546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */ 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 5552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) 5554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U) 5556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U; 5558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 99 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (treatdmanack == 1U) 5563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) 5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 5566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */ 5567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags); 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM 5572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 5580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/ 5592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */ 5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpstate = hi2c->State; 5600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) 5604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 5606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 5610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 5614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 100 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */ 5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \ 5628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags); 5631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques 5645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 5648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 5650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 5652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 5653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 5656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t 5657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI 5660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 5669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */ 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 101 5674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */ 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 5678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */ 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) 5691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request 5700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 5703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 5704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 5705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 5706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 5707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 5708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR 5715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */ 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 5729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 102 5731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */ 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */ 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TC flag is set */ 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) 5746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Address complete process callback. 5755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 5756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 5758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection; 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode; 5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code; 5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code; 5765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(ITFlags); 5768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */ 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN) 5771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c); 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 5776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bits addressing mode is selected */ 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK)) 5781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd1code; 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++; 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 5785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Address Event counter */ 5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount = 0U; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 103 5788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 5796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 5798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 5800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd2code; 5806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */ 5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 5809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 5814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 5816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 5818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */ 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */ 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 5826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 5831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 5835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Else clear address flag only */ 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 5843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 104 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master sequential complete process. 5851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 5852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c) 5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */ 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */ 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 5862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 5876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ 5881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 5889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 5896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 5898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 105 5902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave sequential complete process. 5904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 5905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 5906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c) 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 5910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) 5916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 5919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 5924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 5931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */ 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 5935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 5945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 5947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 5951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */ 5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 5955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 5958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 106 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 5967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master complete process. 5977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg; 5986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 5989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 5992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 5995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 6000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 6008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) 6014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 107 6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set acknowledge error code */ 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Fetch Last receive data if any */ 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)) 6024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR; 6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 6028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ 6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; 6035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE)) 6038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 6041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */ 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 6044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 6049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c); 6058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c); 6060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 6072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 108 6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 6074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 6079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 6084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c); 6093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c); 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 6109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave complete process. 6120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 6122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 6129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 109 6130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) 6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 6143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 6154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ 6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) 6160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 6165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx); 6167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) 6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 6175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx); 6177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 110 6187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 6195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */ 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) 6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 6220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); 6223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 6226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */ 6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 111 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 6273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Listen complete process. 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET) 6294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 112 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) 6302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all Interrupts*/ 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); 6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C interrupts error process. 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ErrorCode Error code to handle. 6332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 6337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmppreviousstate; 6339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 6344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set new error code */ 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode; 6347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) || 6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */ 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT); 6355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */ 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 113 6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 6359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts */ 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT); 6364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */ 6369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This change will be do later */ 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT) 6371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */ 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */ 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) 6377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) 6379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX transfer if any */ 6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState; 6394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \ 6396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 6397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 6399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) 6404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 114 6415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 6417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX transfer if any */ 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \ 6426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 6427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 6429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) 6434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 6438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 6444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 6447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Error callback treatment. 6462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c) 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT) 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 115 6472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c); 6478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c); 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); 6492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); 6494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Tx data register flush process. 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) 6504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 29 .loc 1 6504 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 0 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 6505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a pending TXIS flag is set */ 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */ 6507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) 34 .loc 1 6507 3 view .LVU1 35 .loc 1 6507 7 is_stmt 0 view .LVU2 36 0000 0368 ldr r3, [r0] 37 0002 9A69 ldr r2, [r3, #24] 38 .loc 1 6507 6 view .LVU3 39 0004 12F0020F tst r2, #2 40 0008 01D0 beq .L2 6508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U; 41 .loc 1 6509 5 is_stmt 1 view .LVU4 42 .loc 1 6509 26 is_stmt 0 view .LVU5 43 000a 0022 movs r2, #0 44 000c 9A62 str r2, [r3, #40] 45 .L2: 6510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 116 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register if not empty */ 6513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) 46 .loc 1 6513 3 is_stmt 1 view .LVU6 47 .loc 1 6513 7 is_stmt 0 view .LVU7 48 000e 0368 ldr r3, [r0] 49 0010 9A69 ldr r2, [r3, #24] 50 .loc 1 6513 6 view .LVU8 51 0012 12F0010F tst r2, #1 52 0016 03D1 bne .L1 6514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); 53 .loc 1 6515 5 is_stmt 1 view .LVU9 54 0018 9A69 ldr r2, [r3, #24] 55 001a 42F00102 orr r2, r2, #1 56 001e 9A61 str r2, [r3, #24] 57 .L1: 6516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 58 .loc 1 6517 1 is_stmt 0 view .LVU10 59 0020 7047 bx lr 60 .cfi_endproc 61 .LFE195: 63 .section .text.I2C_TransferConfig,"ax",%progbits 64 .align 1 65 .syntax unified 66 .thumb 67 .thumb_func 69 I2C_TransferConfig: 70 .LVL1: 71 .LFB207: 6518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback. 6521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma) 6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 6534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */ 6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 6537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */ 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 117 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 6546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 6552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 6557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); 6565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback. 6572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma) 6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 6580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) 6582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 6587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ 6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */ 6594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ 6595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback. 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 118 6602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma) 6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 6614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */ 6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 6617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ 6619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */ 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; 6623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */ 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 6626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 6632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 6637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); 6645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback. 6652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma) 6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 119 6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 6660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \ 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 6663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ 6673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */ 6674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ 6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication error callback. 6681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma) 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Acknowledge */ 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 6691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication abort callback 6699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure). 6700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle. 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma) 6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset AbortCpltCallback */ 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 6710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 6712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 6714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 120 6716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * until a flag is no longer in the specified status. 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check. 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET). 6729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart) 6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 6737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 6740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)) 6744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag. 6761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 6771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 121 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 6774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)) 6784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag. 6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 6809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 6812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 6815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 6821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)) 6823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 122 6830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag. 6840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 6847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) 6850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 6853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */ 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) 6859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an RXNE is pending */ 6861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U)) 6863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return HAL_OK */ 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */ 6866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 6867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) 6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 6874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 123 6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)) 6900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 6912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication. 6916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti 6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart; 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1; 6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2; 6930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF)) 6932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACKF Flag */ 6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */ 6937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */ 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK)) 6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 6942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 124 6944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP); 6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 6947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */ 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \ 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 6951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE)) 6952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 6955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Tick with new reference */ 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 6958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 6961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF) 6964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_TIMEOUT; 6966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 6968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 6970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */ 6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status == HAL_OK) 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF; 6984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 6986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Refresh Content of Status register */ 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** itflag = hi2c->Instance->ISR; 6990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Then verify if an additional errors occurs */ 6992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a Bus error occurred */ 6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR)) 6994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR; 6996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */ 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 125 7001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */ 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR)) 7005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR; 7007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */ 7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */ 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO)) 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO; 7018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */ 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 7021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status != HAL_OK) 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 7029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 7032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= error_code; 7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar 7046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 7047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed. 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed. 7049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter must be a value between 0 and 255. 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation. 7051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode . 7053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode. 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode. 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation. 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 7057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition. ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 126 7058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0). 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request. 7060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request. 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t 7064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 7065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 72 .loc 1 7065 1 is_stmt 1 view -0 73 .cfi_startproc 74 @ args = 4, pretend = 0, frame = 0 75 @ frame_needed = 0, uses_anonymous_args = 0 76 @ link register save eliminated. 77 .loc 1 7065 1 is_stmt 0 view .LVU12 78 0000 10B4 push {r4} 79 .cfi_def_cfa_offset 4 80 .cfi_offset 4, -4 81 0002 019C ldr r4, [sp, #4] 7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 82 .loc 1 7067 3 is_stmt 1 view .LVU13 7068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 83 .loc 1 7068 3 view .LVU14 7069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 84 .loc 1 7069 3 view .LVU15 7070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 85 .loc 1 7072 3 view .LVU16 86 .loc 1 7072 52 is_stmt 0 view .LVU17 87 0004 C1F30901 ubfx r1, r1, #0, #10 88 .LVL2: 89 .loc 1 7072 68 view .LVU18 90 0008 41EA0241 orr r1, r1, r2, lsl #16 7073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 91 .loc 1 7073 88 view .LVU19 92 000c 1943 orrs r1, r1, r3 7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 93 .loc 1 7072 19 view .LVU20 94 000e 2143 orrs r1, r1, r4 7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 95 .loc 1 7072 12 view .LVU21 96 0010 21F00041 bic r1, r1, #-2147483648 97 .LVL3: 7074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); 7075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* update CR2 register */ 7077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \ 98 .loc 1 7077 3 is_stmt 1 view .LVU22 99 0014 0268 ldr r2, [r0] 100 .LVL4: 101 .loc 1 7077 3 is_stmt 0 view .LVU23 102 0016 5368 ldr r3, [r2, #4] 103 .LVL5: 104 .loc 1 7077 3 view .LVU24 105 0018 640D lsrs r4, r4, #21 106 001a 04F48064 and r4, r4, #1024 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 127 107 001e 44F07F74 orr r4, r4, #66846720 108 0022 44F45834 orr r4, r4, #221184 109 0026 44F47F74 orr r4, r4, #1020 110 002a 44F00304 orr r4, r4, #3 111 002e 23EA0403 bic r3, r3, r4 112 0032 0B43 orrs r3, r3, r1 113 0034 5360 str r3, [r2, #4] 7078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \ 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp); 7081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 114 .loc 1 7081 1 view .LVU25 115 0036 5DF8044B ldr r4, [sp], #4 116 .cfi_restore 4 117 .cfi_def_cfa_offset 0 118 .LVL6: 119 .loc 1 7081 1 view .LVU26 120 003a 7047 bx lr 121 .cfi_endproc 122 .LFE207: 124 .section .text.I2C_Enable_IRQ,"ax",%progbits 125 .align 1 126 .syntax unified 127 .thumb 128 .thumb_func 130 I2C_Enable_IRQ: 131 .LVL7: 132 .LFB208: 7082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts. 7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. 7088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 133 .loc 1 7091 1 is_stmt 1 view -0 134 .cfi_startproc 135 @ args = 0, pretend = 0, frame = 0 136 @ frame_needed = 0, uses_anonymous_args = 0 137 @ link register save eliminated. 7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U; 138 .loc 1 7092 3 view .LVU28 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \ 139 .loc 1 7094 3 view .LVU29 140 .loc 1 7094 12 is_stmt 0 view .LVU30 141 0000 426B ldr r2, [r0, #52] 142 .loc 1 7094 6 view .LVU31 143 0002 294B ldr r3, .L28 144 0004 9A42 cmp r2, r3 145 0006 24D0 beq .L7 146 .loc 1 7094 45 discriminator 1 view .LVU32 147 0008 284B ldr r3, .L28+4 148 000a 9A42 cmp r2, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 128 149 000c 21D0 beq .L7 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 150 .loc 1 7095 44 view .LVU33 151 000e 284B ldr r3, .L28+8 152 0010 9A42 cmp r2, r3 153 0012 1ED0 beq .L7 7096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 7097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 154 .loc 1 7098 5 is_stmt 1 view .LVU34 155 .loc 1 7098 8 is_stmt 0 view .LVU35 156 0014 11F4004F tst r1, #32768 157 0018 13D1 bne .L18 7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 158 .loc 1 7092 12 view .LVU36 159 001a 0023 movs r3, #0 160 .L8: 161 .LVL8: 7099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */ 7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 162 .loc 1 7104 5 is_stmt 1 view .LVU37 163 .loc 1 7104 8 is_stmt 0 view .LVU38 164 001c 11F0010F tst r1, #1 165 0020 01D0 beq .L9 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ 7107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; 166 .loc 1 7107 7 is_stmt 1 view .LVU39 167 .loc 1 7107 14 is_stmt 0 view .LVU40 168 0022 43F0F203 orr r3, r3, #242 169 .LVL9: 170 .L9: 7108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 171 .loc 1 7110 5 is_stmt 1 view .LVU41 172 .loc 1 7110 8 is_stmt 0 view .LVU42 173 0026 11F0020F tst r1, #2 174 002a 01D0 beq .L10 7111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */ 7113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; 175 .loc 1 7113 7 is_stmt 1 view .LVU43 176 .loc 1 7113 14 is_stmt 0 view .LVU44 177 002c 43F0F403 orr r3, r3, #244 178 .LVL10: 179 .L10: 7114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 180 .loc 1 7116 5 is_stmt 1 view .LVU45 181 .loc 1 7116 8 is_stmt 0 view .LVU46 182 0030 1029 cmp r1, #16 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 129 183 0032 08D0 beq .L23 184 .L11: 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 185 .loc 1 7122 5 is_stmt 1 view .LVU47 186 .loc 1 7122 8 is_stmt 0 view .LVU48 187 0034 2029 cmp r1, #32 188 0036 09D0 beq .L24 189 .L21: 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; 7126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 7130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 7132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */ 7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 7138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ 7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI; 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */ 7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI; 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI); 7159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Mem_ISR_DMA) && (InterruptRequest == I2C_XFER_RELOAD_IT)) 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; 7165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 130 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable interrupts only at the end */ 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */ 7170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all interrupts requested done */ 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr); 190 .loc 1 7171 3 is_stmt 1 view .LVU49 191 0038 0168 ldr r1, [r0] 192 .LVL11: 193 .loc 1 7171 3 is_stmt 0 view .LVU50 194 003a 0A68 ldr r2, [r1] 195 003c 1343 orrs r3, r3, r2 196 .LVL12: 197 .loc 1 7171 3 view .LVU51 198 003e 0B60 str r3, [r1] 199 0040 7047 bx lr 200 .LVL13: 201 .L18: 7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 202 .loc 1 7101 14 view .LVU52 203 0042 B823 movs r3, #184 204 0044 EAE7 b .L8 205 .LVL14: 206 .L23: 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 207 .loc 1 7119 7 is_stmt 1 view .LVU53 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 208 .loc 1 7119 14 is_stmt 0 view .LVU54 209 0046 43F09003 orr r3, r3, #144 210 .LVL15: 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 211 .loc 1 7119 14 view .LVU55 212 004a F3E7 b .L11 213 .L24: 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 214 .loc 1 7125 7 is_stmt 1 view .LVU56 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 215 .loc 1 7125 14 is_stmt 0 view .LVU57 216 004c 43F02003 orr r3, r3, #32 217 .LVL16: 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 218 .loc 1 7125 14 view .LVU58 219 0050 F2E7 b .L21 220 .LVL17: 221 .L7: 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U; 222 .loc 1 7091 1 view .LVU59 223 0052 10B4 push {r4} 224 .cfi_def_cfa_offset 4 225 .cfi_offset 4, -4 7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 226 .loc 1 7131 5 is_stmt 1 view .LVU60 7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 227 .loc 1 7131 8 is_stmt 0 view .LVU61 228 0054 11F4004F tst r1, #32768 229 0058 1AD1 bne .L19 7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 230 .loc 1 7092 12 view .LVU62 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 131 231 005a 0023 movs r3, #0 232 .L13: 233 .LVL18: 7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 234 .loc 1 7137 5 is_stmt 1 view .LVU63 7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 235 .loc 1 7137 8 is_stmt 0 view .LVU64 236 005c 11F0010F tst r1, #1 237 0060 01D0 beq .L14 7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 238 .loc 1 7140 7 is_stmt 1 view .LVU65 7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 239 .loc 1 7140 14 is_stmt 0 view .LVU66 240 0062 43F0F203 orr r3, r3, #242 241 .LVL19: 242 .L14: 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 243 .loc 1 7143 5 is_stmt 1 view .LVU67 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 244 .loc 1 7143 8 is_stmt 0 view .LVU68 245 0066 11F0020F tst r1, #2 246 006a 01D0 beq .L15 7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 247 .loc 1 7146 7 is_stmt 1 view .LVU69 7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 248 .loc 1 7146 14 is_stmt 0 view .LVU70 249 006c 43F0F403 orr r3, r3, #244 250 .LVL20: 251 .L15: 7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 252 .loc 1 7149 5 is_stmt 1 view .LVU71 7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 253 .loc 1 7149 8 is_stmt 0 view .LVU72 254 0070 1029 cmp r1, #16 255 0072 0FD0 beq .L25 256 .L16: 7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 257 .loc 1 7155 5 is_stmt 1 view .LVU73 7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 258 .loc 1 7155 8 is_stmt 0 view .LVU74 259 0074 2029 cmp r1, #32 260 0076 10D0 beq .L26 261 .L17: 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 262 .loc 1 7161 5 is_stmt 1 view .LVU75 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 263 .loc 1 7161 8 is_stmt 0 view .LVU76 264 0078 0D4C ldr r4, .L28+8 265 007a A242 cmp r2, r4 266 007c 01D0 beq .L12 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 267 .loc 1 7161 44 discriminator 1 view .LVU77 268 007e 4029 cmp r1, #64 269 0080 0ED0 beq .L27 270 .L12: 271 .loc 1 7171 3 is_stmt 1 view .LVU78 272 0082 0168 ldr r1, [r0] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 132 273 .LVL21: 274 .loc 1 7171 3 is_stmt 0 view .LVU79 275 0084 0A68 ldr r2, [r1] 276 0086 1343 orrs r3, r3, r2 277 .LVL22: 278 .loc 1 7171 3 view .LVU80 279 0088 0B60 str r3, [r1] 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 280 .loc 1 7172 1 view .LVU81 281 008a 5DF8044B ldr r4, [sp], #4 282 .cfi_remember_state 283 .cfi_restore 4 284 .cfi_def_cfa_offset 0 285 008e 7047 bx lr 286 .LVL23: 287 .L19: 288 .cfi_restore_state 7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 289 .loc 1 7134 14 view .LVU82 290 0090 B823 movs r3, #184 291 0092 E3E7 b .L13 292 .LVL24: 293 .L25: 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 294 .loc 1 7152 7 is_stmt 1 view .LVU83 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 295 .loc 1 7152 14 is_stmt 0 view .LVU84 296 0094 43F09003 orr r3, r3, #144 297 .LVL25: 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 298 .loc 1 7152 14 view .LVU85 299 0098 ECE7 b .L16 300 .L26: 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 301 .loc 1 7158 7 is_stmt 1 view .LVU86 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 302 .loc 1 7158 14 is_stmt 0 view .LVU87 303 009a 43F06003 orr r3, r3, #96 304 .LVL26: 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 305 .loc 1 7158 14 view .LVU88 306 009e EBE7 b .L17 307 .L27: 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 308 .loc 1 7164 7 is_stmt 1 view .LVU89 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 309 .loc 1 7164 14 is_stmt 0 view .LVU90 310 00a0 43F04003 orr r3, r3, #64 311 .LVL27: 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 312 .loc 1 7164 14 view .LVU91 313 00a4 EDE7 b .L12 314 .L29: 315 00a6 00BF .align 2 316 .L28: 317 00a8 00000000 .word I2C_Master_ISR_DMA 318 00ac 00000000 .word I2C_Slave_ISR_DMA ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 133 319 00b0 00000000 .word I2C_Mem_ISR_DMA 320 .cfi_endproc 321 .LFE208: 323 .section .text.I2C_Disable_IRQ,"ax",%progbits 324 .align 1 325 .syntax unified 326 .thumb 327 .thumb_func 329 I2C_Disable_IRQ: 330 .LVL28: 331 .LFB209: 7173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts. 7176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. 7179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 332 .loc 1 7182 1 is_stmt 1 view -0 333 .cfi_startproc 334 @ args = 0, pretend = 0, frame = 0 335 @ frame_needed = 0, uses_anonymous_args = 0 336 @ link register save eliminated. 7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U; 337 .loc 1 7183 3 view .LVU93 7184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 338 .loc 1 7185 3 view .LVU94 339 .loc 1 7185 6 is_stmt 0 view .LVU95 340 0000 11F0010F tst r1, #1 341 0004 09D0 beq .L37 7186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and TXI interrupts */ 7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI; 342 .loc 1 7188 5 is_stmt 1 view .LVU96 343 .LVL29: 7189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) 344 .loc 1 7190 5 view .LVU97 345 .loc 1 7190 24 is_stmt 0 view .LVU98 346 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 347 .loc 1 7190 8 view .LVU99 348 000a 03F02803 and r3, r3, #40 349 000e 282B cmp r3, #40 350 0010 01D0 beq .L40 7191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 351 .loc 1 7193 14 view .LVU100 352 0012 F223 movs r3, #242 353 0014 02E0 b .L31 354 .L40: 7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 355 .loc 1 7188 12 view .LVU101 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 134 356 0016 4223 movs r3, #66 357 0018 00E0 b .L31 358 .LVL30: 359 .L37: 7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 360 .loc 1 7183 12 view .LVU102 361 001a 0023 movs r3, #0 362 .LVL31: 363 .L31: 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 364 .loc 1 7197 3 is_stmt 1 view .LVU103 365 .loc 1 7197 6 is_stmt 0 view .LVU104 366 001c 11F0020F tst r1, #2 367 0020 09D0 beq .L32 7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and RXI interrupts */ 7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI; 368 .loc 1 7200 5 is_stmt 1 view .LVU105 369 .loc 1 7200 12 is_stmt 0 view .LVU106 370 0022 43F0440C orr ip, r3, #68 371 .LVL32: 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN) 372 .loc 1 7202 5 is_stmt 1 view .LVU107 373 .loc 1 7202 24 is_stmt 0 view .LVU108 374 0026 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 375 .loc 1 7202 8 view .LVU109 376 002a 02F02802 and r2, r2, #40 377 002e 282A cmp r2, #40 378 0030 10D0 beq .L39 7203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ 7205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 379 .loc 1 7205 7 is_stmt 1 view .LVU110 380 .loc 1 7205 14 is_stmt 0 view .LVU111 381 0032 43F0F403 orr r3, r3, #244 382 .LVL33: 383 .L32: 7206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 384 .loc 1 7209 3 is_stmt 1 view .LVU112 385 .loc 1 7209 6 is_stmt 0 view .LVU113 386 0036 11F4004F tst r1, #32768 387 003a 0DD1 bne .L41 388 .L33: 7210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */ 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 389 .loc 1 7215 3 is_stmt 1 view .LVU114 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 135 390 .loc 1 7215 6 is_stmt 0 view .LVU115 391 003c 1029 cmp r1, #16 392 003e 0ED0 beq .L42 393 .L34: 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 394 .loc 1 7221 3 is_stmt 1 view .LVU116 395 .loc 1 7221 6 is_stmt 0 view .LVU117 396 0040 2029 cmp r1, #32 397 0042 0FD0 beq .L43 398 .L35: 7222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; 7225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT) 399 .loc 1 7227 3 is_stmt 1 view .LVU118 400 .loc 1 7227 6 is_stmt 0 view .LVU119 401 0044 4029 cmp r1, #64 402 0046 10D0 beq .L44 403 .L36: 7228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; 7231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable interrupts only at the end */ 7234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */ 7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all disable interrupts request are not done */ 7236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr); 404 .loc 1 7236 3 is_stmt 1 view .LVU120 405 0048 0168 ldr r1, [r0] 406 .LVL34: 407 .loc 1 7236 3 is_stmt 0 view .LVU121 408 004a 0A68 ldr r2, [r1] 409 004c 22EA0303 bic r3, r2, r3 410 .LVL35: 411 .loc 1 7236 3 view .LVU122 412 0050 0B60 str r3, [r1] 7237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 413 .loc 1 7237 1 view .LVU123 414 0052 7047 bx lr 415 .LVL36: 416 .L39: 7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 417 .loc 1 7200 12 view .LVU124 418 0054 6346 mov r3, ip 419 0056 EEE7 b .L32 420 .LVL37: 421 .L41: 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 422 .loc 1 7212 5 is_stmt 1 view .LVU125 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 136 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 423 .loc 1 7212 12 is_stmt 0 view .LVU126 424 0058 43F0B803 orr r3, r3, #184 425 .LVL38: 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 426 .loc 1 7212 12 view .LVU127 427 005c EEE7 b .L33 428 .L42: 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 429 .loc 1 7218 5 is_stmt 1 view .LVU128 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 430 .loc 1 7218 12 is_stmt 0 view .LVU129 431 005e 43F09003 orr r3, r3, #144 432 .LVL39: 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 433 .loc 1 7218 12 view .LVU130 434 0062 EDE7 b .L34 435 .L43: 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 436 .loc 1 7224 5 is_stmt 1 view .LVU131 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 437 .loc 1 7224 12 is_stmt 0 view .LVU132 438 0064 43F02003 orr r3, r3, #32 439 .LVL40: 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 440 .loc 1 7224 12 view .LVU133 441 0068 ECE7 b .L35 442 .L44: 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 443 .loc 1 7230 5 is_stmt 1 view .LVU134 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 444 .loc 1 7230 12 is_stmt 0 view .LVU135 445 006a 43F04003 orr r3, r3, #64 446 .LVL41: 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 447 .loc 1 7230 12 view .LVU136 448 006e EBE7 b .L36 449 .cfi_endproc 450 .LFE209: 452 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits 453 .align 1 454 .syntax unified 455 .thumb 456 .thumb_func 458 I2C_ConvertOtherXferOptions: 459 .LVL42: 460 .LFB210: 7238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions. 7241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 7242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c) 7245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 461 .loc 1 7245 1 is_stmt 1 view -0 462 .cfi_startproc ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 137 463 @ args = 0, pretend = 0, frame = 0 464 @ frame_needed = 0, uses_anonymous_args = 0 465 @ link register save eliminated. 7246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */ 7247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ 7248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */ 7249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME) 466 .loc 1 7249 3 view .LVU138 467 .loc 1 7249 11 is_stmt 0 view .LVU139 468 0000 C36A ldr r3, [r0, #44] 469 .loc 1 7249 6 view .LVU140 470 0002 AA2B cmp r3, #170 471 0004 04D0 beq .L48 7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME; 7252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */ 7254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */ 7256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */ 7257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME) 472 .loc 1 7257 8 is_stmt 1 view .LVU141 473 .loc 1 7257 16 is_stmt 0 view .LVU142 474 0006 C36A ldr r3, [r0, #44] 475 .loc 1 7257 11 view .LVU143 476 0008 B3F52A4F cmp r3, #43520 477 000c 03D0 beq .L49 478 .L45: 7258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME; 7260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 7262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 479 .loc 1 7265 1 view .LVU144 480 000e 7047 bx lr 481 .L48: 7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 482 .loc 1 7251 5 is_stmt 1 view .LVU145 7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 483 .loc 1 7251 23 is_stmt 0 view .LVU146 484 0010 0023 movs r3, #0 485 0012 C362 str r3, [r0, #44] 486 0014 7047 bx lr 487 .L49: 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 488 .loc 1 7259 5 is_stmt 1 view .LVU147 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 489 .loc 1 7259 23 is_stmt 0 view .LVU148 490 0016 4FF00073 mov r3, #33554432 491 001a C362 str r3, [r0, #44] 7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 492 .loc 1 7264 3 is_stmt 1 view .LVU149 493 .loc 1 7265 1 is_stmt 0 view .LVU150 494 001c F7E7 b .L45 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 138 495 .cfi_endproc 496 .LFE210: 498 .section .text.I2C_IsErrorOccurred,"ax",%progbits 499 .align 1 500 .syntax unified 501 .thumb 502 .thumb_func 504 I2C_IsErrorOccurred: 505 .LVL43: 506 .LFB206: 6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 507 .loc 1 6923 1 is_stmt 1 view -0 508 .cfi_startproc 509 @ args = 0, pretend = 0, frame = 0 510 @ frame_needed = 0, uses_anonymous_args = 0 6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 511 .loc 1 6923 1 is_stmt 0 view .LVU152 512 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 513 .cfi_def_cfa_offset 24 514 .cfi_offset 4, -24 515 .cfi_offset 5, -20 516 .cfi_offset 6, -16 517 .cfi_offset 7, -12 518 .cfi_offset 8, -8 519 .cfi_offset 14, -4 520 0004 0446 mov r4, r0 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 521 .loc 1 6924 3 is_stmt 1 view .LVU153 522 .LVL44: 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 523 .loc 1 6925 3 view .LVU154 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 524 .loc 1 6925 27 is_stmt 0 view .LVU155 525 0006 0368 ldr r3, [r0] 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 526 .loc 1 6925 12 view .LVU156 527 0008 9E69 ldr r6, [r3, #24] 528 .LVL45: 6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart; 529 .loc 1 6926 3 is_stmt 1 view .LVU157 6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1; 530 .loc 1 6927 3 view .LVU158 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2; 531 .loc 1 6928 3 view .LVU159 6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 532 .loc 1 6929 3 view .LVU160 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 533 .loc 1 6931 3 view .LVU161 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 534 .loc 1 6931 6 is_stmt 0 view .LVU162 535 000a 16F01006 ands r6, r6, #16 536 .LVL46: 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 537 .loc 1 6931 6 view .LVU163 538 000e 7CD0 beq .L67 539 0010 0D46 mov r5, r1 540 0012 9046 mov r8, r2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 139 6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 541 .loc 1 6934 5 is_stmt 1 view .LVU164 542 0014 1022 movs r2, #16 543 .LVL47: 6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 544 .loc 1 6934 5 is_stmt 0 view .LVU165 545 0016 DA61 str r2, [r3, #28] 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 546 .loc 1 6938 5 is_stmt 1 view .LVU166 6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart; 547 .loc 1 6926 12 is_stmt 0 view .LVU167 548 0018 0026 movs r6, #0 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 549 .loc 1 6924 21 view .LVU168 550 001a 3746 mov r7, r6 551 .LVL48: 552 .L53: 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 553 .loc 1 6938 64 is_stmt 1 view .LVU169 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 554 .loc 1 6938 13 is_stmt 0 view .LVU170 555 001c 2368 ldr r3, [r4] 556 001e 9869 ldr r0, [r3, #24] 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 557 .loc 1 6938 64 view .LVU171 558 0020 10F0200F tst r0, #32 559 0024 30D1 bne .L59 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 560 .loc 1 6938 64 discriminator 1 view .LVU172 561 0026 7FBB cbnz r7, .L59 6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 562 .loc 1 6941 7 is_stmt 1 view .LVU173 6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 563 .loc 1 6941 10 is_stmt 0 view .LVU174 564 0028 B5F1FF3F cmp r5, #-1 565 002c F6D0 beq .L53 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 566 .loc 1 6943 9 is_stmt 1 view .LVU175 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 567 .loc 1 6943 15 is_stmt 0 view .LVU176 568 002e FFF7FEFF bl HAL_GetTick 569 .LVL49: 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 570 .loc 1 6943 29 view .LVU177 571 0032 A0EB0800 sub r0, r0, r8 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 572 .loc 1 6943 12 view .LVU178 573 0036 A842 cmp r0, r5 574 0038 01D8 bhi .L54 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 575 .loc 1 6943 53 discriminator 1 view .LVU179 576 003a 002D cmp r5, #0 577 003c EED1 bne .L53 578 .L54: 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 579 .loc 1 6945 11 is_stmt 1 view .LVU180 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 140 580 .loc 1 6945 33 is_stmt 0 view .LVU181 581 003e 2168 ldr r1, [r4] 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 582 .loc 1 6945 43 view .LVU182 583 0040 4B68 ldr r3, [r1, #4] 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 584 .loc 1 6945 16 view .LVU183 585 0042 03F48043 and r3, r3, #16384 586 .LVL50: 6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 587 .loc 1 6946 11 is_stmt 1 view .LVU184 6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 588 .loc 1 6946 16 is_stmt 0 view .LVU185 589 0046 94F84220 ldrb r2, [r4, #66] @ zero_extendqisi2 590 004a D2B2 uxtb r2, r2 591 .LVL51: 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 592 .loc 1 6949 11 is_stmt 1 view .LVU186 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 593 .loc 1 6949 16 is_stmt 0 view .LVU187 594 004c 8869 ldr r0, [r1, #24] 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 595 .loc 1 6949 14 view .LVU188 596 004e 10F4004F tst r0, #32768 597 0052 02D0 beq .L57 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 598 .loc 1 6949 66 discriminator 1 view .LVU189 599 0054 0BB9 cbnz r3, .L57 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE)) 600 .loc 1 6950 38 view .LVU190 601 0056 202A cmp r2, #32 602 0058 0ED1 bne .L69 603 .LVL52: 604 .L57: 6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 605 .loc 1 6960 59 is_stmt 1 view .LVU191 6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 606 .loc 1 6960 18 is_stmt 0 view .LVU192 607 005a 2368 ldr r3, [r4] 608 005c 9B69 ldr r3, [r3, #24] 6960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 609 .loc 1 6960 59 view .LVU193 610 005e 13F0200F tst r3, #32 611 0062 DBD1 bne .L53 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 612 .loc 1 6963 13 is_stmt 1 view .LVU194 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 613 .loc 1 6963 18 is_stmt 0 view .LVU195 614 0064 FFF7FEFF bl HAL_GetTick 615 .LVL53: 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 616 .loc 1 6963 32 view .LVU196 617 0068 A0EB0800 sub r0, r0, r8 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 618 .loc 1 6963 16 view .LVU197 619 006c 1928 cmp r0, #25 620 006e F4D9 bls .L57 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 141 6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 621 .loc 1 6965 15 is_stmt 1 view .LVU198 6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 622 .loc 1 6965 26 is_stmt 0 view .LVU199 623 0070 46F02006 orr r6, r6, #32 624 .LVL54: 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 625 .loc 1 6967 15 is_stmt 1 view .LVU200 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 626 .loc 1 6969 15 view .LVU201 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 627 .loc 1 6967 22 is_stmt 0 view .LVU202 628 0074 0127 movs r7, #1 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 629 .loc 1 6969 15 view .LVU203 630 0076 D1E7 b .L53 631 .LVL55: 632 .L69: 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 633 .loc 1 6954 13 is_stmt 1 view .LVU204 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 634 .loc 1 6954 27 is_stmt 0 view .LVU205 635 0078 4B68 ldr r3, [r1, #4] 636 .LVL56: 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 637 .loc 1 6954 33 view .LVU206 638 007a 43F48043 orr r3, r3, #16384 639 007e 4B60 str r3, [r1, #4] 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 640 .loc 1 6957 13 is_stmt 1 view .LVU207 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 641 .loc 1 6957 25 is_stmt 0 view .LVU208 642 0080 FFF7FEFF bl HAL_GetTick 643 .LVL57: 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 644 .loc 1 6957 25 view .LVU209 645 0084 8046 mov r8, r0 646 .LVL58: 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 647 .loc 1 6957 25 view .LVU210 648 0086 E8E7 b .L57 649 .LVL59: 650 .L59: 6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 651 .loc 1 6977 5 is_stmt 1 view .LVU211 6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 652 .loc 1 6977 8 is_stmt 0 view .LVU212 653 0088 0FB9 cbnz r7, .L61 6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 654 .loc 1 6980 7 is_stmt 1 view .LVU213 655 008a 2022 movs r2, #32 656 008c DA61 str r2, [r3, #28] 657 .L61: 6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 658 .loc 1 6983 5 view .LVU214 6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 659 .loc 1 6983 16 is_stmt 0 view .LVU215 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 142 660 008e 46F00406 orr r6, r6, #4 661 .LVL60: 6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 662 .loc 1 6985 5 is_stmt 1 view .LVU216 6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 663 .loc 1 6985 12 is_stmt 0 view .LVU217 664 0092 0125 movs r5, #1 665 .LVL61: 666 .L51: 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 667 .loc 1 6989 3 is_stmt 1 view .LVU218 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 668 .loc 1 6989 16 is_stmt 0 view .LVU219 669 0094 2268 ldr r2, [r4] 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 670 .loc 1 6989 10 view .LVU220 671 0096 9369 ldr r3, [r2, #24] 672 .LVL62: 6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 673 .loc 1 6993 3 is_stmt 1 view .LVU221 6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 674 .loc 1 6993 6 is_stmt 0 view .LVU222 675 0098 13F4807F tst r3, #256 676 009c 05D0 beq .L62 6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 677 .loc 1 6995 5 is_stmt 1 view .LVU223 6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 678 .loc 1 6995 16 is_stmt 0 view .LVU224 679 009e 46F00106 orr r6, r6, #1 680 .LVL63: 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 681 .loc 1 6998 5 is_stmt 1 view .LVU225 682 00a2 4FF48071 mov r1, #256 683 00a6 D161 str r1, [r2, #28] 7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 684 .loc 1 7000 5 view .LVU226 685 .LVL64: 7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 686 .loc 1 7000 12 is_stmt 0 view .LVU227 687 00a8 0125 movs r5, #1 688 .LVL65: 689 .L62: 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 690 .loc 1 7004 3 is_stmt 1 view .LVU228 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 691 .loc 1 7004 6 is_stmt 0 view .LVU229 692 00aa 13F4806F tst r3, #1024 693 00ae 06D0 beq .L63 7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 694 .loc 1 7006 5 is_stmt 1 view .LVU230 7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 695 .loc 1 7006 16 is_stmt 0 view .LVU231 696 00b0 46F00806 orr r6, r6, #8 697 .LVL66: 7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 698 .loc 1 7009 5 is_stmt 1 view .LVU232 699 00b4 2268 ldr r2, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 143 700 00b6 4FF48061 mov r1, #1024 701 00ba D161 str r1, [r2, #28] 7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 702 .loc 1 7011 5 view .LVU233 703 .LVL67: 7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 704 .loc 1 7011 12 is_stmt 0 view .LVU234 705 00bc 0125 movs r5, #1 706 .LVL68: 707 .L63: 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 708 .loc 1 7015 3 is_stmt 1 view .LVU235 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 709 .loc 1 7015 6 is_stmt 0 view .LVU236 710 00be 13F4007F tst r3, #512 711 00c2 24D0 beq .L64 7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 712 .loc 1 7017 5 is_stmt 1 view .LVU237 7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 713 .loc 1 7017 16 is_stmt 0 view .LVU238 714 00c4 46F00206 orr r6, r6, #2 715 .LVL69: 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 716 .loc 1 7020 5 is_stmt 1 view .LVU239 717 00c8 2368 ldr r3, [r4] 718 .LVL70: 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 719 .loc 1 7020 5 is_stmt 0 view .LVU240 720 00ca 4FF40072 mov r2, #512 721 00ce DA61 str r2, [r3, #28] 7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 722 .loc 1 7022 5 is_stmt 1 view .LVU241 723 .LVL71: 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 724 .loc 1 7025 3 view .LVU242 7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 725 .loc 1 7022 12 is_stmt 0 view .LVU243 726 00d0 0125 movs r5, #1 727 .LVL72: 728 .L65: 7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 729 .loc 1 7028 5 is_stmt 1 view .LVU244 730 00d2 2046 mov r0, r4 731 00d4 FFF7FEFF bl I2C_Flush_TXDR 732 .LVL73: 7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 733 .loc 1 7031 5 view .LVU245 734 00d8 2268 ldr r2, [r4] 735 00da 5368 ldr r3, [r2, #4] 736 00dc 23F0FF73 bic r3, r3, #33423360 737 00e0 23F48B33 bic r3, r3, #71168 738 00e4 23F4FF73 bic r3, r3, #510 739 00e8 23F00103 bic r3, r3, #1 740 00ec 5360 str r3, [r2, #4] 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 741 .loc 1 7033 5 view .LVU246 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 144 742 .loc 1 7033 9 is_stmt 0 view .LVU247 743 00ee 636C ldr r3, [r4, #68] 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 744 .loc 1 7033 21 view .LVU248 745 00f0 3343 orrs r3, r3, r6 746 00f2 6364 str r3, [r4, #68] 7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 747 .loc 1 7034 5 is_stmt 1 view .LVU249 7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 748 .loc 1 7034 17 is_stmt 0 view .LVU250 749 00f4 2023 movs r3, #32 750 00f6 84F84130 strb r3, [r4, #65] 7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 751 .loc 1 7035 5 is_stmt 1 view .LVU251 7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 752 .loc 1 7035 16 is_stmt 0 view .LVU252 753 00fa 0023 movs r3, #0 754 00fc 84F84230 strb r3, [r4, #66] 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 755 .loc 1 7038 5 is_stmt 1 view .LVU253 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 756 .loc 1 7038 5 view .LVU254 757 0100 84F84030 strb r3, [r4, #64] 758 .L66: 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 759 .loc 1 7038 5 discriminator 1 view .LVU255 7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 760 .loc 1 7041 3 discriminator 1 view .LVU256 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 761 .loc 1 7042 1 is_stmt 0 discriminator 1 view .LVU257 762 0104 2846 mov r0, r5 763 0106 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 764 .LVL74: 765 .L67: 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 766 .loc 1 6924 21 view .LVU258 767 010a 0025 movs r5, #0 768 010c C2E7 b .L51 769 .LVL75: 770 .L64: 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 771 .loc 1 7025 3 is_stmt 1 view .LVU259 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 772 .loc 1 7025 6 is_stmt 0 view .LVU260 773 010e 002D cmp r5, #0 774 0110 F8D0 beq .L66 775 0112 DEE7 b .L65 776 .cfi_endproc 777 .LFE206: 779 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits 780 .align 1 781 .syntax unified 782 .thumb 783 .thumb_func 785 I2C_WaitOnTXISFlagUntilTimeout: 786 .LVL76: 787 .LFB203: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 145 6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 788 .loc 1 6769 1 is_stmt 1 view -0 789 .cfi_startproc 790 @ args = 0, pretend = 0, frame = 0 791 @ frame_needed = 0, uses_anonymous_args = 0 6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 792 .loc 1 6769 1 is_stmt 0 view .LVU262 793 0000 70B5 push {r4, r5, r6, lr} 794 .cfi_def_cfa_offset 16 795 .cfi_offset 4, -16 796 .cfi_offset 5, -12 797 .cfi_offset 6, -8 798 .cfi_offset 14, -4 799 0002 0446 mov r4, r0 800 0004 0D46 mov r5, r1 801 0006 1646 mov r6, r2 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 802 .loc 1 6770 3 is_stmt 1 view .LVU263 803 .LVL77: 804 .L73: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 805 .loc 1 6770 50 view .LVU264 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 806 .loc 1 6770 10 is_stmt 0 view .LVU265 807 0008 2368 ldr r3, [r4] 808 000a 9B69 ldr r3, [r3, #24] 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 809 .loc 1 6770 50 view .LVU266 810 000c 13F0020F tst r3, #2 811 0010 22D1 bne .L78 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 812 .loc 1 6773 5 is_stmt 1 view .LVU267 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 813 .loc 1 6773 9 is_stmt 0 view .LVU268 814 0012 3246 mov r2, r6 815 0014 2946 mov r1, r5 816 0016 2046 mov r0, r4 817 0018 FFF7FEFF bl I2C_IsErrorOccurred 818 .LVL78: 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 819 .loc 1 6773 8 view .LVU269 820 001c F0B9 cbnz r0, .L76 6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 821 .loc 1 6779 5 is_stmt 1 view .LVU270 6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 822 .loc 1 6779 8 is_stmt 0 view .LVU271 823 001e B5F1FF3F cmp r5, #-1 824 0022 F1D0 beq .L73 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 825 .loc 1 6781 7 is_stmt 1 view .LVU272 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 826 .loc 1 6781 13 is_stmt 0 view .LVU273 827 0024 FFF7FEFF bl HAL_GetTick 828 .LVL79: 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 829 .loc 1 6781 27 view .LVU274 830 0028 801B subs r0, r0, r6 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 146 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 831 .loc 1 6781 10 view .LVU275 832 002a A842 cmp r0, r5 833 002c 01D8 bhi .L74 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 834 .loc 1 6781 51 discriminator 1 view .LVU276 835 002e 002D cmp r5, #0 836 0030 EAD1 bne .L73 837 .L74: 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 838 .loc 1 6783 9 is_stmt 1 view .LVU277 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 839 .loc 1 6783 14 is_stmt 0 view .LVU278 840 0032 2368 ldr r3, [r4] 841 0034 9B69 ldr r3, [r3, #24] 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 842 .loc 1 6783 12 view .LVU279 843 0036 13F0020F tst r3, #2 844 003a E5D1 bne .L73 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 845 .loc 1 6785 11 is_stmt 1 view .LVU280 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 846 .loc 1 6785 15 is_stmt 0 view .LVU281 847 003c 636C ldr r3, [r4, #68] 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 848 .loc 1 6785 27 view .LVU282 849 003e 43F02003 orr r3, r3, #32 850 0042 6364 str r3, [r4, #68] 6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 851 .loc 1 6786 11 is_stmt 1 view .LVU283 6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 852 .loc 1 6786 23 is_stmt 0 view .LVU284 853 0044 2023 movs r3, #32 854 0046 84F84130 strb r3, [r4, #65] 6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 855 .loc 1 6787 11 is_stmt 1 view .LVU285 6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 856 .loc 1 6787 22 is_stmt 0 view .LVU286 857 004a 0023 movs r3, #0 858 004c 84F84230 strb r3, [r4, #66] 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 859 .loc 1 6790 11 is_stmt 1 view .LVU287 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 860 .loc 1 6790 11 view .LVU288 861 0050 84F84030 strb r3, [r4, #64] 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 862 .loc 1 6790 11 view .LVU289 6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 863 .loc 1 6792 11 view .LVU290 6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 864 .loc 1 6792 18 is_stmt 0 view .LVU291 865 0054 0120 movs r0, #1 866 0056 00E0 b .L72 867 .L78: 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 868 .loc 1 6797 10 view .LVU292 869 0058 0020 movs r0, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 147 870 .L72: 6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 871 .loc 1 6798 1 view .LVU293 872 005a 70BD pop {r4, r5, r6, pc} 873 .LVL80: 874 .L76: 6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 875 .loc 1 6775 14 view .LVU294 876 005c 0120 movs r0, #1 877 005e FCE7 b .L72 878 .cfi_endproc 879 .LFE203: 881 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits 882 .align 1 883 .syntax unified 884 .thumb 885 .thumb_func 887 I2C_WaitOnFlagUntilTimeout: 888 .LVL81: 889 .LFB202: 6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 890 .loc 1 6735 1 is_stmt 1 view -0 891 .cfi_startproc 892 @ args = 4, pretend = 0, frame = 0 893 @ frame_needed = 0, uses_anonymous_args = 0 6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 894 .loc 1 6735 1 is_stmt 0 view .LVU296 895 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 896 .cfi_def_cfa_offset 24 897 .cfi_offset 4, -24 898 .cfi_offset 5, -20 899 .cfi_offset 6, -16 900 .cfi_offset 7, -12 901 .cfi_offset 8, -8 902 .cfi_offset 14, -4 903 0004 0546 mov r5, r0 904 0006 0F46 mov r7, r1 905 0008 1646 mov r6, r2 906 000a 9846 mov r8, r3 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 907 .loc 1 6736 3 is_stmt 1 view .LVU297 908 .LVL82: 909 .L81: 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 910 .loc 1 6736 41 view .LVU298 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 911 .loc 1 6736 10 is_stmt 0 view .LVU299 912 000c 2C68 ldr r4, [r5] 913 000e A469 ldr r4, [r4, #24] 914 0010 37EA0404 bics r4, r7, r4 915 0014 0CBF ite eq 916 0016 0124 moveq r4, #1 917 0018 0024 movne r4, #0 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 918 .loc 1 6736 41 view .LVU300 919 001a B442 cmp r4, r6 920 001c 22D1 bne .L86 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 148 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 921 .loc 1 6739 5 is_stmt 1 view .LVU301 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 922 .loc 1 6739 8 is_stmt 0 view .LVU302 923 001e B8F1FF3F cmp r8, #-1 924 0022 F3D0 beq .L81 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 925 .loc 1 6741 7 is_stmt 1 view .LVU303 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 926 .loc 1 6741 13 is_stmt 0 view .LVU304 927 0024 FFF7FEFF bl HAL_GetTick 928 .LVL83: 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 929 .loc 1 6741 27 view .LVU305 930 0028 069B ldr r3, [sp, #24] 931 002a C01A subs r0, r0, r3 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 932 .loc 1 6741 10 view .LVU306 933 002c 4045 cmp r0, r8 934 002e 02D8 bhi .L82 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 935 .loc 1 6741 51 discriminator 1 view .LVU307 936 0030 B8F1000F cmp r8, #0 937 0034 EAD1 bne .L81 938 .L82: 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 939 .loc 1 6743 9 is_stmt 1 view .LVU308 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 940 .loc 1 6743 14 is_stmt 0 view .LVU309 941 0036 2B68 ldr r3, [r5] 942 0038 9B69 ldr r3, [r3, #24] 943 003a 37EA0303 bics r3, r7, r3 944 003e 0CBF ite eq 945 0040 0123 moveq r3, #1 946 0042 0023 movne r3, #0 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 947 .loc 1 6743 12 view .LVU310 948 0044 B342 cmp r3, r6 949 0046 E1D1 bne .L81 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 950 .loc 1 6745 11 is_stmt 1 view .LVU311 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 951 .loc 1 6745 15 is_stmt 0 view .LVU312 952 0048 6B6C ldr r3, [r5, #68] 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 953 .loc 1 6745 27 view .LVU313 954 004a 43F02003 orr r3, r3, #32 955 004e 6B64 str r3, [r5, #68] 6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 956 .loc 1 6746 11 is_stmt 1 view .LVU314 6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 957 .loc 1 6746 23 is_stmt 0 view .LVU315 958 0050 2023 movs r3, #32 959 0052 85F84130 strb r3, [r5, #65] 6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 960 .loc 1 6747 11 is_stmt 1 view .LVU316 6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 149 961 .loc 1 6747 22 is_stmt 0 view .LVU317 962 0056 0023 movs r3, #0 963 0058 85F84230 strb r3, [r5, #66] 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 964 .loc 1 6750 11 is_stmt 1 view .LVU318 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 965 .loc 1 6750 11 view .LVU319 966 005c 85F84030 strb r3, [r5, #64] 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 967 .loc 1 6750 11 view .LVU320 6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 968 .loc 1 6751 11 view .LVU321 6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 969 .loc 1 6751 18 is_stmt 0 view .LVU322 970 0060 0120 movs r0, #1 971 0062 00E0 b .L83 972 .L86: 6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 973 .loc 1 6756 10 view .LVU323 974 0064 0020 movs r0, #0 975 .L83: 6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 976 .loc 1 6757 1 view .LVU324 977 0066 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 978 .loc 1 6757 1 view .LVU325 979 .cfi_endproc 980 .LFE202: 982 .section .text.I2C_RequestMemoryWrite,"ax",%progbits 983 .align 1 984 .syntax unified 985 .thumb 986 .thumb_func 988 I2C_RequestMemoryWrite: 989 .LVL84: 990 .LFB185: 5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI 991 .loc 1 5658 1 is_stmt 1 view -0 992 .cfi_startproc 993 @ args = 8, pretend = 0, frame = 0 994 @ frame_needed = 0, uses_anonymous_args = 0 5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI 995 .loc 1 5658 1 is_stmt 0 view .LVU327 996 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 997 .cfi_def_cfa_offset 24 998 .cfi_offset 4, -24 999 .cfi_offset 5, -20 1000 .cfi_offset 6, -16 1001 .cfi_offset 7, -12 1002 .cfi_offset 8, -8 1003 .cfi_offset 14, -4 1004 0004 82B0 sub sp, sp, #8 1005 .cfi_def_cfa_offset 32 1006 0006 0446 mov r4, r0 1007 0008 9046 mov r8, r2 1008 000a 1D46 mov r5, r3 1009 000c 089E ldr r6, [sp, #32] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 150 1010 000e 099F ldr r7, [sp, #36] 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1011 .loc 1 5659 3 is_stmt 1 view .LVU328 1012 0010 194B ldr r3, .L96 1013 .LVL85: 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1014 .loc 1 5659 3 is_stmt 0 view .LVU329 1015 0012 0093 str r3, [sp] 1016 0014 4FF08073 mov r3, #16777216 1017 0018 EAB2 uxtb r2, r5 1018 .LVL86: 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1019 .loc 1 5659 3 view .LVU330 1020 001a FFF7FEFF bl I2C_TransferConfig 1021 .LVL87: 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1022 .loc 1 5662 3 is_stmt 1 view .LVU331 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1023 .loc 1 5662 7 is_stmt 0 view .LVU332 1024 001e 3A46 mov r2, r7 1025 0020 3146 mov r1, r6 1026 0022 2046 mov r0, r4 1027 0024 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1028 .LVL88: 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1029 .loc 1 5662 6 view .LVU333 1030 0028 F8B9 cbnz r0, .L91 5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1031 .loc 1 5668 3 is_stmt 1 view .LVU334 5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1032 .loc 1 5668 6 is_stmt 0 view .LVU335 1033 002a 012D cmp r5, #1 1034 002c 0ED1 bne .L89 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1035 .loc 1 5671 5 is_stmt 1 view .LVU336 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1036 .loc 1 5671 9 is_stmt 0 view .LVU337 1037 002e 2368 ldr r3, [r4] 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1038 .loc 1 5671 28 view .LVU338 1039 0030 5FFA88F2 uxtb r2, r8 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1040 .loc 1 5671 26 view .LVU339 1041 0034 9A62 str r2, [r3, #40] 1042 .L90: 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1043 .loc 1 5690 3 is_stmt 1 view .LVU340 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1044 .loc 1 5690 7 is_stmt 0 view .LVU341 1045 0036 0097 str r7, [sp] 1046 0038 3346 mov r3, r6 1047 003a 0022 movs r2, #0 1048 003c 8021 movs r1, #128 1049 003e 2046 mov r0, r4 1050 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 1051 .LVL89: 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 151 1052 .loc 1 5690 6 view .LVU342 1053 0044 A8B9 cbnz r0, .L95 1054 .L88: 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1055 .loc 1 5696 1 view .LVU343 1056 0046 02B0 add sp, sp, #8 1057 .cfi_remember_state 1058 .cfi_def_cfa_offset 24 1059 @ sp needed 1060 0048 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1061 .LVL90: 1062 .L89: 1063 .cfi_restore_state 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1064 .loc 1 5677 5 is_stmt 1 view .LVU344 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1065 .loc 1 5677 9 is_stmt 0 view .LVU345 1066 004c 2368 ldr r3, [r4] 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1067 .loc 1 5677 28 view .LVU346 1068 004e 4FEA1822 lsr r2, r8, #8 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1069 .loc 1 5677 26 view .LVU347 1070 0052 9A62 str r2, [r3, #40] 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1071 .loc 1 5680 5 is_stmt 1 view .LVU348 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1072 .loc 1 5680 9 is_stmt 0 view .LVU349 1073 0054 3A46 mov r2, r7 1074 0056 3146 mov r1, r6 1075 0058 2046 mov r0, r4 1076 005a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1077 .LVL91: 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1078 .loc 1 5680 8 view .LVU350 1079 005e 30B9 cbnz r0, .L92 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1080 .loc 1 5686 5 is_stmt 1 view .LVU351 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1081 .loc 1 5686 9 is_stmt 0 view .LVU352 1082 0060 2368 ldr r3, [r4] 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1083 .loc 1 5686 28 view .LVU353 1084 0062 5FFA88F2 uxtb r2, r8 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1085 .loc 1 5686 26 view .LVU354 1086 0066 9A62 str r2, [r3, #40] 1087 0068 E5E7 b .L90 1088 .L91: 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1089 .loc 1 5664 12 view .LVU355 1090 006a 0120 movs r0, #1 1091 006c EBE7 b .L88 1092 .L92: 5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1093 .loc 1 5682 14 view .LVU356 1094 006e 0120 movs r0, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 152 1095 0070 E9E7 b .L88 1096 .L95: 5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1097 .loc 1 5692 12 view .LVU357 1098 0072 0120 movs r0, #1 1099 0074 E7E7 b .L88 1100 .L97: 1101 0076 00BF .align 2 1102 .L96: 1103 0078 00200080 .word -2147475456 1104 .cfi_endproc 1105 .LFE185: 1107 .section .text.I2C_RequestMemoryRead,"ax",%progbits 1108 .align 1 1109 .syntax unified 1110 .thumb 1111 .thumb_func 1113 I2C_RequestMemoryRead: 1114 .LVL92: 1115 .LFB186: 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR 1116 .loc 1 5713 1 is_stmt 1 view -0 1117 .cfi_startproc 1118 @ args = 8, pretend = 0, frame = 0 1119 @ frame_needed = 0, uses_anonymous_args = 0 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR 1120 .loc 1 5713 1 is_stmt 0 view .LVU359 1121 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1122 .cfi_def_cfa_offset 24 1123 .cfi_offset 4, -24 1124 .cfi_offset 5, -20 1125 .cfi_offset 6, -16 1126 .cfi_offset 7, -12 1127 .cfi_offset 8, -8 1128 .cfi_offset 14, -4 1129 0004 82B0 sub sp, sp, #8 1130 .cfi_def_cfa_offset 32 1131 0006 0446 mov r4, r0 1132 0008 9046 mov r8, r2 1133 000a 1D46 mov r5, r3 1134 000c 089E ldr r6, [sp, #32] 1135 000e 099F ldr r7, [sp, #36] 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1136 .loc 1 5714 3 is_stmt 1 view .LVU360 1137 0010 184B ldr r3, .L107 1138 .LVL93: 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1139 .loc 1 5714 3 is_stmt 0 view .LVU361 1140 0012 0093 str r3, [sp] 1141 0014 0023 movs r3, #0 1142 0016 EAB2 uxtb r2, r5 1143 .LVL94: 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1144 .loc 1 5714 3 view .LVU362 1145 0018 FFF7FEFF bl I2C_TransferConfig 1146 .LVL95: 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 153 1147 .loc 1 5717 3 is_stmt 1 view .LVU363 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1148 .loc 1 5717 7 is_stmt 0 view .LVU364 1149 001c 3A46 mov r2, r7 1150 001e 3146 mov r1, r6 1151 0020 2046 mov r0, r4 1152 0022 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1153 .LVL96: 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1154 .loc 1 5717 6 view .LVU365 1155 0026 F8B9 cbnz r0, .L102 5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1156 .loc 1 5723 3 is_stmt 1 view .LVU366 5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1157 .loc 1 5723 6 is_stmt 0 view .LVU367 1158 0028 012D cmp r5, #1 1159 002a 0ED1 bne .L100 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1160 .loc 1 5726 5 is_stmt 1 view .LVU368 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1161 .loc 1 5726 9 is_stmt 0 view .LVU369 1162 002c 2368 ldr r3, [r4] 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1163 .loc 1 5726 28 view .LVU370 1164 002e 5FFA88F2 uxtb r2, r8 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1165 .loc 1 5726 26 view .LVU371 1166 0032 9A62 str r2, [r3, #40] 1167 .L101: 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1168 .loc 1 5745 3 is_stmt 1 view .LVU372 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1169 .loc 1 5745 7 is_stmt 0 view .LVU373 1170 0034 0097 str r7, [sp] 1171 0036 3346 mov r3, r6 1172 0038 0022 movs r2, #0 1173 003a 4021 movs r1, #64 1174 003c 2046 mov r0, r4 1175 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 1176 .LVL97: 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1177 .loc 1 5745 6 view .LVU374 1178 0042 A8B9 cbnz r0, .L106 1179 .L99: 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1180 .loc 1 5751 1 view .LVU375 1181 0044 02B0 add sp, sp, #8 1182 .cfi_remember_state 1183 .cfi_def_cfa_offset 24 1184 @ sp needed 1185 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1186 .LVL98: 1187 .L100: 1188 .cfi_restore_state 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1189 .loc 1 5732 5 is_stmt 1 view .LVU376 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 154 1190 .loc 1 5732 9 is_stmt 0 view .LVU377 1191 004a 2368 ldr r3, [r4] 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1192 .loc 1 5732 28 view .LVU378 1193 004c 4FEA1822 lsr r2, r8, #8 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1194 .loc 1 5732 26 view .LVU379 1195 0050 9A62 str r2, [r3, #40] 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1196 .loc 1 5735 5 is_stmt 1 view .LVU380 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1197 .loc 1 5735 9 is_stmt 0 view .LVU381 1198 0052 3A46 mov r2, r7 1199 0054 3146 mov r1, r6 1200 0056 2046 mov r0, r4 1201 0058 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1202 .LVL99: 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1203 .loc 1 5735 8 view .LVU382 1204 005c 30B9 cbnz r0, .L103 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1205 .loc 1 5741 5 is_stmt 1 view .LVU383 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1206 .loc 1 5741 9 is_stmt 0 view .LVU384 1207 005e 2368 ldr r3, [r4] 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1208 .loc 1 5741 28 view .LVU385 1209 0060 5FFA88F2 uxtb r2, r8 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1210 .loc 1 5741 26 view .LVU386 1211 0064 9A62 str r2, [r3, #40] 1212 0066 E5E7 b .L101 1213 .L102: 5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1214 .loc 1 5719 12 view .LVU387 1215 0068 0120 movs r0, #1 1216 006a EBE7 b .L99 1217 .L103: 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1218 .loc 1 5737 14 view .LVU388 1219 006c 0120 movs r0, #1 1220 006e E9E7 b .L99 1221 .L106: 5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1222 .loc 1 5747 12 view .LVU389 1223 0070 0120 movs r0, #1 1224 0072 E7E7 b .L99 1225 .L108: 1226 .align 2 1227 .L107: 1228 0074 00200080 .word -2147475456 1229 .cfi_endproc 1230 .LFE186: 1232 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits 1233 .align 1 1234 .syntax unified 1235 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 155 1236 .thumb_func 1238 I2C_WaitOnSTOPFlagUntilTimeout: 1239 .LVL100: 1240 .LFB204: 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 1241 .loc 1 6810 1 is_stmt 1 view -0 1242 .cfi_startproc 1243 @ args = 0, pretend = 0, frame = 0 1244 @ frame_needed = 0, uses_anonymous_args = 0 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 1245 .loc 1 6810 1 is_stmt 0 view .LVU391 1246 0000 70B5 push {r4, r5, r6, lr} 1247 .cfi_def_cfa_offset 16 1248 .cfi_offset 4, -16 1249 .cfi_offset 5, -12 1250 .cfi_offset 6, -8 1251 .cfi_offset 14, -4 1252 0002 0446 mov r4, r0 1253 0004 0D46 mov r5, r1 1254 0006 1646 mov r6, r2 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1255 .loc 1 6811 3 is_stmt 1 view .LVU392 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1256 .loc 1 6811 9 is_stmt 0 view .LVU393 1257 0008 04E0 b .L110 1258 .LVL101: 1259 .L112: 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1260 .loc 1 6822 7 is_stmt 1 view .LVU394 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1261 .loc 1 6822 12 is_stmt 0 view .LVU395 1262 000a 2368 ldr r3, [r4] 1263 000c 9B69 ldr r3, [r3, #24] 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1264 .loc 1 6822 10 view .LVU396 1265 000e 13F0200F tst r3, #32 1266 0012 12D0 beq .L116 1267 .L110: 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1268 .loc 1 6811 51 is_stmt 1 view .LVU397 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1269 .loc 1 6811 10 is_stmt 0 view .LVU398 1270 0014 2368 ldr r3, [r4] 1271 0016 9B69 ldr r3, [r3, #24] 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1272 .loc 1 6811 51 view .LVU399 1273 0018 13F0200F tst r3, #32 1274 001c 1BD1 bne .L117 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1275 .loc 1 6814 5 is_stmt 1 view .LVU400 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1276 .loc 1 6814 9 is_stmt 0 view .LVU401 1277 001e 3246 mov r2, r6 1278 0020 2946 mov r1, r5 1279 0022 2046 mov r0, r4 1280 0024 FFF7FEFF bl I2C_IsErrorOccurred 1281 .LVL102: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 156 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1282 .loc 1 6814 8 view .LVU402 1283 0028 B8B9 cbnz r0, .L114 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1284 .loc 1 6820 5 is_stmt 1 view .LVU403 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1285 .loc 1 6820 11 is_stmt 0 view .LVU404 1286 002a FFF7FEFF bl HAL_GetTick 1287 .LVL103: 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1288 .loc 1 6820 25 view .LVU405 1289 002e 801B subs r0, r0, r6 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1290 .loc 1 6820 8 view .LVU406 1291 0030 A842 cmp r0, r5 1292 0032 EAD8 bhi .L112 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1293 .loc 1 6820 49 discriminator 1 view .LVU407 1294 0034 002D cmp r5, #0 1295 0036 EDD1 bne .L110 1296 0038 E7E7 b .L112 1297 .L116: 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1298 .loc 1 6824 9 is_stmt 1 view .LVU408 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1299 .loc 1 6824 13 is_stmt 0 view .LVU409 1300 003a 636C ldr r3, [r4, #68] 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1301 .loc 1 6824 25 view .LVU410 1302 003c 43F02003 orr r3, r3, #32 1303 0040 6364 str r3, [r4, #68] 6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1304 .loc 1 6825 9 is_stmt 1 view .LVU411 6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1305 .loc 1 6825 21 is_stmt 0 view .LVU412 1306 0042 2023 movs r3, #32 1307 0044 84F84130 strb r3, [r4, #65] 6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1308 .loc 1 6826 9 is_stmt 1 view .LVU413 6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1309 .loc 1 6826 20 is_stmt 0 view .LVU414 1310 0048 0023 movs r3, #0 1311 004a 84F84230 strb r3, [r4, #66] 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1312 .loc 1 6829 9 is_stmt 1 view .LVU415 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1313 .loc 1 6829 9 view .LVU416 1314 004e 84F84030 strb r3, [r4, #64] 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1315 .loc 1 6829 9 view .LVU417 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1316 .loc 1 6831 9 view .LVU418 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1317 .loc 1 6831 16 is_stmt 0 view .LVU419 1318 0052 0120 movs r0, #1 1319 0054 00E0 b .L111 1320 .L117: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 157 6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1321 .loc 1 6835 10 view .LVU420 1322 0056 0020 movs r0, #0 1323 .L111: 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1324 .loc 1 6836 1 view .LVU421 1325 0058 70BD pop {r4, r5, r6, pc} 1326 .LVL104: 1327 .L114: 6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1328 .loc 1 6816 14 view .LVU422 1329 005a 0120 movs r0, #1 1330 005c FCE7 b .L111 1331 .cfi_endproc 1332 .LFE204: 1334 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits 1335 .align 1 1336 .syntax unified 1337 .thumb 1338 .thumb_func 1340 I2C_WaitOnRXNEFlagUntilTimeout: 1341 .LVL105: 1342 .LFB205: 6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) 1343 .loc 1 6848 1 is_stmt 1 view -0 1344 .cfi_startproc 1345 @ args = 0, pretend = 0, frame = 0 1346 @ frame_needed = 0, uses_anonymous_args = 0 6848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) 1347 .loc 1 6848 1 is_stmt 0 view .LVU424 1348 0000 70B5 push {r4, r5, r6, lr} 1349 .cfi_def_cfa_offset 16 1350 .cfi_offset 4, -16 1351 .cfi_offset 5, -12 1352 .cfi_offset 6, -8 1353 .cfi_offset 14, -4 1354 0002 0446 mov r4, r0 1355 0004 0D46 mov r5, r1 1356 0006 1646 mov r6, r2 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1357 .loc 1 6849 3 is_stmt 1 view .LVU425 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1358 .loc 1 6849 9 is_stmt 0 view .LVU426 1359 0008 2DE0 b .L119 1360 .LVL106: 1361 .L131: 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1362 .loc 1 6862 7 is_stmt 1 view .LVU427 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1363 .loc 1 6862 12 is_stmt 0 view .LVU428 1364 000a 9A69 ldr r2, [r3, #24] 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1365 .loc 1 6862 10 view .LVU429 1366 000c 12F0040F tst r2, #4 1367 0010 02D0 beq .L122 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1368 .loc 1 6862 68 discriminator 1 view .LVU430 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 158 1369 0012 228D ldrh r2, [r4, #40] 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1370 .loc 1 6862 60 discriminator 1 view .LVU431 1371 0014 002A cmp r2, #0 1372 0016 4CD1 bne .L120 1373 .L122: 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1374 .loc 1 6870 9 is_stmt 1 view .LVU432 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1375 .loc 1 6870 13 is_stmt 0 view .LVU433 1376 0018 9A69 ldr r2, [r3, #24] 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1377 .loc 1 6870 12 view .LVU434 1378 001a 12F0100F tst r2, #16 1379 001e 1AD0 beq .L123 6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 1380 .loc 1 6872 11 is_stmt 1 view .LVU435 1381 0020 1022 movs r2, #16 1382 0022 DA61 str r2, [r3, #28] 6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1383 .loc 1 6873 11 view .LVU436 6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1384 .loc 1 6873 27 is_stmt 0 view .LVU437 1385 0024 0423 movs r3, #4 1386 0026 6364 str r3, [r4, #68] 1387 .L124: 6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1388 .loc 1 6881 9 is_stmt 1 view .LVU438 1389 0028 2368 ldr r3, [r4] 1390 002a 2022 movs r2, #32 1391 002c DA61 str r2, [r3, #28] 6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1392 .loc 1 6884 9 view .LVU439 1393 002e 2168 ldr r1, [r4] 1394 0030 4B68 ldr r3, [r1, #4] 1395 0032 23F0FF73 bic r3, r3, #33423360 1396 0036 23F48B33 bic r3, r3, #71168 1397 003a 23F4FF73 bic r3, r3, #510 1398 003e 23F00103 bic r3, r3, #1 1399 0042 4B60 str r3, [r1, #4] 6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1400 .loc 1 6886 9 view .LVU440 6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1401 .loc 1 6886 21 is_stmt 0 view .LVU441 1402 0044 84F84120 strb r2, [r4, #65] 6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1403 .loc 1 6887 9 is_stmt 1 view .LVU442 6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1404 .loc 1 6887 20 is_stmt 0 view .LVU443 1405 0048 0023 movs r3, #0 1406 004a 84F84230 strb r3, [r4, #66] 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1407 .loc 1 6890 9 is_stmt 1 view .LVU444 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1408 .loc 1 6890 9 view .LVU445 1409 004e 84F84030 strb r3, [r4, #64] 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 159 1410 .loc 1 6890 9 view .LVU446 6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1411 .loc 1 6892 9 view .LVU447 6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1412 .loc 1 6892 16 is_stmt 0 view .LVU448 1413 0052 0121 movs r1, #1 1414 0054 2DE0 b .L120 1415 .L123: 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1416 .loc 1 6877 11 is_stmt 1 view .LVU449 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1417 .loc 1 6877 27 is_stmt 0 view .LVU450 1418 0056 0023 movs r3, #0 1419 0058 6364 str r3, [r4, #68] 1420 005a E5E7 b .L124 1421 .L125: 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1422 .loc 1 6899 7 is_stmt 1 view .LVU451 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1423 .loc 1 6899 12 is_stmt 0 view .LVU452 1424 005c 2368 ldr r3, [r4] 1425 005e 9B69 ldr r3, [r3, #24] 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1426 .loc 1 6899 10 view .LVU453 1427 0060 13F0040F tst r3, #4 1428 0064 18D0 beq .L129 1429 .L119: 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1430 .loc 1 6849 50 is_stmt 1 view .LVU454 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1431 .loc 1 6849 10 is_stmt 0 view .LVU455 1432 0066 2368 ldr r3, [r4] 1433 0068 9B69 ldr r3, [r3, #24] 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1434 .loc 1 6849 50 view .LVU456 1435 006a 13F0040F tst r3, #4 1436 006e 1FD1 bne .L130 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1437 .loc 1 6852 5 is_stmt 1 view .LVU457 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1438 .loc 1 6852 9 is_stmt 0 view .LVU458 1439 0070 3246 mov r2, r6 1440 0072 2946 mov r1, r5 1441 0074 2046 mov r0, r4 1442 0076 FFF7FEFF bl I2C_IsErrorOccurred 1443 .LVL107: 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1444 .loc 1 6852 8 view .LVU459 1445 007a 0146 mov r1, r0 1446 007c D8B9 cbnz r0, .L127 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1447 .loc 1 6858 5 is_stmt 1 view .LVU460 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1448 .loc 1 6858 9 is_stmt 0 view .LVU461 1449 007e 2368 ldr r3, [r4] 1450 0080 9A69 ldr r2, [r3, #24] 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 160 1451 .loc 1 6858 8 view .LVU462 1452 0082 12F0200F tst r2, #32 1453 0086 C0D1 bne .L131 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1454 .loc 1 6897 5 is_stmt 1 view .LVU463 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1455 .loc 1 6897 11 is_stmt 0 view .LVU464 1456 0088 FFF7FEFF bl HAL_GetTick 1457 .LVL108: 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1458 .loc 1 6897 25 view .LVU465 1459 008c 801B subs r0, r0, r6 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1460 .loc 1 6897 8 view .LVU466 1461 008e A842 cmp r0, r5 1462 0090 E4D8 bhi .L125 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1463 .loc 1 6897 49 discriminator 1 view .LVU467 1464 0092 002D cmp r5, #0 1465 0094 E7D1 bne .L119 1466 0096 E1E7 b .L125 1467 .L129: 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1468 .loc 1 6901 9 is_stmt 1 view .LVU468 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1469 .loc 1 6901 13 is_stmt 0 view .LVU469 1470 0098 636C ldr r3, [r4, #68] 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1471 .loc 1 6901 25 view .LVU470 1472 009a 43F02003 orr r3, r3, #32 1473 009e 6364 str r3, [r4, #68] 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1474 .loc 1 6902 9 is_stmt 1 view .LVU471 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1475 .loc 1 6902 21 is_stmt 0 view .LVU472 1476 00a0 2023 movs r3, #32 1477 00a2 84F84130 strb r3, [r4, #65] 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1478 .loc 1 6905 9 is_stmt 1 view .LVU473 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1479 .loc 1 6905 9 view .LVU474 1480 00a6 0023 movs r3, #0 1481 00a8 84F84030 strb r3, [r4, #64] 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1482 .loc 1 6905 9 view .LVU475 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1483 .loc 1 6907 9 view .LVU476 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1484 .loc 1 6907 16 is_stmt 0 view .LVU477 1485 00ac 0121 movs r1, #1 1486 00ae 00E0 b .L120 1487 .L130: 6911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1488 .loc 1 6911 10 view .LVU478 1489 00b0 0021 movs r1, #0 1490 .L120: 6912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 161 1491 .loc 1 6912 1 view .LVU479 1492 00b2 0846 mov r0, r1 1493 00b4 70BD pop {r4, r5, r6, pc} 1494 .LVL109: 1495 .L127: 6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1496 .loc 1 6854 14 view .LVU480 1497 00b6 0121 movs r1, #1 1498 00b8 FBE7 b .L120 1499 .cfi_endproc 1500 .LFE205: 1502 .section .text.HAL_I2C_MspInit,"ax",%progbits 1503 .align 1 1504 .weak HAL_I2C_MspInit 1505 .syntax unified 1506 .thumb 1507 .thumb_func 1509 HAL_I2C_MspInit: 1510 .LVL110: 1511 .LFB132: 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 1512 .loc 1 692 1 is_stmt 1 view -0 1513 .cfi_startproc 1514 @ args = 0, pretend = 0, frame = 0 1515 @ frame_needed = 0, uses_anonymous_args = 0 1516 @ link register save eliminated. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1517 .loc 1 694 3 view .LVU482 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1518 .loc 1 699 1 is_stmt 0 view .LVU483 1519 0000 7047 bx lr 1520 .cfi_endproc 1521 .LFE132: 1523 .section .text.HAL_I2C_Init,"ax",%progbits 1524 .align 1 1525 .global HAL_I2C_Init 1526 .syntax unified 1527 .thumb 1528 .thumb_func 1530 HAL_I2C_Init: 1531 .LVL111: 1532 .LFB130: 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1533 .loc 1 536 1 is_stmt 1 view -0 1534 .cfi_startproc 1535 @ args = 0, pretend = 0, frame = 0 1536 @ frame_needed = 0, uses_anonymous_args = 0 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1537 .loc 1 538 3 view .LVU485 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1538 .loc 1 538 6 is_stmt 0 view .LVU486 1539 0000 0028 cmp r0, #0 1540 0002 59D0 beq .L139 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1541 .loc 1 536 1 view .LVU487 1542 0004 10B5 push {r4, lr} 1543 .cfi_def_cfa_offset 8 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 162 1544 .cfi_offset 4, -8 1545 .cfi_offset 14, -4 1546 0006 0446 mov r4, r0 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1547 .loc 1 544 3 is_stmt 1 view .LVU488 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 1548 .loc 1 545 3 view .LVU489 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 1549 .loc 1 546 3 view .LVU490 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 1550 .loc 1 547 3 view .LVU491 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); 1551 .loc 1 548 3 view .LVU492 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 1552 .loc 1 549 3 view .LVU493 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 1553 .loc 1 550 3 view .LVU494 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1554 .loc 1 551 3 view .LVU495 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1555 .loc 1 553 3 view .LVU496 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1556 .loc 1 553 11 is_stmt 0 view .LVU497 1557 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1558 .loc 1 553 6 view .LVU498 1559 000c 002B cmp r3, #0 1560 000e 43D0 beq .L144 1561 .LVL112: 1562 .L135: 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1563 .loc 1 584 3 is_stmt 1 view .LVU499 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1564 .loc 1 584 15 is_stmt 0 view .LVU500 1565 0010 2423 movs r3, #36 1566 0012 84F84130 strb r3, [r4, #65] 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1567 .loc 1 587 3 is_stmt 1 view .LVU501 1568 0016 2268 ldr r2, [r4] 1569 0018 1368 ldr r3, [r2] 1570 001a 23F00103 bic r3, r3, #1 1571 001e 1360 str r3, [r2] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1572 .loc 1 591 3 view .LVU502 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1573 .loc 1 591 39 is_stmt 0 view .LVU503 1574 0020 6368 ldr r3, [r4, #4] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1575 .loc 1 591 7 view .LVU504 1576 0022 2268 ldr r2, [r4] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1577 .loc 1 591 47 view .LVU505 1578 0024 23F07063 bic r3, r3, #251658240 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1579 .loc 1 591 27 view .LVU506 1580 0028 1361 str r3, [r2, #16] 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 163 1581 .loc 1 595 3 is_stmt 1 view .LVU507 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1582 .loc 1 595 7 is_stmt 0 view .LVU508 1583 002a 2268 ldr r2, [r4] 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1584 .loc 1 595 17 view .LVU509 1585 002c 9368 ldr r3, [r2, #8] 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1586 .loc 1 595 24 view .LVU510 1587 002e 23F40043 bic r3, r3, #32768 1588 0032 9360 str r3, [r2, #8] 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1589 .loc 1 598 3 is_stmt 1 view .LVU511 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1590 .loc 1 598 17 is_stmt 0 view .LVU512 1591 0034 E368 ldr r3, [r4, #12] 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1592 .loc 1 598 6 view .LVU513 1593 0036 012B cmp r3, #1 1594 0038 33D0 beq .L145 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1595 .loc 1 604 5 is_stmt 1 view .LVU514 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1596 .loc 1 604 75 is_stmt 0 view .LVU515 1597 003a A368 ldr r3, [r4, #8] 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1598 .loc 1 604 9 view .LVU516 1599 003c 2268 ldr r2, [r4] 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1600 .loc 1 604 63 view .LVU517 1601 003e 43F40443 orr r3, r3, #33792 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1602 .loc 1 604 26 view .LVU518 1603 0042 9360 str r3, [r2, #8] 1604 .L137: 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1605 .loc 1 609 3 is_stmt 1 view .LVU519 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1606 .loc 1 609 17 is_stmt 0 view .LVU520 1607 0044 E368 ldr r3, [r4, #12] 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1608 .loc 1 609 6 view .LVU521 1609 0046 022B cmp r3, #2 1610 0048 31D0 beq .L146 1611 .L138: 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1612 .loc 1 614 3 is_stmt 1 view .LVU522 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1613 .loc 1 614 7 is_stmt 0 view .LVU523 1614 004a 2268 ldr r2, [r4] 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1615 .loc 1 614 17 view .LVU524 1616 004c 5368 ldr r3, [r2, #4] 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1617 .loc 1 614 23 view .LVU525 1618 004e 43F00073 orr r3, r3, #33554432 1619 0052 43F40043 orr r3, r3, #32768 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 164 1620 0056 5360 str r3, [r2, #4] 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1621 .loc 1 618 3 is_stmt 1 view .LVU526 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1622 .loc 1 618 7 is_stmt 0 view .LVU527 1623 0058 2268 ldr r2, [r4] 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1624 .loc 1 618 17 view .LVU528 1625 005a D368 ldr r3, [r2, #12] 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1626 .loc 1 618 24 view .LVU529 1627 005c 23F40043 bic r3, r3, #32768 1628 0060 D360 str r3, [r2, #12] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1629 .loc 1 621 3 is_stmt 1 view .LVU530 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1630 .loc 1 621 37 is_stmt 0 view .LVU531 1631 0062 2369 ldr r3, [r4, #16] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1632 .loc 1 621 66 view .LVU532 1633 0064 6269 ldr r2, [r4, #20] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1634 .loc 1 621 54 view .LVU533 1635 0066 1343 orrs r3, r3, r2 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1636 .loc 1 622 38 view .LVU534 1637 0068 A169 ldr r1, [r4, #24] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1638 .loc 1 621 7 view .LVU535 1639 006a 2268 ldr r2, [r4] 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1640 .loc 1 621 79 view .LVU536 1641 006c 43EA0123 orr r3, r3, r1, lsl #8 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1642 .loc 1 621 24 view .LVU537 1643 0070 D360 str r3, [r2, #12] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1644 .loc 1 626 3 is_stmt 1 view .LVU538 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1645 .loc 1 626 36 is_stmt 0 view .LVU539 1646 0072 E369 ldr r3, [r4, #28] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1647 .loc 1 626 65 view .LVU540 1648 0074 216A ldr r1, [r4, #32] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1649 .loc 1 626 7 view .LVU541 1650 0076 2268 ldr r2, [r4] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1651 .loc 1 626 53 view .LVU542 1652 0078 0B43 orrs r3, r3, r1 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1653 .loc 1 626 23 view .LVU543 1654 007a 1360 str r3, [r2] 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1655 .loc 1 629 3 is_stmt 1 view .LVU544 1656 007c 2268 ldr r2, [r4] 1657 007e 1368 ldr r3, [r2] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 165 1658 0080 43F00103 orr r3, r3, #1 1659 0084 1360 str r3, [r2] 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1660 .loc 1 631 3 view .LVU545 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1661 .loc 1 631 19 is_stmt 0 view .LVU546 1662 0086 0020 movs r0, #0 1663 0088 6064 str r0, [r4, #68] 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1664 .loc 1 632 3 is_stmt 1 view .LVU547 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1665 .loc 1 632 15 is_stmt 0 view .LVU548 1666 008a 2023 movs r3, #32 1667 008c 84F84130 strb r3, [r4, #65] 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1668 .loc 1 633 3 is_stmt 1 view .LVU549 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1669 .loc 1 633 23 is_stmt 0 view .LVU550 1670 0090 2063 str r0, [r4, #48] 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1671 .loc 1 634 3 is_stmt 1 view .LVU551 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1672 .loc 1 634 14 is_stmt 0 view .LVU552 1673 0092 84F84200 strb r0, [r4, #66] 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1674 .loc 1 636 3 is_stmt 1 view .LVU553 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1675 .loc 1 637 1 is_stmt 0 view .LVU554 1676 0096 10BD pop {r4, pc} 1677 .LVL113: 1678 .L144: 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1679 .loc 1 556 5 is_stmt 1 view .LVU555 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1680 .loc 1 556 16 is_stmt 0 view .LVU556 1681 0098 80F84030 strb r3, [r0, #64] 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1682 .loc 1 580 5 is_stmt 1 view .LVU557 1683 009c FFF7FEFF bl HAL_I2C_MspInit 1684 .LVL114: 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1685 .loc 1 580 5 is_stmt 0 view .LVU558 1686 00a0 B6E7 b .L135 1687 .L145: 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1688 .loc 1 600 5 is_stmt 1 view .LVU559 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1689 .loc 1 600 56 is_stmt 0 view .LVU560 1690 00a2 A368 ldr r3, [r4, #8] 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1691 .loc 1 600 9 view .LVU561 1692 00a4 2268 ldr r2, [r4] 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1693 .loc 1 600 44 view .LVU562 1694 00a6 43F40043 orr r3, r3, #32768 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1695 .loc 1 600 26 view .LVU563 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 166 1696 00aa 9360 str r3, [r2, #8] 1697 00ac CAE7 b .L137 1698 .L146: 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1699 .loc 1 611 5 is_stmt 1 view .LVU564 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1700 .loc 1 611 9 is_stmt 0 view .LVU565 1701 00ae 2368 ldr r3, [r4] 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1702 .loc 1 611 25 view .LVU566 1703 00b0 4FF40062 mov r2, #2048 1704 00b4 5A60 str r2, [r3, #4] 1705 00b6 C8E7 b .L138 1706 .LVL115: 1707 .L139: 1708 .cfi_def_cfa_offset 0 1709 .cfi_restore 4 1710 .cfi_restore 14 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1711 .loc 1 540 12 view .LVU567 1712 00b8 0120 movs r0, #1 1713 .LVL116: 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1714 .loc 1 637 1 view .LVU568 1715 00ba 7047 bx lr 1716 .cfi_endproc 1717 .LFE130: 1719 .section .text.HAL_I2C_MspDeInit,"ax",%progbits 1720 .align 1 1721 .weak HAL_I2C_MspDeInit 1722 .syntax unified 1723 .thumb 1724 .thumb_func 1726 HAL_I2C_MspDeInit: 1727 .LVL117: 1728 .LFB133: 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 1729 .loc 1 708 1 is_stmt 1 view -0 1730 .cfi_startproc 1731 @ args = 0, pretend = 0, frame = 0 1732 @ frame_needed = 0, uses_anonymous_args = 0 1733 @ link register save eliminated. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1734 .loc 1 710 3 view .LVU570 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1735 .loc 1 715 1 is_stmt 0 view .LVU571 1736 0000 7047 bx lr 1737 .cfi_endproc 1738 .LFE133: 1740 .section .text.HAL_I2C_DeInit,"ax",%progbits 1741 .align 1 1742 .global HAL_I2C_DeInit 1743 .syntax unified 1744 .thumb 1745 .thumb_func 1747 HAL_I2C_DeInit: 1748 .LVL118: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 167 1749 .LFB131: 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1750 .loc 1 646 1 is_stmt 1 view -0 1751 .cfi_startproc 1752 @ args = 0, pretend = 0, frame = 0 1753 @ frame_needed = 0, uses_anonymous_args = 0 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1754 .loc 1 648 3 view .LVU573 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1755 .loc 1 648 6 is_stmt 0 view .LVU574 1756 0000 A8B1 cbz r0, .L150 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1757 .loc 1 646 1 view .LVU575 1758 0002 10B5 push {r4, lr} 1759 .cfi_def_cfa_offset 8 1760 .cfi_offset 4, -8 1761 .cfi_offset 14, -4 1762 0004 0446 mov r4, r0 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1763 .loc 1 654 3 is_stmt 1 view .LVU576 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1764 .loc 1 656 3 view .LVU577 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1765 .loc 1 656 15 is_stmt 0 view .LVU578 1766 0006 2423 movs r3, #36 1767 0008 80F84130 strb r3, [r0, #65] 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1768 .loc 1 659 3 is_stmt 1 view .LVU579 1769 000c 0268 ldr r2, [r0] 1770 000e 1368 ldr r3, [r2] 1771 0010 23F00103 bic r3, r3, #1 1772 0014 1360 str r3, [r2] 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1773 .loc 1 671 3 view .LVU580 1774 0016 FFF7FEFF bl HAL_I2C_MspDeInit 1775 .LVL119: 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 1776 .loc 1 674 3 view .LVU581 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 1777 .loc 1 674 19 is_stmt 0 view .LVU582 1778 001a 0020 movs r0, #0 1779 001c 6064 str r0, [r4, #68] 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1780 .loc 1 675 3 is_stmt 1 view .LVU583 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1781 .loc 1 675 15 is_stmt 0 view .LVU584 1782 001e 84F84100 strb r0, [r4, #65] 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1783 .loc 1 676 3 is_stmt 1 view .LVU585 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1784 .loc 1 676 23 is_stmt 0 view .LVU586 1785 0022 2063 str r0, [r4, #48] 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1786 .loc 1 677 3 is_stmt 1 view .LVU587 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1787 .loc 1 677 14 is_stmt 0 view .LVU588 1788 0024 84F84200 strb r0, [r4, #66] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 168 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1789 .loc 1 680 3 is_stmt 1 view .LVU589 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1790 .loc 1 680 3 view .LVU590 1791 0028 84F84000 strb r0, [r4, #64] 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1792 .loc 1 680 3 view .LVU591 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1793 .loc 1 682 3 view .LVU592 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1794 .loc 1 683 1 is_stmt 0 view .LVU593 1795 002c 10BD pop {r4, pc} 1796 .LVL120: 1797 .L150: 1798 .cfi_def_cfa_offset 0 1799 .cfi_restore 4 1800 .cfi_restore 14 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1801 .loc 1 650 12 view .LVU594 1802 002e 0120 movs r0, #1 1803 .LVL121: 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1804 .loc 1 683 1 view .LVU595 1805 0030 7047 bx lr 1806 .cfi_endproc 1807 .LFE131: 1809 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits 1810 .align 1 1811 .global HAL_I2C_Master_Transmit 1812 .syntax unified 1813 .thumb 1814 .thumb_func 1816 HAL_I2C_Master_Transmit: 1817 .LVL122: 1818 .LFB134: 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1819 .loc 1 1116 1 is_stmt 1 view -0 1820 .cfi_startproc 1821 @ args = 4, pretend = 0, frame = 0 1822 @ frame_needed = 0, uses_anonymous_args = 0 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1823 .loc 1 1116 1 is_stmt 0 view .LVU597 1824 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1825 .cfi_def_cfa_offset 32 1826 .cfi_offset 4, -32 1827 .cfi_offset 5, -28 1828 .cfi_offset 6, -24 1829 .cfi_offset 7, -20 1830 .cfi_offset 8, -16 1831 .cfi_offset 9, -12 1832 .cfi_offset 10, -8 1833 .cfi_offset 14, -4 1834 0004 82B0 sub sp, sp, #8 1835 .cfi_def_cfa_offset 40 1836 0006 0F46 mov r7, r1 1837 0008 0A9E ldr r6, [sp, #40] 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 169 1838 .loc 1 1117 3 is_stmt 1 view .LVU598 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1839 .loc 1 1119 3 view .LVU599 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1840 .loc 1 1119 11 is_stmt 0 view .LVU600 1841 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 1842 .LVL123: 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1843 .loc 1 1119 11 view .LVU601 1844 000e C9B2 uxtb r1, r1 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1845 .loc 1 1119 6 view .LVU602 1846 0010 2029 cmp r1, #32 1847 0012 40F0A380 bne .L163 1848 0016 0446 mov r4, r0 1849 0018 9046 mov r8, r2 1850 001a 9946 mov r9, r3 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1851 .loc 1 1122 5 is_stmt 1 view .LVU603 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1852 .loc 1 1122 5 view .LVU604 1853 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 1854 .LVL124: 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1855 .loc 1 1122 5 is_stmt 0 view .LVU605 1856 0020 012B cmp r3, #1 1857 0022 00F09F80 beq .L164 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1858 .loc 1 1122 5 is_stmt 1 discriminator 2 view .LVU606 1859 0026 4FF0010A mov r10, #1 1860 002a 80F840A0 strb r10, [r0, #64] 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1861 .loc 1 1122 5 discriminator 2 view .LVU607 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1862 .loc 1 1125 5 discriminator 2 view .LVU608 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1863 .loc 1 1125 17 is_stmt 0 discriminator 2 view .LVU609 1864 002e FFF7FEFF bl HAL_GetTick 1865 .LVL125: 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1866 .loc 1 1125 17 discriminator 2 view .LVU610 1867 0032 0546 mov r5, r0 1868 .LVL126: 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1869 .loc 1 1127 5 is_stmt 1 discriminator 2 view .LVU611 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1870 .loc 1 1127 9 is_stmt 0 discriminator 2 view .LVU612 1871 0034 0090 str r0, [sp] 1872 0036 1923 movs r3, #25 1873 0038 5246 mov r2, r10 1874 003a 4FF40041 mov r1, #32768 1875 003e 2046 mov r0, r4 1876 .LVL127: 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1877 .loc 1 1127 9 discriminator 2 view .LVU613 1878 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 1879 .LVL128: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 170 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1880 .loc 1 1127 8 discriminator 2 view .LVU614 1881 0044 0028 cmp r0, #0 1882 0046 40F08F80 bne .L165 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1883 .loc 1 1132 5 is_stmt 1 view .LVU615 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1884 .loc 1 1132 21 is_stmt 0 view .LVU616 1885 004a 2123 movs r3, #33 1886 004c 84F84130 strb r3, [r4, #65] 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1887 .loc 1 1133 5 is_stmt 1 view .LVU617 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1888 .loc 1 1133 21 is_stmt 0 view .LVU618 1889 0050 1023 movs r3, #16 1890 0052 84F84230 strb r3, [r4, #66] 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1891 .loc 1 1134 5 is_stmt 1 view .LVU619 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1892 .loc 1 1134 21 is_stmt 0 view .LVU620 1893 0056 0023 movs r3, #0 1894 0058 6364 str r3, [r4, #68] 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1895 .loc 1 1137 5 is_stmt 1 view .LVU621 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1896 .loc 1 1137 21 is_stmt 0 view .LVU622 1897 005a C4F82480 str r8, [r4, #36] 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1898 .loc 1 1138 5 is_stmt 1 view .LVU623 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1899 .loc 1 1138 21 is_stmt 0 view .LVU624 1900 005e A4F82A90 strh r9, [r4, #42] @ movhi 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1901 .loc 1 1139 5 is_stmt 1 view .LVU625 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1902 .loc 1 1139 21 is_stmt 0 view .LVU626 1903 0062 6363 str r3, [r4, #52] 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1904 .loc 1 1143 5 is_stmt 1 view .LVU627 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1905 .loc 1 1143 13 is_stmt 0 view .LVU628 1906 0064 638D ldrh r3, [r4, #42] 1907 0066 9BB2 uxth r3, r3 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1908 .loc 1 1143 8 view .LVU629 1909 0068 FF2B cmp r3, #255 1910 006a 0AD9 bls .L157 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1911 .loc 1 1145 7 is_stmt 1 view .LVU630 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1912 .loc 1 1145 22 is_stmt 0 view .LVU631 1913 006c FF22 movs r2, #255 1914 006e 2285 strh r2, [r4, #40] @ movhi 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1915 .loc 1 1146 7 is_stmt 1 view .LVU632 1916 0070 414B ldr r3, .L171 1917 0072 0093 str r3, [sp] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 171 1918 0074 4FF08073 mov r3, #16777216 1919 0078 3946 mov r1, r7 1920 007a 2046 mov r0, r4 1921 007c FFF7FEFF bl I2C_TransferConfig 1922 .LVL129: 1923 0080 18E0 b .L159 1924 .L157: 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1925 .loc 1 1151 7 view .LVU633 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1926 .loc 1 1151 28 is_stmt 0 view .LVU634 1927 0082 628D ldrh r2, [r4, #42] 1928 0084 92B2 uxth r2, r2 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1929 .loc 1 1151 22 view .LVU635 1930 0086 2285 strh r2, [r4, #40] @ movhi 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1931 .loc 1 1152 7 is_stmt 1 view .LVU636 1932 0088 3B4B ldr r3, .L171 1933 008a 0093 str r3, [sp] 1934 008c 4FF00073 mov r3, #33554432 1935 0090 D2B2 uxtb r2, r2 1936 0092 3946 mov r1, r7 1937 0094 2046 mov r0, r4 1938 0096 FFF7FEFF bl I2C_TransferConfig 1939 .LVL130: 1940 009a 0BE0 b .L159 1941 .L161: 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1942 .loc 1 1188 11 view .LVU637 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1943 .loc 1 1188 32 is_stmt 0 view .LVU638 1944 009c 628D ldrh r2, [r4, #42] 1945 009e 92B2 uxth r2, r2 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1946 .loc 1 1188 26 view .LVU639 1947 00a0 2285 strh r2, [r4, #40] @ movhi 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1948 .loc 1 1189 11 is_stmt 1 view .LVU640 1949 00a2 0023 movs r3, #0 1950 00a4 0093 str r3, [sp] 1951 00a6 4FF00073 mov r3, #33554432 1952 00aa D2B2 uxtb r2, r2 1953 00ac 3946 mov r1, r7 1954 00ae 2046 mov r0, r4 1955 00b0 FFF7FEFF bl I2C_TransferConfig 1956 .LVL131: 1957 .L159: 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1958 .loc 1 1156 28 view .LVU641 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1959 .loc 1 1156 16 is_stmt 0 view .LVU642 1960 00b4 638D ldrh r3, [r4, #42] 1961 00b6 9BB2 uxth r3, r3 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1962 .loc 1 1156 28 view .LVU643 1963 00b8 002B cmp r3, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 172 1964 00ba 33D0 beq .L170 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1965 .loc 1 1159 7 is_stmt 1 view .LVU644 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1966 .loc 1 1159 11 is_stmt 0 view .LVU645 1967 00bc 2A46 mov r2, r5 1968 00be 3146 mov r1, r6 1969 00c0 2046 mov r0, r4 1970 00c2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1971 .LVL132: 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1972 .loc 1 1159 10 view .LVU646 1973 00c6 0028 cmp r0, #0 1974 00c8 50D1 bne .L166 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1975 .loc 1 1164 7 is_stmt 1 view .LVU647 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1976 .loc 1 1164 35 is_stmt 0 view .LVU648 1977 00ca 626A ldr r2, [r4, #36] 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1978 .loc 1 1164 11 view .LVU649 1979 00cc 2368 ldr r3, [r4] 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1980 .loc 1 1164 30 view .LVU650 1981 00ce 1278 ldrb r2, [r2] @ zero_extendqisi2 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1982 .loc 1 1164 28 view .LVU651 1983 00d0 9A62 str r2, [r3, #40] 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1984 .loc 1 1167 7 is_stmt 1 view .LVU652 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1985 .loc 1 1167 11 is_stmt 0 view .LVU653 1986 00d2 636A ldr r3, [r4, #36] 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1987 .loc 1 1167 21 view .LVU654 1988 00d4 0133 adds r3, r3, #1 1989 00d6 6362 str r3, [r4, #36] 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1990 .loc 1 1169 7 is_stmt 1 view .LVU655 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1991 .loc 1 1169 11 is_stmt 0 view .LVU656 1992 00d8 638D ldrh r3, [r4, #42] 1993 00da 9BB2 uxth r3, r3 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1994 .loc 1 1169 22 view .LVU657 1995 00dc 013B subs r3, r3, #1 1996 00de 9BB2 uxth r3, r3 1997 00e0 6385 strh r3, [r4, #42] @ movhi 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1998 .loc 1 1170 7 is_stmt 1 view .LVU658 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1999 .loc 1 1170 11 is_stmt 0 view .LVU659 2000 00e2 238D ldrh r3, [r4, #40] 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2001 .loc 1 1170 21 view .LVU660 2002 00e4 013B subs r3, r3, #1 2003 00e6 9BB2 uxth r3, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 173 2004 00e8 2385 strh r3, [r4, #40] @ movhi 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2005 .loc 1 1172 7 is_stmt 1 view .LVU661 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2006 .loc 1 1172 16 is_stmt 0 view .LVU662 2007 00ea 628D ldrh r2, [r4, #42] 2008 00ec 92B2 uxth r2, r2 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2009 .loc 1 1172 10 view .LVU663 2010 00ee 002A cmp r2, #0 2011 00f0 E0D0 beq .L159 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2012 .loc 1 1172 35 discriminator 1 view .LVU664 2013 00f2 002B cmp r3, #0 2014 00f4 DED1 bne .L159 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2015 .loc 1 1175 9 is_stmt 1 view .LVU665 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2016 .loc 1 1175 13 is_stmt 0 view .LVU666 2017 00f6 0095 str r5, [sp] 2018 00f8 3346 mov r3, r6 2019 00fa 0022 movs r2, #0 2020 00fc 8021 movs r1, #128 2021 00fe 2046 mov r0, r4 2022 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2023 .LVL133: 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2024 .loc 1 1175 12 view .LVU667 2025 0104 A0BB cbnz r0, .L167 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2026 .loc 1 1180 9 is_stmt 1 view .LVU668 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2027 .loc 1 1180 17 is_stmt 0 view .LVU669 2028 0106 638D ldrh r3, [r4, #42] 2029 0108 9BB2 uxth r3, r3 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2030 .loc 1 1180 12 view .LVU670 2031 010a FF2B cmp r3, #255 2032 010c C6D9 bls .L161 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2033 .loc 1 1182 11 is_stmt 1 view .LVU671 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2034 .loc 1 1182 26 is_stmt 0 view .LVU672 2035 010e FF22 movs r2, #255 2036 0110 2285 strh r2, [r4, #40] @ movhi 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2037 .loc 1 1183 11 is_stmt 1 view .LVU673 2038 0112 0023 movs r3, #0 2039 0114 0093 str r3, [sp] 2040 0116 4FF08073 mov r3, #16777216 2041 011a 3946 mov r1, r7 2042 011c 2046 mov r0, r4 2043 011e FFF7FEFF bl I2C_TransferConfig 2044 .LVL134: 2045 0122 C7E7 b .L159 2046 .L170: 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 174 2047 .loc 1 1197 5 view .LVU674 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2048 .loc 1 1197 9 is_stmt 0 view .LVU675 2049 0124 2A46 mov r2, r5 2050 0126 3146 mov r1, r6 2051 0128 2046 mov r0, r4 2052 012a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 2053 .LVL135: 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2054 .loc 1 1197 8 view .LVU676 2055 012e 08BB cbnz r0, .L168 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2056 .loc 1 1203 5 is_stmt 1 view .LVU677 2057 0130 2368 ldr r3, [r4] 2058 0132 2022 movs r2, #32 2059 0134 DA61 str r2, [r3, #28] 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2060 .loc 1 1206 5 view .LVU678 2061 0136 2168 ldr r1, [r4] 2062 0138 4B68 ldr r3, [r1, #4] 2063 013a 23F0FF73 bic r3, r3, #33423360 2064 013e 23F48B33 bic r3, r3, #71168 2065 0142 23F4FF73 bic r3, r3, #510 2066 0146 23F00103 bic r3, r3, #1 2067 014a 4B60 str r3, [r1, #4] 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2068 .loc 1 1208 5 view .LVU679 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2069 .loc 1 1208 17 is_stmt 0 view .LVU680 2070 014c 84F84120 strb r2, [r4, #65] 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2071 .loc 1 1209 5 is_stmt 1 view .LVU681 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2072 .loc 1 1209 17 is_stmt 0 view .LVU682 2073 0150 0023 movs r3, #0 2074 0152 84F84230 strb r3, [r4, #66] 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2075 .loc 1 1212 5 is_stmt 1 view .LVU683 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2076 .loc 1 1212 5 view .LVU684 2077 0156 84F84030 strb r3, [r4, #64] 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2078 .loc 1 1212 5 view .LVU685 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2079 .loc 1 1214 5 view .LVU686 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2080 .loc 1 1214 12 is_stmt 0 view .LVU687 2081 015a 00E0 b .L156 2082 .LVL136: 2083 .L163: 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2084 .loc 1 1218 12 view .LVU688 2085 015c 0220 movs r0, #2 2086 .LVL137: 2087 .L156: 1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2088 .loc 1 1220 1 view .LVU689 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 175 2089 015e 02B0 add sp, sp, #8 2090 .cfi_remember_state 2091 .cfi_def_cfa_offset 32 2092 @ sp needed 2093 0160 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 2094 .LVL138: 2095 .L164: 2096 .cfi_restore_state 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2097 .loc 1 1122 5 view .LVU690 2098 0164 0220 movs r0, #2 2099 .LVL139: 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2100 .loc 1 1122 5 view .LVU691 2101 0166 FAE7 b .L156 2102 .LVL140: 2103 .L165: 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2104 .loc 1 1129 14 view .LVU692 2105 0168 0120 movs r0, #1 2106 016a F8E7 b .L156 2107 .L166: 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2108 .loc 1 1161 16 view .LVU693 2109 016c 0120 movs r0, #1 2110 016e F6E7 b .L156 2111 .L167: 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2112 .loc 1 1177 18 view .LVU694 2113 0170 0120 movs r0, #1 2114 0172 F4E7 b .L156 2115 .L168: 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2116 .loc 1 1199 14 view .LVU695 2117 0174 0120 movs r0, #1 2118 0176 F2E7 b .L156 2119 .L172: 2120 .align 2 2121 .L171: 2122 0178 00200080 .word -2147475456 2123 .cfi_endproc 2124 .LFE134: 2126 .section .text.HAL_I2C_Master_Receive,"ax",%progbits 2127 .align 1 2128 .global HAL_I2C_Master_Receive 2129 .syntax unified 2130 .thumb 2131 .thumb_func 2133 HAL_I2C_Master_Receive: 2134 .LVL141: 2135 .LFB135: 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2136 .loc 1 1235 1 is_stmt 1 view -0 2137 .cfi_startproc 2138 @ args = 4, pretend = 0, frame = 0 2139 @ frame_needed = 0, uses_anonymous_args = 0 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 176 2140 .loc 1 1235 1 is_stmt 0 view .LVU697 2141 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 2142 .cfi_def_cfa_offset 32 2143 .cfi_offset 4, -32 2144 .cfi_offset 5, -28 2145 .cfi_offset 6, -24 2146 .cfi_offset 7, -20 2147 .cfi_offset 8, -16 2148 .cfi_offset 9, -12 2149 .cfi_offset 10, -8 2150 .cfi_offset 14, -4 2151 0004 82B0 sub sp, sp, #8 2152 .cfi_def_cfa_offset 40 2153 0006 0F46 mov r7, r1 2154 0008 0A9E ldr r6, [sp, #40] 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2155 .loc 1 1236 3 is_stmt 1 view .LVU698 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2156 .loc 1 1238 3 view .LVU699 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2157 .loc 1 1238 11 is_stmt 0 view .LVU700 2158 000a 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 2159 .LVL142: 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2160 .loc 1 1238 11 view .LVU701 2161 000e C9B2 uxtb r1, r1 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2162 .loc 1 1238 6 view .LVU702 2163 0010 2029 cmp r1, #32 2164 0012 40F0A280 bne .L181 2165 0016 0446 mov r4, r0 2166 0018 9046 mov r8, r2 2167 001a 9946 mov r9, r3 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2168 .loc 1 1241 5 is_stmt 1 view .LVU703 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2169 .loc 1 1241 5 view .LVU704 2170 001c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2171 .LVL143: 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2172 .loc 1 1241 5 is_stmt 0 view .LVU705 2173 0020 012B cmp r3, #1 2174 0022 00F09E80 beq .L182 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2175 .loc 1 1241 5 is_stmt 1 discriminator 2 view .LVU706 2176 0026 4FF0010A mov r10, #1 2177 002a 80F840A0 strb r10, [r0, #64] 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2178 .loc 1 1241 5 discriminator 2 view .LVU707 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2179 .loc 1 1244 5 discriminator 2 view .LVU708 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2180 .loc 1 1244 17 is_stmt 0 discriminator 2 view .LVU709 2181 002e FFF7FEFF bl HAL_GetTick 2182 .LVL144: 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2183 .loc 1 1244 17 discriminator 2 view .LVU710 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 177 2184 0032 0546 mov r5, r0 2185 .LVL145: 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2186 .loc 1 1246 5 is_stmt 1 discriminator 2 view .LVU711 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2187 .loc 1 1246 9 is_stmt 0 discriminator 2 view .LVU712 2188 0034 0090 str r0, [sp] 2189 0036 1923 movs r3, #25 2190 0038 5246 mov r2, r10 2191 003a 4FF40041 mov r1, #32768 2192 003e 2046 mov r0, r4 2193 .LVL146: 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2194 .loc 1 1246 9 discriminator 2 view .LVU713 2195 0040 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2196 .LVL147: 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2197 .loc 1 1246 8 discriminator 2 view .LVU714 2198 0044 0028 cmp r0, #0 2199 0046 40F08E80 bne .L183 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2200 .loc 1 1251 5 is_stmt 1 view .LVU715 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2201 .loc 1 1251 21 is_stmt 0 view .LVU716 2202 004a 2223 movs r3, #34 2203 004c 84F84130 strb r3, [r4, #65] 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2204 .loc 1 1252 5 is_stmt 1 view .LVU717 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2205 .loc 1 1252 21 is_stmt 0 view .LVU718 2206 0050 1023 movs r3, #16 2207 0052 84F84230 strb r3, [r4, #66] 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2208 .loc 1 1253 5 is_stmt 1 view .LVU719 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2209 .loc 1 1253 21 is_stmt 0 view .LVU720 2210 0056 0023 movs r3, #0 2211 0058 6364 str r3, [r4, #68] 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2212 .loc 1 1256 5 is_stmt 1 view .LVU721 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2213 .loc 1 1256 21 is_stmt 0 view .LVU722 2214 005a C4F82480 str r8, [r4, #36] 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2215 .loc 1 1257 5 is_stmt 1 view .LVU723 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2216 .loc 1 1257 21 is_stmt 0 view .LVU724 2217 005e A4F82A90 strh r9, [r4, #42] @ movhi 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2218 .loc 1 1258 5 is_stmt 1 view .LVU725 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2219 .loc 1 1258 21 is_stmt 0 view .LVU726 2220 0062 6363 str r3, [r4, #52] 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2221 .loc 1 1262 5 is_stmt 1 view .LVU727 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2222 .loc 1 1262 13 is_stmt 0 view .LVU728 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 178 2223 0064 638D ldrh r3, [r4, #42] 2224 0066 9BB2 uxth r3, r3 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2225 .loc 1 1262 8 view .LVU729 2226 0068 FF2B cmp r3, #255 2227 006a 0AD9 bls .L175 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2228 .loc 1 1264 7 is_stmt 1 view .LVU730 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2229 .loc 1 1264 22 is_stmt 0 view .LVU731 2230 006c FF22 movs r2, #255 2231 006e 2285 strh r2, [r4, #40] @ movhi 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2232 .loc 1 1265 7 is_stmt 1 view .LVU732 2233 0070 414B ldr r3, .L189 2234 0072 0093 str r3, [sp] 2235 0074 4FF08073 mov r3, #16777216 2236 0078 3946 mov r1, r7 2237 007a 2046 mov r0, r4 2238 007c FFF7FEFF bl I2C_TransferConfig 2239 .LVL148: 2240 0080 18E0 b .L177 2241 .L175: 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2242 .loc 1 1270 7 view .LVU733 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2243 .loc 1 1270 28 is_stmt 0 view .LVU734 2244 0082 628D ldrh r2, [r4, #42] 2245 0084 92B2 uxth r2, r2 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2246 .loc 1 1270 22 view .LVU735 2247 0086 2285 strh r2, [r4, #40] @ movhi 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2248 .loc 1 1271 7 is_stmt 1 view .LVU736 2249 0088 3B4B ldr r3, .L189 2250 008a 0093 str r3, [sp] 2251 008c 4FF00073 mov r3, #33554432 2252 0090 D2B2 uxtb r2, r2 2253 0092 3946 mov r1, r7 2254 0094 2046 mov r0, r4 2255 0096 FFF7FEFF bl I2C_TransferConfig 2256 .LVL149: 2257 009a 0BE0 b .L177 2258 .L179: 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2259 .loc 1 1308 11 view .LVU737 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2260 .loc 1 1308 32 is_stmt 0 view .LVU738 2261 009c 628D ldrh r2, [r4, #42] 2262 009e 92B2 uxth r2, r2 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2263 .loc 1 1308 26 view .LVU739 2264 00a0 2285 strh r2, [r4, #40] @ movhi 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2265 .loc 1 1309 11 is_stmt 1 view .LVU740 2266 00a2 0023 movs r3, #0 2267 00a4 0093 str r3, [sp] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 179 2268 00a6 4FF00073 mov r3, #33554432 2269 00aa D2B2 uxtb r2, r2 2270 00ac 3946 mov r1, r7 2271 00ae 2046 mov r0, r4 2272 00b0 FFF7FEFF bl I2C_TransferConfig 2273 .LVL150: 2274 .L177: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2275 .loc 1 1275 28 view .LVU741 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2276 .loc 1 1275 16 is_stmt 0 view .LVU742 2277 00b4 638D ldrh r3, [r4, #42] 2278 00b6 9BB2 uxth r3, r3 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2279 .loc 1 1275 28 view .LVU743 2280 00b8 002B cmp r3, #0 2281 00ba 32D0 beq .L188 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2282 .loc 1 1278 7 is_stmt 1 view .LVU744 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2283 .loc 1 1278 11 is_stmt 0 view .LVU745 2284 00bc 2A46 mov r2, r5 2285 00be 3146 mov r1, r6 2286 00c0 2046 mov r0, r4 2287 00c2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 2288 .LVL151: 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2289 .loc 1 1278 10 view .LVU746 2290 00c6 0028 cmp r0, #0 2291 00c8 4FD1 bne .L184 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2292 .loc 1 1284 7 is_stmt 1 view .LVU747 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2293 .loc 1 1284 38 is_stmt 0 view .LVU748 2294 00ca 2368 ldr r3, [r4] 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2295 .loc 1 1284 48 view .LVU749 2296 00cc 5A6A ldr r2, [r3, #36] 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2297 .loc 1 1284 12 view .LVU750 2298 00ce 636A ldr r3, [r4, #36] 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2299 .loc 1 1284 23 view .LVU751 2300 00d0 1A70 strb r2, [r3] 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2301 .loc 1 1287 7 is_stmt 1 view .LVU752 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2302 .loc 1 1287 11 is_stmt 0 view .LVU753 2303 00d2 636A ldr r3, [r4, #36] 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2304 .loc 1 1287 21 view .LVU754 2305 00d4 0133 adds r3, r3, #1 2306 00d6 6362 str r3, [r4, #36] 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2307 .loc 1 1289 7 is_stmt 1 view .LVU755 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2308 .loc 1 1289 11 is_stmt 0 view .LVU756 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 180 2309 00d8 228D ldrh r2, [r4, #40] 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2310 .loc 1 1289 21 view .LVU757 2311 00da 013A subs r2, r2, #1 2312 00dc 92B2 uxth r2, r2 2313 00de 2285 strh r2, [r4, #40] @ movhi 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2314 .loc 1 1290 7 is_stmt 1 view .LVU758 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2315 .loc 1 1290 11 is_stmt 0 view .LVU759 2316 00e0 638D ldrh r3, [r4, #42] 2317 00e2 9BB2 uxth r3, r3 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2318 .loc 1 1290 22 view .LVU760 2319 00e4 013B subs r3, r3, #1 2320 00e6 9BB2 uxth r3, r3 2321 00e8 6385 strh r3, [r4, #42] @ movhi 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2322 .loc 1 1292 7 is_stmt 1 view .LVU761 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2323 .loc 1 1292 16 is_stmt 0 view .LVU762 2324 00ea 638D ldrh r3, [r4, #42] 2325 00ec 9BB2 uxth r3, r3 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2326 .loc 1 1292 10 view .LVU763 2327 00ee 002B cmp r3, #0 2328 00f0 E0D0 beq .L177 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2329 .loc 1 1292 35 discriminator 1 view .LVU764 2330 00f2 002A cmp r2, #0 2331 00f4 DED1 bne .L177 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2332 .loc 1 1295 9 is_stmt 1 view .LVU765 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2333 .loc 1 1295 13 is_stmt 0 view .LVU766 2334 00f6 0095 str r5, [sp] 2335 00f8 3346 mov r3, r6 2336 00fa 8021 movs r1, #128 2337 00fc 2046 mov r0, r4 2338 00fe FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2339 .LVL152: 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2340 .loc 1 1295 12 view .LVU767 2341 0102 A0BB cbnz r0, .L185 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2342 .loc 1 1300 9 is_stmt 1 view .LVU768 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2343 .loc 1 1300 17 is_stmt 0 view .LVU769 2344 0104 638D ldrh r3, [r4, #42] 2345 0106 9BB2 uxth r3, r3 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2346 .loc 1 1300 12 view .LVU770 2347 0108 FF2B cmp r3, #255 2348 010a C7D9 bls .L179 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2349 .loc 1 1302 11 is_stmt 1 view .LVU771 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 181 2350 .loc 1 1302 26 is_stmt 0 view .LVU772 2351 010c FF22 movs r2, #255 2352 010e 2285 strh r2, [r4, #40] @ movhi 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2353 .loc 1 1303 11 is_stmt 1 view .LVU773 2354 0110 0023 movs r3, #0 2355 0112 0093 str r3, [sp] 2356 0114 4FF08073 mov r3, #16777216 2357 0118 3946 mov r1, r7 2358 011a 2046 mov r0, r4 2359 011c FFF7FEFF bl I2C_TransferConfig 2360 .LVL153: 2361 0120 C8E7 b .L177 2362 .L188: 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2363 .loc 1 1317 5 view .LVU774 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2364 .loc 1 1317 9 is_stmt 0 view .LVU775 2365 0122 2A46 mov r2, r5 2366 0124 3146 mov r1, r6 2367 0126 2046 mov r0, r4 2368 0128 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 2369 .LVL154: 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2370 .loc 1 1317 8 view .LVU776 2371 012c 08BB cbnz r0, .L186 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2372 .loc 1 1323 5 is_stmt 1 view .LVU777 2373 012e 2368 ldr r3, [r4] 2374 0130 2022 movs r2, #32 2375 0132 DA61 str r2, [r3, #28] 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2376 .loc 1 1326 5 view .LVU778 2377 0134 2168 ldr r1, [r4] 2378 0136 4B68 ldr r3, [r1, #4] 2379 0138 23F0FF73 bic r3, r3, #33423360 2380 013c 23F48B33 bic r3, r3, #71168 2381 0140 23F4FF73 bic r3, r3, #510 2382 0144 23F00103 bic r3, r3, #1 2383 0148 4B60 str r3, [r1, #4] 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2384 .loc 1 1328 5 view .LVU779 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2385 .loc 1 1328 17 is_stmt 0 view .LVU780 2386 014a 84F84120 strb r2, [r4, #65] 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2387 .loc 1 1329 5 is_stmt 1 view .LVU781 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2388 .loc 1 1329 17 is_stmt 0 view .LVU782 2389 014e 0023 movs r3, #0 2390 0150 84F84230 strb r3, [r4, #66] 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2391 .loc 1 1332 5 is_stmt 1 view .LVU783 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2392 .loc 1 1332 5 view .LVU784 2393 0154 84F84030 strb r3, [r4, #64] 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 182 2394 .loc 1 1332 5 view .LVU785 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2395 .loc 1 1334 5 view .LVU786 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2396 .loc 1 1334 12 is_stmt 0 view .LVU787 2397 0158 00E0 b .L174 2398 .LVL155: 2399 .L181: 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2400 .loc 1 1338 12 view .LVU788 2401 015a 0220 movs r0, #2 2402 .LVL156: 2403 .L174: 1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2404 .loc 1 1340 1 view .LVU789 2405 015c 02B0 add sp, sp, #8 2406 .cfi_remember_state 2407 .cfi_def_cfa_offset 32 2408 @ sp needed 2409 015e BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 2410 .LVL157: 2411 .L182: 2412 .cfi_restore_state 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2413 .loc 1 1241 5 view .LVU790 2414 0162 0220 movs r0, #2 2415 .LVL158: 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2416 .loc 1 1241 5 view .LVU791 2417 0164 FAE7 b .L174 2418 .LVL159: 2419 .L183: 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2420 .loc 1 1248 14 view .LVU792 2421 0166 0120 movs r0, #1 2422 0168 F8E7 b .L174 2423 .L184: 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2424 .loc 1 1280 16 view .LVU793 2425 016a 0120 movs r0, #1 2426 016c F6E7 b .L174 2427 .L185: 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2428 .loc 1 1297 18 view .LVU794 2429 016e 0120 movs r0, #1 2430 0170 F4E7 b .L174 2431 .L186: 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2432 .loc 1 1319 14 view .LVU795 2433 0172 0120 movs r0, #1 2434 0174 F2E7 b .L174 2435 .L190: 2436 0176 00BF .align 2 2437 .L189: 2438 0178 00240080 .word -2147474432 2439 .cfi_endproc 2440 .LFE135: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 183 2442 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits 2443 .align 1 2444 .global HAL_I2C_Slave_Transmit 2445 .syntax unified 2446 .thumb 2447 .thumb_func 2449 HAL_I2C_Slave_Transmit: 2450 .LVL160: 2451 .LFB136: 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2452 .loc 1 1353 1 is_stmt 1 view -0 2453 .cfi_startproc 2454 @ args = 0, pretend = 0, frame = 0 2455 @ frame_needed = 0, uses_anonymous_args = 0 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2456 .loc 1 1353 1 is_stmt 0 view .LVU797 2457 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 2458 .cfi_def_cfa_offset 24 2459 .cfi_offset 4, -24 2460 .cfi_offset 5, -20 2461 .cfi_offset 6, -16 2462 .cfi_offset 7, -12 2463 .cfi_offset 8, -8 2464 .cfi_offset 14, -4 2465 0004 82B0 sub sp, sp, #8 2466 .cfi_def_cfa_offset 32 2467 0006 1D46 mov r5, r3 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2468 .loc 1 1354 3 is_stmt 1 view .LVU798 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2469 .loc 1 1356 3 view .LVU799 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2470 .loc 1 1356 11 is_stmt 0 view .LVU800 2471 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2472 .LVL161: 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2473 .loc 1 1356 11 view .LVU801 2474 000c DBB2 uxtb r3, r3 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2475 .loc 1 1356 6 view .LVU802 2476 000e 202B cmp r3, #32 2477 0010 40F0D980 bne .L205 2478 0014 0446 mov r4, r0 2479 0016 0F46 mov r7, r1 2480 0018 9046 mov r8, r2 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2481 .loc 1 1358 5 is_stmt 1 view .LVU803 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2482 .loc 1 1358 8 is_stmt 0 view .LVU804 2483 001a 0029 cmp r1, #0 2484 001c 56D0 beq .L193 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2485 .loc 1 1358 25 discriminator 1 view .LVU805 2486 001e 002A cmp r2, #0 2487 0020 54D0 beq .L193 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2488 .loc 1 1364 5 is_stmt 1 view .LVU806 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 184 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2489 .loc 1 1364 5 view .LVU807 2490 0022 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2491 0026 012B cmp r3, #1 2492 0028 00F0D180 beq .L206 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2493 .loc 1 1364 5 discriminator 2 view .LVU808 2494 002c 0123 movs r3, #1 2495 002e 80F84030 strb r3, [r0, #64] 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2496 .loc 1 1364 5 discriminator 2 view .LVU809 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2497 .loc 1 1367 5 discriminator 2 view .LVU810 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2498 .loc 1 1367 17 is_stmt 0 discriminator 2 view .LVU811 2499 0032 FFF7FEFF bl HAL_GetTick 2500 .LVL162: 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2501 .loc 1 1367 17 discriminator 2 view .LVU812 2502 0036 0646 mov r6, r0 2503 .LVL163: 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2504 .loc 1 1369 5 is_stmt 1 discriminator 2 view .LVU813 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2505 .loc 1 1369 21 is_stmt 0 discriminator 2 view .LVU814 2506 0038 2123 movs r3, #33 2507 003a 84F84130 strb r3, [r4, #65] 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2508 .loc 1 1370 5 is_stmt 1 discriminator 2 view .LVU815 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2509 .loc 1 1370 21 is_stmt 0 discriminator 2 view .LVU816 2510 003e 2023 movs r3, #32 2511 0040 84F84230 strb r3, [r4, #66] 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2512 .loc 1 1371 5 is_stmt 1 discriminator 2 view .LVU817 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2513 .loc 1 1371 21 is_stmt 0 discriminator 2 view .LVU818 2514 0044 0022 movs r2, #0 2515 0046 6264 str r2, [r4, #68] 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2516 .loc 1 1374 5 is_stmt 1 discriminator 2 view .LVU819 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2517 .loc 1 1374 21 is_stmt 0 discriminator 2 view .LVU820 2518 0048 6762 str r7, [r4, #36] 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2519 .loc 1 1375 5 is_stmt 1 discriminator 2 view .LVU821 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2520 .loc 1 1375 21 is_stmt 0 discriminator 2 view .LVU822 2521 004a A4F82A80 strh r8, [r4, #42] @ movhi 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2522 .loc 1 1376 5 is_stmt 1 discriminator 2 view .LVU823 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2523 .loc 1 1376 21 is_stmt 0 discriminator 2 view .LVU824 2524 004e 6263 str r2, [r4, #52] 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2525 .loc 1 1379 5 is_stmt 1 discriminator 2 view .LVU825 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 185 2526 .loc 1 1379 9 is_stmt 0 discriminator 2 view .LVU826 2527 0050 2168 ldr r1, [r4] 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2528 .loc 1 1379 19 discriminator 2 view .LVU827 2529 0052 4B68 ldr r3, [r1, #4] 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2530 .loc 1 1379 25 discriminator 2 view .LVU828 2531 0054 23F40043 bic r3, r3, #32768 2532 0058 4B60 str r3, [r1, #4] 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2533 .loc 1 1382 5 is_stmt 1 discriminator 2 view .LVU829 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2534 .loc 1 1382 9 is_stmt 0 discriminator 2 view .LVU830 2535 005a 0090 str r0, [sp] 2536 005c 2B46 mov r3, r5 2537 005e 0821 movs r1, #8 2538 0060 2046 mov r0, r4 2539 .LVL164: 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2540 .loc 1 1382 9 discriminator 2 view .LVU831 2541 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2542 .LVL165: 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2543 .loc 1 1382 8 discriminator 2 view .LVU832 2544 0066 0028 cmp r0, #0 2545 0068 35D1 bne .L208 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2546 .loc 1 1390 5 is_stmt 1 view .LVU833 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2547 .loc 1 1390 19 is_stmt 0 view .LVU834 2548 006a 236A ldr r3, [r4, #32] 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2549 .loc 1 1390 8 view .LVU835 2550 006c B3F5003F cmp r3, #131072 2551 0070 38D0 beq .L209 2552 .L196: 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2553 .loc 1 1403 5 is_stmt 1 view .LVU836 2554 0072 2368 ldr r3, [r4] 2555 0074 0822 movs r2, #8 2556 0076 DA61 str r2, [r3, #28] 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2557 .loc 1 1406 5 view .LVU837 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2558 .loc 1 1406 19 is_stmt 0 view .LVU838 2559 0078 E368 ldr r3, [r4, #12] 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2560 .loc 1 1406 8 view .LVU839 2561 007a 022B cmp r3, #2 2562 007c 3FD0 beq .L210 2563 .L197: 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2564 .loc 1 1421 5 is_stmt 1 view .LVU840 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2565 .loc 1 1421 9 is_stmt 0 view .LVU841 2566 007e 0096 str r6, [sp] 2567 0080 2B46 mov r3, r5 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 186 2568 0082 0022 movs r2, #0 2569 0084 4FF48031 mov r1, #65536 2570 0088 2046 mov r0, r4 2571 008a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2572 .LVL166: 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2573 .loc 1 1421 8 view .LVU842 2574 008e 0028 cmp r0, #0 2575 0090 48D1 bne .L211 2576 .L199: 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2577 .loc 1 1428 28 is_stmt 1 view .LVU843 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2578 .loc 1 1428 16 is_stmt 0 view .LVU844 2579 0092 638D ldrh r3, [r4, #42] 2580 0094 9BB2 uxth r3, r3 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2581 .loc 1 1428 28 view .LVU845 2582 0096 002B cmp r3, #0 2583 0098 52D0 beq .L212 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2584 .loc 1 1431 7 is_stmt 1 view .LVU846 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2585 .loc 1 1431 11 is_stmt 0 view .LVU847 2586 009a 3246 mov r2, r6 2587 009c 2946 mov r1, r5 2588 009e 2046 mov r0, r4 2589 00a0 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2590 .LVL167: 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2591 .loc 1 1431 10 view .LVU848 2592 00a4 0028 cmp r0, #0 2593 00a6 44D1 bne .L213 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2594 .loc 1 1439 7 is_stmt 1 view .LVU849 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2595 .loc 1 1439 35 is_stmt 0 view .LVU850 2596 00a8 626A ldr r2, [r4, #36] 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2597 .loc 1 1439 11 view .LVU851 2598 00aa 2368 ldr r3, [r4] 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2599 .loc 1 1439 30 view .LVU852 2600 00ac 1278 ldrb r2, [r2] @ zero_extendqisi2 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2601 .loc 1 1439 28 view .LVU853 2602 00ae 9A62 str r2, [r3, #40] 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2603 .loc 1 1442 7 is_stmt 1 view .LVU854 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2604 .loc 1 1442 11 is_stmt 0 view .LVU855 2605 00b0 636A ldr r3, [r4, #36] 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2606 .loc 1 1442 21 view .LVU856 2607 00b2 0133 adds r3, r3, #1 2608 00b4 6362 str r3, [r4, #36] 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 187 2609 .loc 1 1444 7 is_stmt 1 view .LVU857 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2610 .loc 1 1444 11 is_stmt 0 view .LVU858 2611 00b6 B4F82AC0 ldrh ip, [r4, #42] 2612 00ba 1FFA8CFC uxth ip, ip 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2613 .loc 1 1444 22 view .LVU859 2614 00be 0CF1FF3C add ip, ip, #-1 2615 00c2 1FFA8CFC uxth ip, ip 2616 00c6 A4F82AC0 strh ip, [r4, #42] @ movhi 2617 00ca E2E7 b .L199 2618 .LVL168: 2619 .L193: 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2620 .loc 1 1360 7 is_stmt 1 view .LVU860 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2621 .loc 1 1360 23 is_stmt 0 view .LVU861 2622 00cc 4FF40073 mov r3, #512 2623 00d0 6364 str r3, [r4, #68] 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2624 .loc 1 1361 7 is_stmt 1 view .LVU862 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2625 .loc 1 1361 15 is_stmt 0 view .LVU863 2626 00d2 0120 movs r0, #1 2627 .LVL169: 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2628 .loc 1 1361 15 view .LVU864 2629 00d4 78E0 b .L192 2630 .LVL170: 2631 .L208: 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2632 .loc 1 1385 7 is_stmt 1 view .LVU865 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2633 .loc 1 1385 11 is_stmt 0 view .LVU866 2634 00d6 2268 ldr r2, [r4] 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2635 .loc 1 1385 21 view .LVU867 2636 00d8 5368 ldr r3, [r2, #4] 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2637 .loc 1 1385 27 view .LVU868 2638 00da 43F40043 orr r3, r3, #32768 2639 00de 5360 str r3, [r2, #4] 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2640 .loc 1 1386 7 is_stmt 1 view .LVU869 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2641 .loc 1 1386 14 is_stmt 0 view .LVU870 2642 00e0 0120 movs r0, #1 2643 00e2 71E0 b .L192 2644 .L209: 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2645 .loc 1 1394 7 is_stmt 1 view .LVU871 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2646 .loc 1 1394 35 is_stmt 0 view .LVU872 2647 00e4 626A ldr r2, [r4, #36] 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2648 .loc 1 1394 11 view .LVU873 2649 00e6 2368 ldr r3, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 188 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2650 .loc 1 1394 30 view .LVU874 2651 00e8 1278 ldrb r2, [r2] @ zero_extendqisi2 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2652 .loc 1 1394 28 view .LVU875 2653 00ea 9A62 str r2, [r3, #40] 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2654 .loc 1 1397 7 is_stmt 1 view .LVU876 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2655 .loc 1 1397 11 is_stmt 0 view .LVU877 2656 00ec 636A ldr r3, [r4, #36] 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2657 .loc 1 1397 21 view .LVU878 2658 00ee 0133 adds r3, r3, #1 2659 00f0 6362 str r3, [r4, #36] 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2660 .loc 1 1399 7 is_stmt 1 view .LVU879 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2661 .loc 1 1399 11 is_stmt 0 view .LVU880 2662 00f2 638D ldrh r3, [r4, #42] 2663 00f4 9BB2 uxth r3, r3 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2664 .loc 1 1399 22 view .LVU881 2665 00f6 013B subs r3, r3, #1 2666 00f8 9BB2 uxth r3, r3 2667 00fa 6385 strh r3, [r4, #42] @ movhi 2668 00fc B9E7 b .L196 2669 .L210: 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2670 .loc 1 1409 7 is_stmt 1 view .LVU882 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2671 .loc 1 1409 11 is_stmt 0 view .LVU883 2672 00fe 0096 str r6, [sp] 2673 0100 2B46 mov r3, r5 2674 0102 0022 movs r2, #0 2675 0104 0821 movs r1, #8 2676 0106 2046 mov r0, r4 2677 0108 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2678 .LVL171: 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2679 .loc 1 1409 10 view .LVU884 2680 010c 18B9 cbnz r0, .L214 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2681 .loc 1 1417 7 is_stmt 1 view .LVU885 2682 010e 2368 ldr r3, [r4] 2683 0110 0822 movs r2, #8 2684 0112 DA61 str r2, [r3, #28] 2685 0114 B3E7 b .L197 2686 .L214: 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2687 .loc 1 1412 9 view .LVU886 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2688 .loc 1 1412 13 is_stmt 0 view .LVU887 2689 0116 2268 ldr r2, [r4] 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2690 .loc 1 1412 23 view .LVU888 2691 0118 5368 ldr r3, [r2, #4] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 189 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2692 .loc 1 1412 29 view .LVU889 2693 011a 43F40043 orr r3, r3, #32768 2694 011e 5360 str r3, [r2, #4] 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2695 .loc 1 1413 9 is_stmt 1 view .LVU890 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2696 .loc 1 1413 16 is_stmt 0 view .LVU891 2697 0120 0120 movs r0, #1 2698 0122 51E0 b .L192 2699 .L211: 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2700 .loc 1 1424 7 is_stmt 1 view .LVU892 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2701 .loc 1 1424 11 is_stmt 0 view .LVU893 2702 0124 2268 ldr r2, [r4] 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2703 .loc 1 1424 21 view .LVU894 2704 0126 5368 ldr r3, [r2, #4] 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2705 .loc 1 1424 27 view .LVU895 2706 0128 43F40043 orr r3, r3, #32768 2707 012c 5360 str r3, [r2, #4] 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2708 .loc 1 1425 7 is_stmt 1 view .LVU896 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2709 .loc 1 1425 14 is_stmt 0 view .LVU897 2710 012e 0120 movs r0, #1 2711 0130 4AE0 b .L192 2712 .L213: 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2713 .loc 1 1434 9 is_stmt 1 view .LVU898 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2714 .loc 1 1434 13 is_stmt 0 view .LVU899 2715 0132 2268 ldr r2, [r4] 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2716 .loc 1 1434 23 view .LVU900 2717 0134 5368 ldr r3, [r2, #4] 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2718 .loc 1 1434 29 view .LVU901 2719 0136 43F40043 orr r3, r3, #32768 2720 013a 5360 str r3, [r2, #4] 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2721 .loc 1 1435 9 is_stmt 1 view .LVU902 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2722 .loc 1 1435 16 is_stmt 0 view .LVU903 2723 013c 0120 movs r0, #1 2724 013e 43E0 b .L192 2725 .L212: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2726 .loc 1 1448 5 is_stmt 1 view .LVU904 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2727 .loc 1 1448 9 is_stmt 0 view .LVU905 2728 0140 0096 str r6, [sp] 2729 0142 2B46 mov r3, r5 2730 0144 0022 movs r2, #0 2731 0146 1021 movs r1, #16 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 190 2732 0148 2046 mov r0, r4 2733 014a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2734 .LVL172: 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2735 .loc 1 1448 8 view .LVU906 2736 014e 30B1 cbz r0, .L202 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2737 .loc 1 1451 7 is_stmt 1 view .LVU907 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2738 .loc 1 1451 11 is_stmt 0 view .LVU908 2739 0150 2268 ldr r2, [r4] 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2740 .loc 1 1451 21 view .LVU909 2741 0152 5368 ldr r3, [r2, #4] 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2742 .loc 1 1451 27 view .LVU910 2743 0154 43F40043 orr r3, r3, #32768 2744 0158 5360 str r3, [r2, #4] 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2745 .loc 1 1452 7 is_stmt 1 view .LVU911 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2746 .loc 1 1452 14 is_stmt 0 view .LVU912 2747 015a 0120 movs r0, #1 2748 015c 34E0 b .L192 2749 .L202: 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2750 .loc 1 1456 5 is_stmt 1 view .LVU913 2751 015e 2046 mov r0, r4 2752 0160 FFF7FEFF bl I2C_Flush_TXDR 2753 .LVL173: 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2754 .loc 1 1459 5 view .LVU914 2755 0164 2368 ldr r3, [r4] 2756 0166 1022 movs r2, #16 2757 0168 DA61 str r2, [r3, #28] 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2758 .loc 1 1462 5 view .LVU915 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2759 .loc 1 1462 9 is_stmt 0 view .LVU916 2760 016a 3246 mov r2, r6 2761 016c 2946 mov r1, r5 2762 016e 2046 mov r0, r4 2763 0170 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 2764 .LVL174: 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2765 .loc 1 1462 8 view .LVU917 2766 0174 30B1 cbz r0, .L203 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2767 .loc 1 1465 7 is_stmt 1 view .LVU918 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2768 .loc 1 1465 11 is_stmt 0 view .LVU919 2769 0176 2268 ldr r2, [r4] 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2770 .loc 1 1465 21 view .LVU920 2771 0178 5368 ldr r3, [r2, #4] 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2772 .loc 1 1465 27 view .LVU921 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 191 2773 017a 43F40043 orr r3, r3, #32768 2774 017e 5360 str r3, [r2, #4] 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2775 .loc 1 1467 7 is_stmt 1 view .LVU922 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2776 .loc 1 1467 14 is_stmt 0 view .LVU923 2777 0180 0120 movs r0, #1 2778 0182 21E0 b .L192 2779 .L203: 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2780 .loc 1 1471 5 is_stmt 1 view .LVU924 2781 0184 2368 ldr r3, [r4] 2782 0186 2022 movs r2, #32 2783 0188 DA61 str r2, [r3, #28] 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2784 .loc 1 1474 5 view .LVU925 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2785 .loc 1 1474 9 is_stmt 0 view .LVU926 2786 018a 0096 str r6, [sp] 2787 018c 2B46 mov r3, r5 2788 018e 0122 movs r2, #1 2789 0190 4FF40041 mov r1, #32768 2790 0194 2046 mov r0, r4 2791 0196 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2792 .LVL175: 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2793 .loc 1 1474 8 view .LVU927 2794 019a 30B1 cbz r0, .L204 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2795 .loc 1 1477 7 is_stmt 1 view .LVU928 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2796 .loc 1 1477 11 is_stmt 0 view .LVU929 2797 019c 2268 ldr r2, [r4] 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2798 .loc 1 1477 21 view .LVU930 2799 019e 5368 ldr r3, [r2, #4] 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2800 .loc 1 1477 27 view .LVU931 2801 01a0 43F40043 orr r3, r3, #32768 2802 01a4 5360 str r3, [r2, #4] 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2803 .loc 1 1478 7 is_stmt 1 view .LVU932 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2804 .loc 1 1478 14 is_stmt 0 view .LVU933 2805 01a6 0120 movs r0, #1 2806 01a8 0EE0 b .L192 2807 .L204: 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2808 .loc 1 1482 5 is_stmt 1 view .LVU934 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2809 .loc 1 1482 9 is_stmt 0 view .LVU935 2810 01aa 2268 ldr r2, [r4] 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2811 .loc 1 1482 19 view .LVU936 2812 01ac 5368 ldr r3, [r2, #4] 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2813 .loc 1 1482 25 view .LVU937 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 192 2814 01ae 43F40043 orr r3, r3, #32768 2815 01b2 5360 str r3, [r2, #4] 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2816 .loc 1 1484 5 is_stmt 1 view .LVU938 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2817 .loc 1 1484 17 is_stmt 0 view .LVU939 2818 01b4 2023 movs r3, #32 2819 01b6 84F84130 strb r3, [r4, #65] 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2820 .loc 1 1485 5 is_stmt 1 view .LVU940 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2821 .loc 1 1485 17 is_stmt 0 view .LVU941 2822 01ba 0023 movs r3, #0 2823 01bc 84F84230 strb r3, [r4, #66] 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2824 .loc 1 1488 5 is_stmt 1 view .LVU942 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2825 .loc 1 1488 5 view .LVU943 2826 01c0 84F84030 strb r3, [r4, #64] 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2827 .loc 1 1488 5 view .LVU944 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2828 .loc 1 1490 5 view .LVU945 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2829 .loc 1 1490 12 is_stmt 0 view .LVU946 2830 01c4 00E0 b .L192 2831 .LVL176: 2832 .L205: 1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2833 .loc 1 1494 12 view .LVU947 2834 01c6 0220 movs r0, #2 2835 .LVL177: 2836 .L192: 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2837 .loc 1 1496 1 view .LVU948 2838 01c8 02B0 add sp, sp, #8 2839 .cfi_remember_state 2840 .cfi_def_cfa_offset 24 2841 @ sp needed 2842 01ca BDE8F081 pop {r4, r5, r6, r7, r8, pc} 2843 .LVL178: 2844 .L206: 2845 .cfi_restore_state 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2846 .loc 1 1364 5 view .LVU949 2847 01ce 0220 movs r0, #2 2848 .LVL179: 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2849 .loc 1 1364 5 view .LVU950 2850 01d0 FAE7 b .L192 2851 .cfi_endproc 2852 .LFE136: 2854 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits 2855 .align 1 2856 .global HAL_I2C_Slave_Receive 2857 .syntax unified 2858 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 193 2859 .thumb_func 2861 HAL_I2C_Slave_Receive: 2862 .LVL180: 2863 .LFB137: 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2864 .loc 1 1509 1 is_stmt 1 view -0 2865 .cfi_startproc 2866 @ args = 0, pretend = 0, frame = 0 2867 @ frame_needed = 0, uses_anonymous_args = 0 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2868 .loc 1 1509 1 is_stmt 0 view .LVU952 2869 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 2870 .cfi_def_cfa_offset 24 2871 .cfi_offset 4, -24 2872 .cfi_offset 5, -20 2873 .cfi_offset 6, -16 2874 .cfi_offset 7, -12 2875 .cfi_offset 8, -8 2876 .cfi_offset 14, -4 2877 0004 82B0 sub sp, sp, #8 2878 .cfi_def_cfa_offset 32 2879 0006 1D46 mov r5, r3 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2880 .loc 1 1510 3 is_stmt 1 view .LVU953 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2881 .loc 1 1512 3 view .LVU954 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2882 .loc 1 1512 11 is_stmt 0 view .LVU955 2883 0008 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2884 .LVL181: 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2885 .loc 1 1512 11 view .LVU956 2886 000c DBB2 uxtb r3, r3 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2887 .loc 1 1512 6 view .LVU957 2888 000e 202B cmp r3, #32 2889 0010 40F0AF80 bne .L226 2890 0014 0446 mov r4, r0 2891 0016 0E46 mov r6, r1 2892 0018 9046 mov r8, r2 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2893 .loc 1 1514 5 is_stmt 1 view .LVU958 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2894 .loc 1 1514 8 is_stmt 0 view .LVU959 2895 001a 61B3 cbz r1, .L217 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2896 .loc 1 1514 25 discriminator 1 view .LVU960 2897 001c 5AB3 cbz r2, .L217 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2898 .loc 1 1520 5 is_stmt 1 view .LVU961 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2899 .loc 1 1520 5 view .LVU962 2900 001e 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2901 0022 012B cmp r3, #1 2902 0024 00F0A980 beq .L227 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2903 .loc 1 1520 5 discriminator 2 view .LVU963 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 194 2904 0028 0123 movs r3, #1 2905 002a 80F84030 strb r3, [r0, #64] 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2906 .loc 1 1520 5 discriminator 2 view .LVU964 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2907 .loc 1 1523 5 discriminator 2 view .LVU965 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2908 .loc 1 1523 17 is_stmt 0 discriminator 2 view .LVU966 2909 002e FFF7FEFF bl HAL_GetTick 2910 .LVL182: 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2911 .loc 1 1523 17 discriminator 2 view .LVU967 2912 0032 0746 mov r7, r0 2913 .LVL183: 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2914 .loc 1 1525 5 is_stmt 1 discriminator 2 view .LVU968 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2915 .loc 1 1525 21 is_stmt 0 discriminator 2 view .LVU969 2916 0034 2223 movs r3, #34 2917 0036 84F84130 strb r3, [r4, #65] 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2918 .loc 1 1526 5 is_stmt 1 discriminator 2 view .LVU970 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2919 .loc 1 1526 21 is_stmt 0 discriminator 2 view .LVU971 2920 003a 2023 movs r3, #32 2921 003c 84F84230 strb r3, [r4, #66] 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2922 .loc 1 1527 5 is_stmt 1 discriminator 2 view .LVU972 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2923 .loc 1 1527 21 is_stmt 0 discriminator 2 view .LVU973 2924 0040 0022 movs r2, #0 2925 0042 6264 str r2, [r4, #68] 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2926 .loc 1 1530 5 is_stmt 1 discriminator 2 view .LVU974 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2927 .loc 1 1530 21 is_stmt 0 discriminator 2 view .LVU975 2928 0044 6662 str r6, [r4, #36] 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2929 .loc 1 1531 5 is_stmt 1 discriminator 2 view .LVU976 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2930 .loc 1 1531 21 is_stmt 0 discriminator 2 view .LVU977 2931 0046 A4F82A80 strh r8, [r4, #42] @ movhi 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2932 .loc 1 1532 5 is_stmt 1 discriminator 2 view .LVU978 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2933 .loc 1 1532 26 is_stmt 0 discriminator 2 view .LVU979 2934 004a 638D ldrh r3, [r4, #42] 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2935 .loc 1 1532 20 discriminator 2 view .LVU980 2936 004c 2385 strh r3, [r4, #40] @ movhi 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2937 .loc 1 1533 5 is_stmt 1 discriminator 2 view .LVU981 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2938 .loc 1 1533 21 is_stmt 0 discriminator 2 view .LVU982 2939 004e 6263 str r2, [r4, #52] 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2940 .loc 1 1536 5 is_stmt 1 discriminator 2 view .LVU983 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 195 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2941 .loc 1 1536 9 is_stmt 0 discriminator 2 view .LVU984 2942 0050 2168 ldr r1, [r4] 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2943 .loc 1 1536 19 discriminator 2 view .LVU985 2944 0052 4B68 ldr r3, [r1, #4] 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2945 .loc 1 1536 25 discriminator 2 view .LVU986 2946 0054 23F40043 bic r3, r3, #32768 2947 0058 4B60 str r3, [r1, #4] 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2948 .loc 1 1539 5 is_stmt 1 discriminator 2 view .LVU987 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2949 .loc 1 1539 9 is_stmt 0 discriminator 2 view .LVU988 2950 005a 0090 str r0, [sp] 2951 005c 2B46 mov r3, r5 2952 005e 0821 movs r1, #8 2953 0060 2046 mov r0, r4 2954 .LVL184: 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2955 .loc 1 1539 9 discriminator 2 view .LVU989 2956 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2957 .LVL185: 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2958 .loc 1 1539 8 discriminator 2 view .LVU990 2959 0066 58B1 cbz r0, .L219 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2960 .loc 1 1542 7 is_stmt 1 view .LVU991 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2961 .loc 1 1542 11 is_stmt 0 view .LVU992 2962 0068 2268 ldr r2, [r4] 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2963 .loc 1 1542 21 view .LVU993 2964 006a 5368 ldr r3, [r2, #4] 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2965 .loc 1 1542 27 view .LVU994 2966 006c 43F40043 orr r3, r3, #32768 2967 0070 5360 str r3, [r2, #4] 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2968 .loc 1 1543 7 is_stmt 1 view .LVU995 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2969 .loc 1 1543 14 is_stmt 0 view .LVU996 2970 0072 0120 movs r0, #1 2971 0074 7EE0 b .L216 2972 .LVL186: 2973 .L217: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2974 .loc 1 1516 7 is_stmt 1 view .LVU997 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2975 .loc 1 1516 23 is_stmt 0 view .LVU998 2976 0076 4FF40073 mov r3, #512 2977 007a 6364 str r3, [r4, #68] 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2978 .loc 1 1517 7 is_stmt 1 view .LVU999 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2979 .loc 1 1517 15 is_stmt 0 view .LVU1000 2980 007c 0120 movs r0, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 196 2981 .LVL187: 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2982 .loc 1 1517 15 view .LVU1001 2983 007e 79E0 b .L216 2984 .LVL188: 2985 .L219: 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2986 .loc 1 1547 5 is_stmt 1 view .LVU1002 2987 0080 2368 ldr r3, [r4] 2988 0082 0822 movs r2, #8 2989 0084 DA61 str r2, [r3, #28] 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2990 .loc 1 1550 5 view .LVU1003 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2991 .loc 1 1550 9 is_stmt 0 view .LVU1004 2992 0086 0097 str r7, [sp] 2993 0088 2B46 mov r3, r5 2994 008a 0122 movs r2, #1 2995 008c 4FF48031 mov r1, #65536 2996 0090 2046 mov r0, r4 2997 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2998 .LVL189: 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2999 .loc 1 1550 8 view .LVU1005 3000 0096 D0B1 cbz r0, .L220 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3001 .loc 1 1553 7 is_stmt 1 view .LVU1006 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3002 .loc 1 1553 11 is_stmt 0 view .LVU1007 3003 0098 2268 ldr r2, [r4] 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3004 .loc 1 1553 21 view .LVU1008 3005 009a 5368 ldr r3, [r2, #4] 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3006 .loc 1 1553 27 view .LVU1009 3007 009c 43F40043 orr r3, r3, #32768 3008 00a0 5360 str r3, [r2, #4] 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3009 .loc 1 1554 7 is_stmt 1 view .LVU1010 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3010 .loc 1 1554 14 is_stmt 0 view .LVU1011 3011 00a2 0120 movs r0, #1 3012 00a4 66E0 b .L216 3013 .L221: 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3014 .loc 1 1582 7 is_stmt 1 view .LVU1012 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3015 .loc 1 1582 38 is_stmt 0 view .LVU1013 3016 00a6 2368 ldr r3, [r4] 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3017 .loc 1 1582 48 view .LVU1014 3018 00a8 5A6A ldr r2, [r3, #36] 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3019 .loc 1 1582 12 view .LVU1015 3020 00aa 636A ldr r3, [r4, #36] 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3021 .loc 1 1582 23 view .LVU1016 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 197 3022 00ac 1A70 strb r2, [r3] 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3023 .loc 1 1585 7 is_stmt 1 view .LVU1017 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3024 .loc 1 1585 11 is_stmt 0 view .LVU1018 3025 00ae 636A ldr r3, [r4, #36] 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3026 .loc 1 1585 21 view .LVU1019 3027 00b0 0133 adds r3, r3, #1 3028 00b2 6362 str r3, [r4, #36] 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3029 .loc 1 1587 7 is_stmt 1 view .LVU1020 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3030 .loc 1 1587 11 is_stmt 0 view .LVU1021 3031 00b4 B4F82AC0 ldrh ip, [r4, #42] 3032 00b8 1FFA8CFC uxth ip, ip 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3033 .loc 1 1587 22 view .LVU1022 3034 00bc 0CF1FF3C add ip, ip, #-1 3035 00c0 1FFA8CFC uxth ip, ip 3036 00c4 A4F82AC0 strh ip, [r4, #42] @ movhi 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3037 .loc 1 1588 7 is_stmt 1 view .LVU1023 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3038 .loc 1 1588 11 is_stmt 0 view .LVU1024 3039 00c8 238D ldrh r3, [r4, #40] 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3040 .loc 1 1588 21 view .LVU1025 3041 00ca 013B subs r3, r3, #1 3042 00cc 2385 strh r3, [r4, #40] @ movhi 3043 .L220: 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3044 .loc 1 1557 28 is_stmt 1 view .LVU1026 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3045 .loc 1 1557 16 is_stmt 0 view .LVU1027 3046 00ce 638D ldrh r3, [r4, #42] 3047 00d0 9BB2 uxth r3, r3 1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3048 .loc 1 1557 28 view .LVU1028 3049 00d2 03B3 cbz r3, .L229 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3050 .loc 1 1560 7 is_stmt 1 view .LVU1029 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3051 .loc 1 1560 11 is_stmt 0 view .LVU1030 3052 00d4 3A46 mov r2, r7 3053 00d6 2946 mov r1, r5 3054 00d8 2046 mov r0, r4 3055 00da FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 3056 .LVL190: 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3057 .loc 1 1560 10 view .LVU1031 3058 00de 0028 cmp r0, #0 3059 00e0 E1D0 beq .L221 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3060 .loc 1 1563 9 is_stmt 1 view .LVU1032 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3061 .loc 1 1563 13 is_stmt 0 view .LVU1033 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 198 3062 00e2 2268 ldr r2, [r4] 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3063 .loc 1 1563 23 view .LVU1034 3064 00e4 5368 ldr r3, [r2, #4] 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3065 .loc 1 1563 29 view .LVU1035 3066 00e6 43F40043 orr r3, r3, #32768 3067 00ea 5360 str r3, [r2, #4] 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3068 .loc 1 1566 9 is_stmt 1 view .LVU1036 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3069 .loc 1 1566 13 is_stmt 0 view .LVU1037 3070 00ec 2368 ldr r3, [r4] 3071 00ee 9A69 ldr r2, [r3, #24] 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3072 .loc 1 1566 12 view .LVU1038 3073 00f0 12F0040F tst r2, #4 3074 00f4 0DD0 beq .L222 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3075 .loc 1 1569 11 is_stmt 1 view .LVU1039 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3076 .loc 1 1569 52 is_stmt 0 view .LVU1040 3077 00f6 5A6A ldr r2, [r3, #36] 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3078 .loc 1 1569 16 view .LVU1041 3079 00f8 636A ldr r3, [r4, #36] 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3080 .loc 1 1569 27 view .LVU1042 3081 00fa 1A70 strb r2, [r3] 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3082 .loc 1 1572 11 is_stmt 1 view .LVU1043 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3083 .loc 1 1572 15 is_stmt 0 view .LVU1044 3084 00fc 636A ldr r3, [r4, #36] 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3085 .loc 1 1572 25 view .LVU1045 3086 00fe 0133 adds r3, r3, #1 3087 0100 6362 str r3, [r4, #36] 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3088 .loc 1 1574 11 is_stmt 1 view .LVU1046 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3089 .loc 1 1574 15 is_stmt 0 view .LVU1047 3090 0102 638D ldrh r3, [r4, #42] 3091 0104 9BB2 uxth r3, r3 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3092 .loc 1 1574 26 view .LVU1048 3093 0106 013B subs r3, r3, #1 3094 0108 9BB2 uxth r3, r3 3095 010a 6385 strh r3, [r4, #42] @ movhi 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3096 .loc 1 1575 11 is_stmt 1 view .LVU1049 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3097 .loc 1 1575 15 is_stmt 0 view .LVU1050 3098 010c 238D ldrh r3, [r4, #40] 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3099 .loc 1 1575 25 view .LVU1051 3100 010e 013B subs r3, r3, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 199 3101 0110 2385 strh r3, [r4, #40] @ movhi 3102 .L222: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3103 .loc 1 1578 9 is_stmt 1 view .LVU1052 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3104 .loc 1 1578 16 is_stmt 0 view .LVU1053 3105 0112 0120 movs r0, #1 3106 0114 2EE0 b .L216 3107 .L229: 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3108 .loc 1 1592 5 is_stmt 1 view .LVU1054 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3109 .loc 1 1592 9 is_stmt 0 view .LVU1055 3110 0116 3A46 mov r2, r7 3111 0118 2946 mov r1, r5 3112 011a 2046 mov r0, r4 3113 011c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 3114 .LVL191: 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3115 .loc 1 1592 8 view .LVU1056 3116 0120 30B1 cbz r0, .L224 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3117 .loc 1 1595 7 is_stmt 1 view .LVU1057 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3118 .loc 1 1595 11 is_stmt 0 view .LVU1058 3119 0122 2268 ldr r2, [r4] 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3120 .loc 1 1595 21 view .LVU1059 3121 0124 5368 ldr r3, [r2, #4] 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3122 .loc 1 1595 27 view .LVU1060 3123 0126 43F40043 orr r3, r3, #32768 3124 012a 5360 str r3, [r2, #4] 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3125 .loc 1 1596 7 is_stmt 1 view .LVU1061 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3126 .loc 1 1596 14 is_stmt 0 view .LVU1062 3127 012c 0120 movs r0, #1 3128 012e 21E0 b .L216 3129 .L224: 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3130 .loc 1 1600 5 is_stmt 1 view .LVU1063 3131 0130 2368 ldr r3, [r4] 3132 0132 2022 movs r2, #32 3133 0134 DA61 str r2, [r3, #28] 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3134 .loc 1 1603 5 view .LVU1064 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3135 .loc 1 1603 9 is_stmt 0 view .LVU1065 3136 0136 0097 str r7, [sp] 3137 0138 2B46 mov r3, r5 3138 013a 0122 movs r2, #1 3139 013c 4FF40041 mov r1, #32768 3140 0140 2046 mov r0, r4 3141 0142 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 3142 .LVL192: 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 200 3143 .loc 1 1603 8 view .LVU1066 3144 0146 30B1 cbz r0, .L225 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3145 .loc 1 1606 7 is_stmt 1 view .LVU1067 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3146 .loc 1 1606 11 is_stmt 0 view .LVU1068 3147 0148 2268 ldr r2, [r4] 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3148 .loc 1 1606 21 view .LVU1069 3149 014a 5368 ldr r3, [r2, #4] 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3150 .loc 1 1606 27 view .LVU1070 3151 014c 43F40043 orr r3, r3, #32768 3152 0150 5360 str r3, [r2, #4] 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3153 .loc 1 1607 7 is_stmt 1 view .LVU1071 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3154 .loc 1 1607 14 is_stmt 0 view .LVU1072 3155 0152 0120 movs r0, #1 3156 0154 0EE0 b .L216 3157 .L225: 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3158 .loc 1 1611 5 is_stmt 1 view .LVU1073 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3159 .loc 1 1611 9 is_stmt 0 view .LVU1074 3160 0156 2268 ldr r2, [r4] 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3161 .loc 1 1611 19 view .LVU1075 3162 0158 5368 ldr r3, [r2, #4] 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3163 .loc 1 1611 25 view .LVU1076 3164 015a 43F40043 orr r3, r3, #32768 3165 015e 5360 str r3, [r2, #4] 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3166 .loc 1 1613 5 is_stmt 1 view .LVU1077 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3167 .loc 1 1613 17 is_stmt 0 view .LVU1078 3168 0160 2023 movs r3, #32 3169 0162 84F84130 strb r3, [r4, #65] 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3170 .loc 1 1614 5 is_stmt 1 view .LVU1079 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3171 .loc 1 1614 17 is_stmt 0 view .LVU1080 3172 0166 0023 movs r3, #0 3173 0168 84F84230 strb r3, [r4, #66] 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3174 .loc 1 1617 5 is_stmt 1 view .LVU1081 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3175 .loc 1 1617 5 view .LVU1082 3176 016c 84F84030 strb r3, [r4, #64] 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3177 .loc 1 1617 5 view .LVU1083 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3178 .loc 1 1619 5 view .LVU1084 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3179 .loc 1 1619 12 is_stmt 0 view .LVU1085 3180 0170 00E0 b .L216 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 201 3181 .LVL193: 3182 .L226: 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3183 .loc 1 1623 12 view .LVU1086 3184 0172 0220 movs r0, #2 3185 .LVL194: 3186 .L216: 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3187 .loc 1 1625 1 view .LVU1087 3188 0174 02B0 add sp, sp, #8 3189 .cfi_remember_state 3190 .cfi_def_cfa_offset 24 3191 @ sp needed 3192 0176 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 3193 .LVL195: 3194 .L227: 3195 .cfi_restore_state 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3196 .loc 1 1520 5 view .LVU1088 3197 017a 0220 movs r0, #2 3198 .LVL196: 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3199 .loc 1 1520 5 view .LVU1089 3200 017c FAE7 b .L216 3201 .cfi_endproc 3202 .LFE137: 3204 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits 3205 .align 1 3206 .global HAL_I2C_Master_Transmit_IT 3207 .syntax unified 3208 .thumb 3209 .thumb_func 3211 HAL_I2C_Master_Transmit_IT: 3212 .LVL197: 3213 .LFB138: 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3214 .loc 1 1639 1 is_stmt 1 view -0 3215 .cfi_startproc 3216 @ args = 0, pretend = 0, frame = 0 3217 @ frame_needed = 0, uses_anonymous_args = 0 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3218 .loc 1 1639 1 is_stmt 0 view .LVU1091 3219 0000 30B5 push {r4, r5, lr} 3220 .cfi_def_cfa_offset 12 3221 .cfi_offset 4, -12 3222 .cfi_offset 5, -8 3223 .cfi_offset 14, -4 3224 0002 83B0 sub sp, sp, #12 3225 .cfi_def_cfa_offset 24 3226 0004 0446 mov r4, r0 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3227 .loc 1 1640 3 is_stmt 1 view .LVU1092 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3228 .loc 1 1642 3 view .LVU1093 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3229 .loc 1 1642 11 is_stmt 0 view .LVU1094 3230 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 202 3231 .LVL198: 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3232 .loc 1 1642 11 view .LVU1095 3233 000a C0B2 uxtb r0, r0 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3234 .loc 1 1642 6 view .LVU1096 3235 000c 2028 cmp r0, #32 3236 000e 37D1 bne .L234 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3237 .loc 1 1644 5 is_stmt 1 view .LVU1097 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3238 .loc 1 1644 9 is_stmt 0 view .LVU1098 3239 0010 2068 ldr r0, [r4] 3240 0012 8069 ldr r0, [r0, #24] 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3241 .loc 1 1644 8 view .LVU1099 3242 0014 10F4004F tst r0, #32768 3243 0018 34D1 bne .L235 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3244 .loc 1 1650 5 is_stmt 1 view .LVU1100 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3245 .loc 1 1650 5 view .LVU1101 3246 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 3247 001e 0128 cmp r0, #1 3248 0020 32D0 beq .L236 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3249 .loc 1 1650 5 discriminator 2 view .LVU1102 3250 0022 0120 movs r0, #1 3251 0024 84F84000 strb r0, [r4, #64] 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3252 .loc 1 1650 5 discriminator 2 view .LVU1103 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3253 .loc 1 1652 5 discriminator 2 view .LVU1104 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3254 .loc 1 1652 23 is_stmt 0 discriminator 2 view .LVU1105 3255 0028 2120 movs r0, #33 3256 002a 84F84100 strb r0, [r4, #65] 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3257 .loc 1 1653 5 is_stmt 1 discriminator 2 view .LVU1106 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3258 .loc 1 1653 23 is_stmt 0 discriminator 2 view .LVU1107 3259 002e 1020 movs r0, #16 3260 0030 84F84200 strb r0, [r4, #66] 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3261 .loc 1 1654 5 is_stmt 1 discriminator 2 view .LVU1108 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3262 .loc 1 1654 23 is_stmt 0 discriminator 2 view .LVU1109 3263 0034 0020 movs r0, #0 3264 0036 6064 str r0, [r4, #68] 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3265 .loc 1 1657 5 is_stmt 1 discriminator 2 view .LVU1110 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3266 .loc 1 1657 23 is_stmt 0 discriminator 2 view .LVU1111 3267 0038 6262 str r2, [r4, #36] 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3268 .loc 1 1658 5 is_stmt 1 discriminator 2 view .LVU1112 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 203 3269 .loc 1 1658 23 is_stmt 0 discriminator 2 view .LVU1113 3270 003a 6385 strh r3, [r4, #42] @ movhi 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3271 .loc 1 1659 5 is_stmt 1 discriminator 2 view .LVU1114 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3272 .loc 1 1659 23 is_stmt 0 discriminator 2 view .LVU1115 3273 003c 134B ldr r3, .L238 3274 .LVL199: 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3275 .loc 1 1659 23 discriminator 2 view .LVU1116 3276 003e E362 str r3, [r4, #44] 3277 .LVL200: 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3278 .loc 1 1660 5 is_stmt 1 discriminator 2 view .LVU1117 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3279 .loc 1 1660 23 is_stmt 0 discriminator 2 view .LVU1118 3280 0040 134B ldr r3, .L238+4 3281 0042 6363 str r3, [r4, #52] 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3282 .loc 1 1662 5 is_stmt 1 discriminator 2 view .LVU1119 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3283 .loc 1 1662 13 is_stmt 0 discriminator 2 view .LVU1120 3284 0044 638D ldrh r3, [r4, #42] 3285 0046 9BB2 uxth r3, r3 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3286 .loc 1 1662 8 discriminator 2 view .LVU1121 3287 0048 FF2B cmp r3, #255 3288 004a 14D9 bls .L232 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3289 .loc 1 1664 7 is_stmt 1 view .LVU1122 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3290 .loc 1 1664 22 is_stmt 0 view .LVU1123 3291 004c FF23 movs r3, #255 3292 004e 2385 strh r3, [r4, #40] @ movhi 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3293 .loc 1 1665 7 is_stmt 1 view .LVU1124 3294 .LVL201: 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3295 .loc 1 1665 16 is_stmt 0 view .LVU1125 3296 0050 4FF08073 mov r3, #16777216 3297 .LVL202: 3298 .L233: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3299 .loc 1 1675 5 is_stmt 1 view .LVU1126 3300 0054 0F4A ldr r2, .L238+8 3301 .LVL203: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3302 .loc 1 1675 5 is_stmt 0 view .LVU1127 3303 0056 0092 str r2, [sp] 3304 .LVL204: 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3305 .loc 1 1675 5 view .LVU1128 3306 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 3307 005c 2046 mov r0, r4 3308 005e FFF7FEFF bl I2C_TransferConfig 3309 .LVL205: 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 204 3310 .loc 1 1678 5 is_stmt 1 view .LVU1129 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3311 .loc 1 1678 5 view .LVU1130 3312 0062 0025 movs r5, #0 3313 0064 84F84050 strb r5, [r4, #64] 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3314 .loc 1 1678 5 view .LVU1131 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3315 .loc 1 1688 5 view .LVU1132 3316 0068 0121 movs r1, #1 3317 006a 2046 mov r0, r4 3318 006c FFF7FEFF bl I2C_Enable_IRQ 3319 .LVL206: 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3320 .loc 1 1690 5 view .LVU1133 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3321 .loc 1 1690 12 is_stmt 0 view .LVU1134 3322 0070 2846 mov r0, r5 3323 .LVL207: 3324 .L231: 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3325 .loc 1 1696 1 view .LVU1135 3326 0072 03B0 add sp, sp, #12 3327 .cfi_remember_state 3328 .cfi_def_cfa_offset 12 3329 @ sp needed 3330 0074 30BD pop {r4, r5, pc} 3331 .LVL208: 3332 .L232: 3333 .cfi_restore_state 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3334 .loc 1 1669 7 is_stmt 1 view .LVU1136 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3335 .loc 1 1669 28 is_stmt 0 view .LVU1137 3336 0076 638D ldrh r3, [r4, #42] 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3337 .loc 1 1669 22 view .LVU1138 3338 0078 2385 strh r3, [r4, #40] @ movhi 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3339 .loc 1 1670 7 is_stmt 1 view .LVU1139 3340 .LVL209: 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3341 .loc 1 1670 16 is_stmt 0 view .LVU1140 3342 007a 4FF00073 mov r3, #33554432 3343 007e E9E7 b .L233 3344 .LVL210: 3345 .L234: 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3346 .loc 1 1694 12 view .LVU1141 3347 0080 0220 movs r0, #2 3348 0082 F6E7 b .L231 3349 .L235: 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3350 .loc 1 1646 14 view .LVU1142 3351 0084 0220 movs r0, #2 3352 0086 F4E7 b .L231 3353 .L236: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 205 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3354 .loc 1 1650 5 view .LVU1143 3355 0088 0220 movs r0, #2 3356 008a F2E7 b .L231 3357 .L239: 3358 .align 2 3359 .L238: 3360 008c 0000FFFF .word -65536 3361 0090 00000000 .word I2C_Master_ISR_IT 3362 0094 00200080 .word -2147475456 3363 .cfi_endproc 3364 .LFE138: 3366 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits 3367 .align 1 3368 .global HAL_I2C_Master_Receive_IT 3369 .syntax unified 3370 .thumb 3371 .thumb_func 3373 HAL_I2C_Master_Receive_IT: 3374 .LVL211: 3375 .LFB139: 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3376 .loc 1 1710 1 is_stmt 1 view -0 3377 .cfi_startproc 3378 @ args = 0, pretend = 0, frame = 0 3379 @ frame_needed = 0, uses_anonymous_args = 0 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3380 .loc 1 1710 1 is_stmt 0 view .LVU1145 3381 0000 30B5 push {r4, r5, lr} 3382 .cfi_def_cfa_offset 12 3383 .cfi_offset 4, -12 3384 .cfi_offset 5, -8 3385 .cfi_offset 14, -4 3386 0002 83B0 sub sp, sp, #12 3387 .cfi_def_cfa_offset 24 3388 0004 0446 mov r4, r0 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3389 .loc 1 1711 3 is_stmt 1 view .LVU1146 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3390 .loc 1 1713 3 view .LVU1147 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3391 .loc 1 1713 11 is_stmt 0 view .LVU1148 3392 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 3393 .LVL212: 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3394 .loc 1 1713 11 view .LVU1149 3395 000a C0B2 uxtb r0, r0 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3396 .loc 1 1713 6 view .LVU1150 3397 000c 2028 cmp r0, #32 3398 000e 37D1 bne .L244 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3399 .loc 1 1715 5 is_stmt 1 view .LVU1151 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3400 .loc 1 1715 9 is_stmt 0 view .LVU1152 3401 0010 2068 ldr r0, [r4] 3402 0012 8069 ldr r0, [r0, #24] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 206 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3403 .loc 1 1715 8 view .LVU1153 3404 0014 10F4004F tst r0, #32768 3405 0018 34D1 bne .L245 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3406 .loc 1 1721 5 is_stmt 1 view .LVU1154 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3407 .loc 1 1721 5 view .LVU1155 3408 001a 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 3409 001e 0128 cmp r0, #1 3410 0020 32D0 beq .L246 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3411 .loc 1 1721 5 discriminator 2 view .LVU1156 3412 0022 0120 movs r0, #1 3413 0024 84F84000 strb r0, [r4, #64] 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3414 .loc 1 1721 5 discriminator 2 view .LVU1157 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3415 .loc 1 1723 5 discriminator 2 view .LVU1158 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3416 .loc 1 1723 23 is_stmt 0 discriminator 2 view .LVU1159 3417 0028 2220 movs r0, #34 3418 002a 84F84100 strb r0, [r4, #65] 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3419 .loc 1 1724 5 is_stmt 1 discriminator 2 view .LVU1160 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3420 .loc 1 1724 23 is_stmt 0 discriminator 2 view .LVU1161 3421 002e 1020 movs r0, #16 3422 0030 84F84200 strb r0, [r4, #66] 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3423 .loc 1 1725 5 is_stmt 1 discriminator 2 view .LVU1162 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3424 .loc 1 1725 23 is_stmt 0 discriminator 2 view .LVU1163 3425 0034 0020 movs r0, #0 3426 0036 6064 str r0, [r4, #68] 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3427 .loc 1 1728 5 is_stmt 1 discriminator 2 view .LVU1164 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3428 .loc 1 1728 23 is_stmt 0 discriminator 2 view .LVU1165 3429 0038 6262 str r2, [r4, #36] 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3430 .loc 1 1729 5 is_stmt 1 discriminator 2 view .LVU1166 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3431 .loc 1 1729 23 is_stmt 0 discriminator 2 view .LVU1167 3432 003a 6385 strh r3, [r4, #42] @ movhi 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3433 .loc 1 1730 5 is_stmt 1 discriminator 2 view .LVU1168 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3434 .loc 1 1730 23 is_stmt 0 discriminator 2 view .LVU1169 3435 003c 134B ldr r3, .L248 3436 .LVL213: 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3437 .loc 1 1730 23 discriminator 2 view .LVU1170 3438 003e E362 str r3, [r4, #44] 3439 .LVL214: 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3440 .loc 1 1731 5 is_stmt 1 discriminator 2 view .LVU1171 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 207 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3441 .loc 1 1731 23 is_stmt 0 discriminator 2 view .LVU1172 3442 0040 134B ldr r3, .L248+4 3443 0042 6363 str r3, [r4, #52] 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3444 .loc 1 1733 5 is_stmt 1 discriminator 2 view .LVU1173 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3445 .loc 1 1733 13 is_stmt 0 discriminator 2 view .LVU1174 3446 0044 638D ldrh r3, [r4, #42] 3447 0046 9BB2 uxth r3, r3 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3448 .loc 1 1733 8 discriminator 2 view .LVU1175 3449 0048 FF2B cmp r3, #255 3450 004a 14D9 bls .L242 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3451 .loc 1 1735 7 is_stmt 1 view .LVU1176 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3452 .loc 1 1735 22 is_stmt 0 view .LVU1177 3453 004c FF23 movs r3, #255 3454 004e 2385 strh r3, [r4, #40] @ movhi 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3455 .loc 1 1736 7 is_stmt 1 view .LVU1178 3456 .LVL215: 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3457 .loc 1 1736 16 is_stmt 0 view .LVU1179 3458 0050 4FF08073 mov r3, #16777216 3459 .LVL216: 3460 .L243: 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3461 .loc 1 1746 5 is_stmt 1 view .LVU1180 3462 0054 0F4A ldr r2, .L248+8 3463 .LVL217: 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3464 .loc 1 1746 5 is_stmt 0 view .LVU1181 3465 0056 0092 str r2, [sp] 3466 .LVL218: 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3467 .loc 1 1746 5 view .LVU1182 3468 0058 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 3469 005c 2046 mov r0, r4 3470 005e FFF7FEFF bl I2C_TransferConfig 3471 .LVL219: 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3472 .loc 1 1749 5 is_stmt 1 view .LVU1183 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3473 .loc 1 1749 5 view .LVU1184 3474 0062 0025 movs r5, #0 3475 0064 84F84050 strb r5, [r4, #64] 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3476 .loc 1 1749 5 view .LVU1185 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3477 .loc 1 1759 5 view .LVU1186 3478 0068 0221 movs r1, #2 3479 006a 2046 mov r0, r4 3480 006c FFF7FEFF bl I2C_Enable_IRQ 3481 .LVL220: 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 208 3482 .loc 1 1761 5 view .LVU1187 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3483 .loc 1 1761 12 is_stmt 0 view .LVU1188 3484 0070 2846 mov r0, r5 3485 .LVL221: 3486 .L241: 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3487 .loc 1 1767 1 view .LVU1189 3488 0072 03B0 add sp, sp, #12 3489 .cfi_remember_state 3490 .cfi_def_cfa_offset 12 3491 @ sp needed 3492 0074 30BD pop {r4, r5, pc} 3493 .LVL222: 3494 .L242: 3495 .cfi_restore_state 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3496 .loc 1 1740 7 is_stmt 1 view .LVU1190 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3497 .loc 1 1740 28 is_stmt 0 view .LVU1191 3498 0076 638D ldrh r3, [r4, #42] 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3499 .loc 1 1740 22 view .LVU1192 3500 0078 2385 strh r3, [r4, #40] @ movhi 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3501 .loc 1 1741 7 is_stmt 1 view .LVU1193 3502 .LVL223: 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3503 .loc 1 1741 16 is_stmt 0 view .LVU1194 3504 007a 4FF00073 mov r3, #33554432 3505 007e E9E7 b .L243 3506 .LVL224: 3507 .L244: 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3508 .loc 1 1765 12 view .LVU1195 3509 0080 0220 movs r0, #2 3510 0082 F6E7 b .L241 3511 .L245: 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3512 .loc 1 1717 14 view .LVU1196 3513 0084 0220 movs r0, #2 3514 0086 F4E7 b .L241 3515 .L246: 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3516 .loc 1 1721 5 view .LVU1197 3517 0088 0220 movs r0, #2 3518 008a F2E7 b .L241 3519 .L249: 3520 .align 2 3521 .L248: 3522 008c 0000FFFF .word -65536 3523 0090 00000000 .word I2C_Master_ISR_IT 3524 0094 00240080 .word -2147474432 3525 .cfi_endproc 3526 .LFE139: 3528 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits 3529 .align 1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 209 3530 .global HAL_I2C_Slave_Transmit_IT 3531 .syntax unified 3532 .thumb 3533 .thumb_func 3535 HAL_I2C_Slave_Transmit_IT: 3536 .LVL225: 3537 .LFB140: 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3538 .loc 1 1778 1 is_stmt 1 view -0 3539 .cfi_startproc 3540 @ args = 0, pretend = 0, frame = 0 3541 @ frame_needed = 0, uses_anonymous_args = 0 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3542 .loc 1 1779 3 view .LVU1199 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3543 .loc 1 1779 11 is_stmt 0 view .LVU1200 3544 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3545 0004 DBB2 uxtb r3, r3 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3546 .loc 1 1779 6 view .LVU1201 3547 0006 202B cmp r3, #32 3548 0008 38D1 bne .L253 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3549 .loc 1 1782 5 is_stmt 1 view .LVU1202 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3550 .loc 1 1782 5 view .LVU1203 3551 000a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3552 000e 012B cmp r3, #1 3553 0010 36D0 beq .L254 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3554 .loc 1 1778 1 is_stmt 0 discriminator 2 view .LVU1204 3555 0012 10B5 push {r4, lr} 3556 .cfi_def_cfa_offset 8 3557 .cfi_offset 4, -8 3558 .cfi_offset 14, -4 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3559 .loc 1 1782 5 is_stmt 1 discriminator 2 view .LVU1205 3560 0014 0123 movs r3, #1 3561 0016 80F84030 strb r3, [r0, #64] 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3562 .loc 1 1782 5 discriminator 2 view .LVU1206 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3563 .loc 1 1784 5 discriminator 2 view .LVU1207 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3564 .loc 1 1784 23 is_stmt 0 discriminator 2 view .LVU1208 3565 001a 2123 movs r3, #33 3566 001c 80F84130 strb r3, [r0, #65] 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3567 .loc 1 1785 5 is_stmt 1 discriminator 2 view .LVU1209 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3568 .loc 1 1785 23 is_stmt 0 discriminator 2 view .LVU1210 3569 0020 2023 movs r3, #32 3570 0022 80F84230 strb r3, [r0, #66] 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3571 .loc 1 1786 5 is_stmt 1 discriminator 2 view .LVU1211 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3572 .loc 1 1786 23 is_stmt 0 discriminator 2 view .LVU1212 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 210 3573 0026 0023 movs r3, #0 3574 0028 4364 str r3, [r0, #68] 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3575 .loc 1 1789 5 is_stmt 1 discriminator 2 view .LVU1213 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3576 .loc 1 1789 9 is_stmt 0 discriminator 2 view .LVU1214 3577 002a 0468 ldr r4, [r0] 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3578 .loc 1 1789 19 discriminator 2 view .LVU1215 3579 002c 6368 ldr r3, [r4, #4] 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3580 .loc 1 1789 25 discriminator 2 view .LVU1216 3581 002e 23F40043 bic r3, r3, #32768 3582 0032 6360 str r3, [r4, #4] 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3583 .loc 1 1792 5 is_stmt 1 discriminator 2 view .LVU1217 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3584 .loc 1 1792 23 is_stmt 0 discriminator 2 view .LVU1218 3585 0034 4162 str r1, [r0, #36] 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3586 .loc 1 1793 5 is_stmt 1 discriminator 2 view .LVU1219 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3587 .loc 1 1793 23 is_stmt 0 discriminator 2 view .LVU1220 3588 0036 4285 strh r2, [r0, #42] @ movhi 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3589 .loc 1 1794 5 is_stmt 1 discriminator 2 view .LVU1221 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3590 .loc 1 1794 29 is_stmt 0 discriminator 2 view .LVU1222 3591 0038 438D ldrh r3, [r0, #42] 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3592 .loc 1 1794 23 discriminator 2 view .LVU1223 3593 003a 0385 strh r3, [r0, #40] @ movhi 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3594 .loc 1 1795 5 is_stmt 1 discriminator 2 view .LVU1224 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3595 .loc 1 1795 23 is_stmt 0 discriminator 2 view .LVU1225 3596 003c 114B ldr r3, .L260 3597 003e C362 str r3, [r0, #44] 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3598 .loc 1 1796 5 is_stmt 1 discriminator 2 view .LVU1226 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3599 .loc 1 1796 23 is_stmt 0 discriminator 2 view .LVU1227 3600 0040 114B ldr r3, .L260+4 3601 0042 4363 str r3, [r0, #52] 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3602 .loc 1 1799 5 is_stmt 1 discriminator 2 view .LVU1228 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3603 .loc 1 1799 19 is_stmt 0 discriminator 2 view .LVU1229 3604 0044 036A ldr r3, [r0, #32] 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3605 .loc 1 1799 8 discriminator 2 view .LVU1230 3606 0046 B3F5003F cmp r3, #131072 3607 004a 08D0 beq .L259 3608 .LVL226: 3609 .L252: 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3610 .loc 1 1813 5 is_stmt 1 view .LVU1231 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 211 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3611 .loc 1 1813 5 view .LVU1232 3612 004c 0024 movs r4, #0 3613 004e 80F84040 strb r4, [r0, #64] 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3614 .loc 1 1813 5 view .LVU1233 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3615 .loc 1 1823 5 view .LVU1234 3616 0052 48F20101 movw r1, #32769 3617 .LVL227: 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3618 .loc 1 1823 5 is_stmt 0 view .LVU1235 3619 0056 FFF7FEFF bl I2C_Enable_IRQ 3620 .LVL228: 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3621 .loc 1 1825 5 is_stmt 1 view .LVU1236 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3622 .loc 1 1825 12 is_stmt 0 view .LVU1237 3623 005a 2046 mov r0, r4 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3624 .loc 1 1831 1 view .LVU1238 3625 005c 10BD pop {r4, pc} 3626 .LVL229: 3627 .L259: 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3628 .loc 1 1803 7 is_stmt 1 view .LVU1239 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3629 .loc 1 1803 11 is_stmt 0 view .LVU1240 3630 005e 0368 ldr r3, [r0] 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3631 .loc 1 1803 30 view .LVU1241 3632 0060 0A78 ldrb r2, [r1] @ zero_extendqisi2 3633 .LVL230: 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3634 .loc 1 1803 28 view .LVU1242 3635 0062 9A62 str r2, [r3, #40] 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3636 .loc 1 1806 7 is_stmt 1 view .LVU1243 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3637 .loc 1 1806 11 is_stmt 0 view .LVU1244 3638 0064 436A ldr r3, [r0, #36] 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3639 .loc 1 1806 21 view .LVU1245 3640 0066 0133 adds r3, r3, #1 3641 0068 4362 str r3, [r0, #36] 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3642 .loc 1 1808 7 is_stmt 1 view .LVU1246 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3643 .loc 1 1808 11 is_stmt 0 view .LVU1247 3644 006a 438D ldrh r3, [r0, #42] 3645 006c 9BB2 uxth r3, r3 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3646 .loc 1 1808 22 view .LVU1248 3647 006e 013B subs r3, r3, #1 3648 0070 9BB2 uxth r3, r3 3649 0072 4385 strh r3, [r0, #42] @ movhi 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 212 3650 .loc 1 1809 7 is_stmt 1 view .LVU1249 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3651 .loc 1 1809 11 is_stmt 0 view .LVU1250 3652 0074 038D ldrh r3, [r0, #40] 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3653 .loc 1 1809 21 view .LVU1251 3654 0076 013B subs r3, r3, #1 3655 0078 0385 strh r3, [r0, #40] @ movhi 3656 007a E7E7 b .L252 3657 .LVL231: 3658 .L253: 3659 .cfi_def_cfa_offset 0 3660 .cfi_restore 4 3661 .cfi_restore 14 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3662 .loc 1 1829 12 view .LVU1252 3663 007c 0220 movs r0, #2 3664 .LVL232: 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3665 .loc 1 1829 12 view .LVU1253 3666 007e 7047 bx lr 3667 .LVL233: 3668 .L254: 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3669 .loc 1 1782 5 view .LVU1254 3670 0080 0220 movs r0, #2 3671 .LVL234: 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3672 .loc 1 1831 1 view .LVU1255 3673 0082 7047 bx lr 3674 .L261: 3675 .align 2 3676 .L260: 3677 0084 0000FFFF .word -65536 3678 0088 00000000 .word I2C_Slave_ISR_IT 3679 .cfi_endproc 3680 .LFE140: 3682 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits 3683 .align 1 3684 .global HAL_I2C_Slave_Receive_IT 3685 .syntax unified 3686 .thumb 3687 .thumb_func 3689 HAL_I2C_Slave_Receive_IT: 3690 .LVL235: 3691 .LFB141: 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3692 .loc 1 1842 1 is_stmt 1 view -0 3693 .cfi_startproc 3694 @ args = 0, pretend = 0, frame = 0 3695 @ frame_needed = 0, uses_anonymous_args = 0 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3696 .loc 1 1842 1 is_stmt 0 view .LVU1257 3697 0000 38B5 push {r3, r4, r5, lr} 3698 .cfi_def_cfa_offset 16 3699 .cfi_offset 3, -16 3700 .cfi_offset 4, -12 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 213 3701 .cfi_offset 5, -8 3702 .cfi_offset 14, -4 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3703 .loc 1 1843 3 is_stmt 1 view .LVU1258 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3704 .loc 1 1843 11 is_stmt 0 view .LVU1259 3705 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 3706 0006 DBB2 uxtb r3, r3 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3707 .loc 1 1843 6 view .LVU1260 3708 0008 202B cmp r3, #32 3709 000a 23D1 bne .L264 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3710 .loc 1 1846 5 is_stmt 1 view .LVU1261 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3711 .loc 1 1846 5 view .LVU1262 3712 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3713 0010 012B cmp r3, #1 3714 0012 21D0 beq .L265 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3715 .loc 1 1846 5 discriminator 2 view .LVU1263 3716 0014 0123 movs r3, #1 3717 0016 80F84030 strb r3, [r0, #64] 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3718 .loc 1 1846 5 discriminator 2 view .LVU1264 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3719 .loc 1 1848 5 discriminator 2 view .LVU1265 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3720 .loc 1 1848 23 is_stmt 0 discriminator 2 view .LVU1266 3721 001a 2223 movs r3, #34 3722 001c 80F84130 strb r3, [r0, #65] 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3723 .loc 1 1849 5 is_stmt 1 discriminator 2 view .LVU1267 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3724 .loc 1 1849 23 is_stmt 0 discriminator 2 view .LVU1268 3725 0020 2023 movs r3, #32 3726 0022 80F84230 strb r3, [r0, #66] 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3727 .loc 1 1850 5 is_stmt 1 discriminator 2 view .LVU1269 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3728 .loc 1 1850 23 is_stmt 0 discriminator 2 view .LVU1270 3729 0026 0024 movs r4, #0 3730 0028 4464 str r4, [r0, #68] 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3731 .loc 1 1853 5 is_stmt 1 discriminator 2 view .LVU1271 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3732 .loc 1 1853 9 is_stmt 0 discriminator 2 view .LVU1272 3733 002a 0568 ldr r5, [r0] 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3734 .loc 1 1853 19 discriminator 2 view .LVU1273 3735 002c 6B68 ldr r3, [r5, #4] 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3736 .loc 1 1853 25 discriminator 2 view .LVU1274 3737 002e 23F40043 bic r3, r3, #32768 3738 0032 6B60 str r3, [r5, #4] 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3739 .loc 1 1856 5 is_stmt 1 discriminator 2 view .LVU1275 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 214 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3740 .loc 1 1856 23 is_stmt 0 discriminator 2 view .LVU1276 3741 0034 4162 str r1, [r0, #36] 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3742 .loc 1 1857 5 is_stmt 1 discriminator 2 view .LVU1277 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3743 .loc 1 1857 23 is_stmt 0 discriminator 2 view .LVU1278 3744 0036 4285 strh r2, [r0, #42] @ movhi 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3745 .loc 1 1858 5 is_stmt 1 discriminator 2 view .LVU1279 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3746 .loc 1 1858 29 is_stmt 0 discriminator 2 view .LVU1280 3747 0038 438D ldrh r3, [r0, #42] 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3748 .loc 1 1858 23 discriminator 2 view .LVU1281 3749 003a 0385 strh r3, [r0, #40] @ movhi 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3750 .loc 1 1859 5 is_stmt 1 discriminator 2 view .LVU1282 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3751 .loc 1 1859 23 is_stmt 0 discriminator 2 view .LVU1283 3752 003c 074B ldr r3, .L267 3753 003e C362 str r3, [r0, #44] 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3754 .loc 1 1860 5 is_stmt 1 discriminator 2 view .LVU1284 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3755 .loc 1 1860 23 is_stmt 0 discriminator 2 view .LVU1285 3756 0040 074B ldr r3, .L267+4 3757 0042 4363 str r3, [r0, #52] 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3758 .loc 1 1863 5 is_stmt 1 discriminator 2 view .LVU1286 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3759 .loc 1 1863 5 discriminator 2 view .LVU1287 3760 0044 80F84040 strb r4, [r0, #64] 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3761 .loc 1 1863 5 discriminator 2 view .LVU1288 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3762 .loc 1 1873 5 discriminator 2 view .LVU1289 3763 0048 48F20201 movw r1, #32770 3764 .LVL236: 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3765 .loc 1 1873 5 is_stmt 0 discriminator 2 view .LVU1290 3766 004c FFF7FEFF bl I2C_Enable_IRQ 3767 .LVL237: 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3768 .loc 1 1875 5 is_stmt 1 discriminator 2 view .LVU1291 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3769 .loc 1 1875 12 is_stmt 0 discriminator 2 view .LVU1292 3770 0050 2046 mov r0, r4 3771 .L263: 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3772 .loc 1 1881 1 view .LVU1293 3773 0052 38BD pop {r3, r4, r5, pc} 3774 .LVL238: 3775 .L264: 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3776 .loc 1 1879 12 view .LVU1294 3777 0054 0220 movs r0, #2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 215 3778 .LVL239: 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3779 .loc 1 1879 12 view .LVU1295 3780 0056 FCE7 b .L263 3781 .LVL240: 3782 .L265: 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3783 .loc 1 1846 5 view .LVU1296 3784 0058 0220 movs r0, #2 3785 .LVL241: 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3786 .loc 1 1846 5 view .LVU1297 3787 005a FAE7 b .L263 3788 .L268: 3789 .align 2 3790 .L267: 3791 005c 0000FFFF .word -65536 3792 0060 00000000 .word I2C_Slave_ISR_IT 3793 .cfi_endproc 3794 .LFE141: 3796 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits 3797 .align 1 3798 .global HAL_I2C_Master_Transmit_DMA 3799 .syntax unified 3800 .thumb 3801 .thumb_func 3803 HAL_I2C_Master_Transmit_DMA: 3804 .LVL242: 3805 .LFB142: 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3806 .loc 1 1895 1 is_stmt 1 view -0 3807 .cfi_startproc 3808 @ args = 0, pretend = 0, frame = 0 3809 @ frame_needed = 0, uses_anonymous_args = 0 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3810 .loc 1 1895 1 is_stmt 0 view .LVU1299 3811 0000 70B5 push {r4, r5, r6, lr} 3812 .cfi_def_cfa_offset 16 3813 .cfi_offset 4, -16 3814 .cfi_offset 5, -12 3815 .cfi_offset 6, -8 3816 .cfi_offset 14, -4 3817 0002 82B0 sub sp, sp, #8 3818 .cfi_def_cfa_offset 24 3819 0004 0446 mov r4, r0 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3820 .loc 1 1896 3 is_stmt 1 view .LVU1300 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3821 .loc 1 1897 3 view .LVU1301 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3822 .loc 1 1899 3 view .LVU1302 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3823 .loc 1 1899 11 is_stmt 0 view .LVU1303 3824 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 3825 .LVL243: 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3826 .loc 1 1899 11 view .LVU1304 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 216 3827 000a C0B2 uxtb r0, r0 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3828 .loc 1 1899 6 view .LVU1305 3829 000c 2028 cmp r0, #32 3830 000e 40F08D80 bne .L278 3831 0012 0D46 mov r5, r1 3832 0014 1146 mov r1, r2 3833 .LVL244: 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3834 .loc 1 1901 5 is_stmt 1 view .LVU1306 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3835 .loc 1 1901 9 is_stmt 0 view .LVU1307 3836 0016 2268 ldr r2, [r4] 3837 .LVL245: 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3838 .loc 1 1901 9 view .LVU1308 3839 0018 9269 ldr r2, [r2, #24] 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3840 .loc 1 1901 8 view .LVU1309 3841 001a 12F4004F tst r2, #32768 3842 001e 40F08880 bne .L279 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3843 .loc 1 1907 5 is_stmt 1 view .LVU1310 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3844 .loc 1 1907 5 view .LVU1311 3845 0022 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 3846 0026 012A cmp r2, #1 3847 0028 00F08580 beq .L280 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3848 .loc 1 1907 5 discriminator 2 view .LVU1312 3849 002c 0122 movs r2, #1 3850 002e 84F84020 strb r2, [r4, #64] 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3851 .loc 1 1907 5 discriminator 2 view .LVU1313 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3852 .loc 1 1909 5 discriminator 2 view .LVU1314 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3853 .loc 1 1909 23 is_stmt 0 discriminator 2 view .LVU1315 3854 0032 2122 movs r2, #33 3855 0034 84F84120 strb r2, [r4, #65] 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3856 .loc 1 1910 5 is_stmt 1 discriminator 2 view .LVU1316 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3857 .loc 1 1910 23 is_stmt 0 discriminator 2 view .LVU1317 3858 0038 1022 movs r2, #16 3859 003a 84F84220 strb r2, [r4, #66] 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3860 .loc 1 1911 5 is_stmt 1 discriminator 2 view .LVU1318 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3861 .loc 1 1911 23 is_stmt 0 discriminator 2 view .LVU1319 3862 003e 0022 movs r2, #0 3863 0040 6264 str r2, [r4, #68] 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3864 .loc 1 1914 5 is_stmt 1 discriminator 2 view .LVU1320 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3865 .loc 1 1914 23 is_stmt 0 discriminator 2 view .LVU1321 3866 0042 6162 str r1, [r4, #36] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 217 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3867 .loc 1 1915 5 is_stmt 1 discriminator 2 view .LVU1322 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3868 .loc 1 1915 23 is_stmt 0 discriminator 2 view .LVU1323 3869 0044 6385 strh r3, [r4, #42] @ movhi 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3870 .loc 1 1916 5 is_stmt 1 discriminator 2 view .LVU1324 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3871 .loc 1 1916 23 is_stmt 0 discriminator 2 view .LVU1325 3872 0046 3D4B ldr r3, .L284 3873 .LVL246: 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3874 .loc 1 1916 23 discriminator 2 view .LVU1326 3875 0048 E362 str r3, [r4, #44] 3876 .LVL247: 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3877 .loc 1 1917 5 is_stmt 1 discriminator 2 view .LVU1327 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3878 .loc 1 1917 23 is_stmt 0 discriminator 2 view .LVU1328 3879 004a 3D4B ldr r3, .L284+4 3880 004c 6363 str r3, [r4, #52] 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3881 .loc 1 1919 5 is_stmt 1 discriminator 2 view .LVU1329 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3882 .loc 1 1919 13 is_stmt 0 discriminator 2 view .LVU1330 3883 004e 638D ldrh r3, [r4, #42] 3884 0050 9BB2 uxth r3, r3 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3885 .loc 1 1919 8 discriminator 2 view .LVU1331 3886 0052 FF2B cmp r3, #255 3887 0054 27D9 bls .L271 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3888 .loc 1 1921 7 is_stmt 1 view .LVU1332 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3889 .loc 1 1921 22 is_stmt 0 view .LVU1333 3890 0056 FF23 movs r3, #255 3891 0058 2385 strh r3, [r4, #40] @ movhi 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3892 .loc 1 1922 7 is_stmt 1 view .LVU1334 3893 .LVL248: 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3894 .loc 1 1922 16 is_stmt 0 view .LVU1335 3895 005a 4FF08076 mov r6, #16777216 3896 .LVL249: 3897 .L272: 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3898 .loc 1 1930 5 is_stmt 1 view .LVU1336 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3899 .loc 1 1930 13 is_stmt 0 view .LVU1337 3900 005e 228D ldrh r2, [r4, #40] 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3901 .loc 1 1930 8 view .LVU1338 3902 0060 002A cmp r2, #0 3903 0062 4FD0 beq .L273 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3904 .loc 1 1932 7 is_stmt 1 view .LVU1339 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 218 3905 .loc 1 1932 15 is_stmt 0 view .LVU1340 3906 0064 A36B ldr r3, [r4, #56] 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3907 .loc 1 1932 10 view .LVU1341 3908 0066 1BB3 cbz r3, .L274 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3909 .loc 1 1935 9 is_stmt 1 view .LVU1342 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3910 .loc 1 1935 40 is_stmt 0 view .LVU1343 3911 0068 364A ldr r2, .L284+8 3912 006a 9A62 str r2, [r3, #40] 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3913 .loc 1 1938 9 is_stmt 1 view .LVU1344 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3914 .loc 1 1938 13 is_stmt 0 view .LVU1345 3915 006c A36B ldr r3, [r4, #56] 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3916 .loc 1 1938 41 view .LVU1346 3917 006e 364A ldr r2, .L284+12 3918 0070 1A63 str r2, [r3, #48] 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3919 .loc 1 1941 9 is_stmt 1 view .LVU1347 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3920 .loc 1 1941 13 is_stmt 0 view .LVU1348 3921 0072 A26B ldr r2, [r4, #56] 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3922 .loc 1 1941 44 view .LVU1349 3923 0074 0023 movs r3, #0 3924 0076 D362 str r3, [r2, #44] 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3925 .loc 1 1942 9 is_stmt 1 view .LVU1350 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3926 .loc 1 1942 13 is_stmt 0 view .LVU1351 3927 0078 A26B ldr r2, [r4, #56] 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3928 .loc 1 1942 41 view .LVU1352 3929 007a 5363 str r3, [r2, #52] 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3930 .loc 1 1945 9 is_stmt 1 view .LVU1353 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3931 .loc 1 1945 88 is_stmt 0 view .LVU1354 3932 007c 2268 ldr r2, [r4] 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3933 .loc 1 1945 25 view .LVU1355 3934 007e 238D ldrh r3, [r4, #40] 3935 0080 2832 adds r2, r2, #40 3936 0082 A06B ldr r0, [r4, #56] 3937 0084 FFF7FEFF bl HAL_DMA_Start_IT 3938 .LVL250: 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3939 .loc 1 1963 7 is_stmt 1 view .LVU1356 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3940 .loc 1 1963 10 is_stmt 0 view .LVU1357 3941 0088 00B3 cbz r0, .L283 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3942 .loc 1 1987 9 is_stmt 1 view .LVU1358 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 219 3943 .loc 1 1987 25 is_stmt 0 view .LVU1359 3944 008a 2023 movs r3, #32 3945 008c 84F84130 strb r3, [r4, #65] 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3946 .loc 1 1988 9 is_stmt 1 view .LVU1360 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3947 .loc 1 1988 25 is_stmt 0 view .LVU1361 3948 0090 0022 movs r2, #0 3949 0092 84F84220 strb r2, [r4, #66] 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3950 .loc 1 1991 9 is_stmt 1 view .LVU1362 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3951 .loc 1 1991 13 is_stmt 0 view .LVU1363 3952 0096 636C ldr r3, [r4, #68] 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3953 .loc 1 1991 25 view .LVU1364 3954 0098 43F01003 orr r3, r3, #16 3955 009c 6364 str r3, [r4, #68] 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3956 .loc 1 1994 9 is_stmt 1 view .LVU1365 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3957 .loc 1 1994 9 view .LVU1366 3958 009e 84F84020 strb r2, [r4, #64] 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3959 .loc 1 1994 9 view .LVU1367 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3960 .loc 1 1996 9 view .LVU1368 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3961 .loc 1 1996 16 is_stmt 0 view .LVU1369 3962 00a2 0120 movs r0, #1 3963 .LVL251: 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3964 .loc 1 1996 16 view .LVU1370 3965 00a4 43E0 b .L270 3966 .LVL252: 3967 .L271: 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3968 .loc 1 1926 7 is_stmt 1 view .LVU1371 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3969 .loc 1 1926 28 is_stmt 0 view .LVU1372 3970 00a6 638D ldrh r3, [r4, #42] 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3971 .loc 1 1926 22 view .LVU1373 3972 00a8 2385 strh r3, [r4, #40] @ movhi 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3973 .loc 1 1927 7 is_stmt 1 view .LVU1374 3974 .LVL253: 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3975 .loc 1 1927 16 is_stmt 0 view .LVU1375 3976 00aa 4FF00076 mov r6, #33554432 3977 00ae D6E7 b .L272 3978 .LVL254: 3979 .L274: 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3980 .loc 1 1951 9 is_stmt 1 view .LVU1376 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3981 .loc 1 1951 25 is_stmt 0 view .LVU1377 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 220 3982 00b0 2023 movs r3, #32 3983 00b2 84F84130 strb r3, [r4, #65] 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3984 .loc 1 1952 9 is_stmt 1 view .LVU1378 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3985 .loc 1 1952 25 is_stmt 0 view .LVU1379 3986 00b6 0022 movs r2, #0 3987 00b8 84F84220 strb r2, [r4, #66] 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3988 .loc 1 1955 9 is_stmt 1 view .LVU1380 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3989 .loc 1 1955 13 is_stmt 0 view .LVU1381 3990 00bc 636C ldr r3, [r4, #68] 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3991 .loc 1 1955 25 view .LVU1382 3992 00be 43F08003 orr r3, r3, #128 3993 00c2 6364 str r3, [r4, #68] 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3994 .loc 1 1958 9 is_stmt 1 view .LVU1383 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3995 .loc 1 1958 9 view .LVU1384 3996 00c4 84F84020 strb r2, [r4, #64] 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3997 .loc 1 1958 9 view .LVU1385 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3998 .loc 1 1960 9 view .LVU1386 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3999 .loc 1 1960 16 is_stmt 0 view .LVU1387 4000 00c8 0120 movs r0, #1 4001 00ca 30E0 b .L270 4002 .LVL255: 4003 .L283: 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4004 .loc 1 1967 9 is_stmt 1 view .LVU1388 4005 00cc 1F4B ldr r3, .L284+16 4006 00ce 0093 str r3, [sp] 4007 00d0 3346 mov r3, r6 4008 00d2 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 4009 00d6 2946 mov r1, r5 4010 00d8 2046 mov r0, r4 4011 .LVL256: 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4012 .loc 1 1967 9 is_stmt 0 view .LVU1389 4013 00da FFF7FEFF bl I2C_TransferConfig 4014 .LVL257: 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4015 .loc 1 1970 9 is_stmt 1 view .LVU1390 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4016 .loc 1 1970 13 is_stmt 0 view .LVU1391 4017 00de 638D ldrh r3, [r4, #42] 4018 00e0 9BB2 uxth r3, r3 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4019 .loc 1 1970 32 view .LVU1392 4020 00e2 228D ldrh r2, [r4, #40] 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4021 .loc 1 1970 25 view .LVU1393 4022 00e4 9B1A subs r3, r3, r2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 221 4023 00e6 9BB2 uxth r3, r3 4024 00e8 6385 strh r3, [r4, #42] @ movhi 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4025 .loc 1 1973 9 is_stmt 1 view .LVU1394 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4026 .loc 1 1973 9 view .LVU1395 4027 00ea 0023 movs r3, #0 4028 00ec 84F84030 strb r3, [r4, #64] 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4029 .loc 1 1973 9 view .LVU1396 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4030 .loc 1 1979 9 view .LVU1397 4031 00f0 1021 movs r1, #16 4032 00f2 2046 mov r0, r4 4033 00f4 FFF7FEFF bl I2C_Enable_IRQ 4034 .LVL258: 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4035 .loc 1 1982 9 view .LVU1398 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4036 .loc 1 1982 13 is_stmt 0 view .LVU1399 4037 00f8 2268 ldr r2, [r4] 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4038 .loc 1 1982 23 view .LVU1400 4039 00fa 1368 ldr r3, [r2] 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4040 .loc 1 1982 29 view .LVU1401 4041 00fc 43F48043 orr r3, r3, #16384 4042 0100 1360 str r3, [r2] 4043 0102 11E0 b .L277 4044 .LVL259: 4045 .L273: 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4046 .loc 1 2002 7 is_stmt 1 view .LVU1402 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4047 .loc 1 2002 21 is_stmt 0 view .LVU1403 4048 0104 124B ldr r3, .L284+20 4049 0106 6363 str r3, [r4, #52] 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 4050 .loc 1 2006 7 is_stmt 1 view .LVU1404 4051 0108 104B ldr r3, .L284+16 4052 010a 0093 str r3, [sp] 4053 010c 4FF00073 mov r3, #33554432 4054 0110 D2B2 uxtb r2, r2 4055 0112 2946 mov r1, r5 4056 .LVL260: 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 4057 .loc 1 2006 7 is_stmt 0 view .LVU1405 4058 0114 2046 mov r0, r4 4059 0116 FFF7FEFF bl I2C_TransferConfig 4060 .LVL261: 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4061 .loc 1 2010 7 is_stmt 1 view .LVU1406 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4062 .loc 1 2010 7 view .LVU1407 4063 011a 0023 movs r3, #0 4064 011c 84F84030 strb r3, [r4, #64] 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 222 4065 .loc 1 2010 7 view .LVU1408 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4066 .loc 1 2019 7 view .LVU1409 4067 0120 0121 movs r1, #1 4068 0122 2046 mov r0, r4 4069 0124 FFF7FEFF bl I2C_Enable_IRQ 4070 .LVL262: 4071 .L277: 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4072 .loc 1 2022 5 view .LVU1410 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4073 .loc 1 2022 12 is_stmt 0 view .LVU1411 4074 0128 0020 movs r0, #0 4075 012a 00E0 b .L270 4076 .LVL263: 4077 .L278: 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4078 .loc 1 2026 12 view .LVU1412 4079 012c 0220 movs r0, #2 4080 .LVL264: 4081 .L270: 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4082 .loc 1 2028 1 view .LVU1413 4083 012e 02B0 add sp, sp, #8 4084 .cfi_remember_state 4085 .cfi_def_cfa_offset 16 4086 @ sp needed 4087 0130 70BD pop {r4, r5, r6, pc} 4088 .LVL265: 4089 .L279: 4090 .cfi_restore_state 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4091 .loc 1 1903 14 view .LVU1414 4092 0132 0220 movs r0, #2 4093 0134 FBE7 b .L270 4094 .L280: 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4095 .loc 1 1907 5 view .LVU1415 4096 0136 0220 movs r0, #2 4097 0138 F9E7 b .L270 4098 .L285: 4099 013a 00BF .align 2 4100 .L284: 4101 013c 0000FFFF .word -65536 4102 0140 00000000 .word I2C_Master_ISR_DMA 4103 0144 00000000 .word I2C_DMAMasterTransmitCplt 4104 0148 00000000 .word I2C_DMAError 4105 014c 00200080 .word -2147475456 4106 0150 00000000 .word I2C_Master_ISR_IT 4107 .cfi_endproc 4108 .LFE142: 4110 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits 4111 .align 1 4112 .global HAL_I2C_Master_Receive_DMA 4113 .syntax unified 4114 .thumb 4115 .thumb_func ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 223 4117 HAL_I2C_Master_Receive_DMA: 4118 .LVL266: 4119 .LFB143: 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4120 .loc 1 2042 1 is_stmt 1 view -0 4121 .cfi_startproc 4122 @ args = 0, pretend = 0, frame = 0 4123 @ frame_needed = 0, uses_anonymous_args = 0 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4124 .loc 1 2042 1 is_stmt 0 view .LVU1417 4125 0000 70B5 push {r4, r5, r6, lr} 4126 .cfi_def_cfa_offset 16 4127 .cfi_offset 4, -16 4128 .cfi_offset 5, -12 4129 .cfi_offset 6, -8 4130 .cfi_offset 14, -4 4131 0002 82B0 sub sp, sp, #8 4132 .cfi_def_cfa_offset 24 4133 0004 0446 mov r4, r0 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4134 .loc 1 2043 3 is_stmt 1 view .LVU1418 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4135 .loc 1 2044 3 view .LVU1419 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4136 .loc 1 2046 3 view .LVU1420 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4137 .loc 1 2046 11 is_stmt 0 view .LVU1421 4138 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4139 .LVL267: 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4140 .loc 1 2046 11 view .LVU1422 4141 000a C0B2 uxtb r0, r0 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4142 .loc 1 2046 6 view .LVU1423 4143 000c 2028 cmp r0, #32 4144 000e 40F08C80 bne .L295 4145 0012 0D46 mov r5, r1 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4146 .loc 1 2048 5 is_stmt 1 view .LVU1424 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4147 .loc 1 2048 9 is_stmt 0 view .LVU1425 4148 0014 2168 ldr r1, [r4] 4149 .LVL268: 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4150 .loc 1 2048 9 view .LVU1426 4151 0016 8969 ldr r1, [r1, #24] 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4152 .loc 1 2048 8 view .LVU1427 4153 0018 11F4004F tst r1, #32768 4154 001c 40F08880 bne .L296 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4155 .loc 1 2054 5 is_stmt 1 view .LVU1428 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4156 .loc 1 2054 5 view .LVU1429 4157 0020 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 4158 0024 0129 cmp r1, #1 4159 0026 00F08580 beq .L297 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 224 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4160 .loc 1 2054 5 discriminator 2 view .LVU1430 4161 002a 0121 movs r1, #1 4162 002c 84F84010 strb r1, [r4, #64] 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4163 .loc 1 2054 5 discriminator 2 view .LVU1431 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4164 .loc 1 2056 5 discriminator 2 view .LVU1432 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4165 .loc 1 2056 23 is_stmt 0 discriminator 2 view .LVU1433 4166 0030 2221 movs r1, #34 4167 0032 84F84110 strb r1, [r4, #65] 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4168 .loc 1 2057 5 is_stmt 1 discriminator 2 view .LVU1434 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4169 .loc 1 2057 23 is_stmt 0 discriminator 2 view .LVU1435 4170 0036 1021 movs r1, #16 4171 0038 84F84210 strb r1, [r4, #66] 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4172 .loc 1 2058 5 is_stmt 1 discriminator 2 view .LVU1436 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4173 .loc 1 2058 23 is_stmt 0 discriminator 2 view .LVU1437 4174 003c 0021 movs r1, #0 4175 003e 6164 str r1, [r4, #68] 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4176 .loc 1 2061 5 is_stmt 1 discriminator 2 view .LVU1438 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4177 .loc 1 2061 23 is_stmt 0 discriminator 2 view .LVU1439 4178 0040 6262 str r2, [r4, #36] 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4179 .loc 1 2062 5 is_stmt 1 discriminator 2 view .LVU1440 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4180 .loc 1 2062 23 is_stmt 0 discriminator 2 view .LVU1441 4181 0042 6385 strh r3, [r4, #42] @ movhi 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4182 .loc 1 2063 5 is_stmt 1 discriminator 2 view .LVU1442 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4183 .loc 1 2063 23 is_stmt 0 discriminator 2 view .LVU1443 4184 0044 3C4B ldr r3, .L301 4185 .LVL269: 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4186 .loc 1 2063 23 discriminator 2 view .LVU1444 4187 0046 E362 str r3, [r4, #44] 4188 .LVL270: 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4189 .loc 1 2064 5 is_stmt 1 discriminator 2 view .LVU1445 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4190 .loc 1 2064 23 is_stmt 0 discriminator 2 view .LVU1446 4191 0048 3C4B ldr r3, .L301+4 4192 004a 6363 str r3, [r4, #52] 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4193 .loc 1 2066 5 is_stmt 1 discriminator 2 view .LVU1447 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4194 .loc 1 2066 13 is_stmt 0 discriminator 2 view .LVU1448 4195 004c 638D ldrh r3, [r4, #42] 4196 004e 9BB2 uxth r3, r3 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 225 4197 .loc 1 2066 8 discriminator 2 view .LVU1449 4198 0050 FF2B cmp r3, #255 4199 0052 27D9 bls .L288 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 4200 .loc 1 2068 7 is_stmt 1 view .LVU1450 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 4201 .loc 1 2068 22 is_stmt 0 view .LVU1451 4202 0054 FF23 movs r3, #255 4203 0056 2385 strh r3, [r4, #40] @ movhi 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4204 .loc 1 2069 7 is_stmt 1 view .LVU1452 4205 .LVL271: 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4206 .loc 1 2069 16 is_stmt 0 view .LVU1453 4207 0058 4FF08076 mov r6, #16777216 4208 .LVL272: 4209 .L289: 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4210 .loc 1 2077 5 is_stmt 1 view .LVU1454 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4211 .loc 1 2077 13 is_stmt 0 view .LVU1455 4212 005c 218D ldrh r1, [r4, #40] 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4213 .loc 1 2077 8 view .LVU1456 4214 005e 0029 cmp r1, #0 4215 0060 4FD0 beq .L290 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4216 .loc 1 2079 7 is_stmt 1 view .LVU1457 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4217 .loc 1 2079 15 is_stmt 0 view .LVU1458 4218 0062 E36B ldr r3, [r4, #60] 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4219 .loc 1 2079 10 view .LVU1459 4220 0064 1BB3 cbz r3, .L291 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4221 .loc 1 2082 9 is_stmt 1 view .LVU1460 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4222 .loc 1 2082 40 is_stmt 0 view .LVU1461 4223 0066 3649 ldr r1, .L301+8 4224 0068 9962 str r1, [r3, #40] 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4225 .loc 1 2085 9 is_stmt 1 view .LVU1462 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4226 .loc 1 2085 13 is_stmt 0 view .LVU1463 4227 006a E36B ldr r3, [r4, #60] 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4228 .loc 1 2085 41 view .LVU1464 4229 006c 3549 ldr r1, .L301+12 4230 006e 1963 str r1, [r3, #48] 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4231 .loc 1 2088 9 is_stmt 1 view .LVU1465 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4232 .loc 1 2088 13 is_stmt 0 view .LVU1466 4233 0070 E16B ldr r1, [r4, #60] 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4234 .loc 1 2088 44 view .LVU1467 4235 0072 0023 movs r3, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 226 4236 0074 CB62 str r3, [r1, #44] 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4237 .loc 1 2089 9 is_stmt 1 view .LVU1468 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4238 .loc 1 2089 13 is_stmt 0 view .LVU1469 4239 0076 E16B ldr r1, [r4, #60] 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4240 .loc 1 2089 41 view .LVU1470 4241 0078 4B63 str r3, [r1, #52] 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4242 .loc 1 2092 9 is_stmt 1 view .LVU1471 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4243 .loc 1 2092 71 is_stmt 0 view .LVU1472 4244 007a 2168 ldr r1, [r4] 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4245 .loc 1 2092 25 view .LVU1473 4246 007c 238D ldrh r3, [r4, #40] 4247 007e 2431 adds r1, r1, #36 4248 0080 E06B ldr r0, [r4, #60] 4249 0082 FFF7FEFF bl HAL_DMA_Start_IT 4250 .LVL273: 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4251 .loc 1 2110 7 is_stmt 1 view .LVU1474 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4252 .loc 1 2110 10 is_stmt 0 view .LVU1475 4253 0086 00B3 cbz r0, .L300 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4254 .loc 1 2134 9 is_stmt 1 view .LVU1476 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4255 .loc 1 2134 25 is_stmt 0 view .LVU1477 4256 0088 2023 movs r3, #32 4257 008a 84F84130 strb r3, [r4, #65] 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4258 .loc 1 2135 9 is_stmt 1 view .LVU1478 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4259 .loc 1 2135 25 is_stmt 0 view .LVU1479 4260 008e 0022 movs r2, #0 4261 0090 84F84220 strb r2, [r4, #66] 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4262 .loc 1 2138 9 is_stmt 1 view .LVU1480 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4263 .loc 1 2138 13 is_stmt 0 view .LVU1481 4264 0094 636C ldr r3, [r4, #68] 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4265 .loc 1 2138 25 view .LVU1482 4266 0096 43F01003 orr r3, r3, #16 4267 009a 6364 str r3, [r4, #68] 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4268 .loc 1 2141 9 is_stmt 1 view .LVU1483 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4269 .loc 1 2141 9 view .LVU1484 4270 009c 84F84020 strb r2, [r4, #64] 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4271 .loc 1 2141 9 view .LVU1485 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4272 .loc 1 2143 9 view .LVU1486 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 227 4273 .loc 1 2143 16 is_stmt 0 view .LVU1487 4274 00a0 0120 movs r0, #1 4275 .LVL274: 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4276 .loc 1 2143 16 view .LVU1488 4277 00a2 43E0 b .L287 4278 .LVL275: 4279 .L288: 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4280 .loc 1 2073 7 is_stmt 1 view .LVU1489 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4281 .loc 1 2073 28 is_stmt 0 view .LVU1490 4282 00a4 638D ldrh r3, [r4, #42] 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4283 .loc 1 2073 22 view .LVU1491 4284 00a6 2385 strh r3, [r4, #40] @ movhi 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4285 .loc 1 2074 7 is_stmt 1 view .LVU1492 4286 .LVL276: 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4287 .loc 1 2074 16 is_stmt 0 view .LVU1493 4288 00a8 4FF00076 mov r6, #33554432 4289 00ac D6E7 b .L289 4290 .LVL277: 4291 .L291: 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4292 .loc 1 2098 9 is_stmt 1 view .LVU1494 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4293 .loc 1 2098 25 is_stmt 0 view .LVU1495 4294 00ae 2023 movs r3, #32 4295 00b0 84F84130 strb r3, [r4, #65] 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4296 .loc 1 2099 9 is_stmt 1 view .LVU1496 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4297 .loc 1 2099 25 is_stmt 0 view .LVU1497 4298 00b4 0022 movs r2, #0 4299 .LVL278: 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4300 .loc 1 2099 25 view .LVU1498 4301 00b6 84F84220 strb r2, [r4, #66] 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4302 .loc 1 2102 9 is_stmt 1 view .LVU1499 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4303 .loc 1 2102 13 is_stmt 0 view .LVU1500 4304 00ba 636C ldr r3, [r4, #68] 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4305 .loc 1 2102 25 view .LVU1501 4306 00bc 43F08003 orr r3, r3, #128 4307 00c0 6364 str r3, [r4, #68] 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4308 .loc 1 2105 9 is_stmt 1 view .LVU1502 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4309 .loc 1 2105 9 view .LVU1503 4310 00c2 84F84020 strb r2, [r4, #64] 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4311 .loc 1 2105 9 view .LVU1504 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 228 4312 .loc 1 2107 9 view .LVU1505 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4313 .loc 1 2107 16 is_stmt 0 view .LVU1506 4314 00c6 0120 movs r0, #1 4315 00c8 30E0 b .L287 4316 .LVL279: 4317 .L300: 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4318 .loc 1 2114 9 is_stmt 1 view .LVU1507 4319 00ca 1F4B ldr r3, .L301+16 4320 00cc 0093 str r3, [sp] 4321 00ce 3346 mov r3, r6 4322 00d0 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 4323 00d4 2946 mov r1, r5 4324 00d6 2046 mov r0, r4 4325 .LVL280: 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4326 .loc 1 2114 9 is_stmt 0 view .LVU1508 4327 00d8 FFF7FEFF bl I2C_TransferConfig 4328 .LVL281: 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4329 .loc 1 2117 9 is_stmt 1 view .LVU1509 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4330 .loc 1 2117 13 is_stmt 0 view .LVU1510 4331 00dc 638D ldrh r3, [r4, #42] 4332 00de 9BB2 uxth r3, r3 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4333 .loc 1 2117 32 view .LVU1511 4334 00e0 228D ldrh r2, [r4, #40] 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4335 .loc 1 2117 25 view .LVU1512 4336 00e2 9B1A subs r3, r3, r2 4337 00e4 9BB2 uxth r3, r3 4338 00e6 6385 strh r3, [r4, #42] @ movhi 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4339 .loc 1 2120 9 is_stmt 1 view .LVU1513 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4340 .loc 1 2120 9 view .LVU1514 4341 00e8 0023 movs r3, #0 4342 00ea 84F84030 strb r3, [r4, #64] 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4343 .loc 1 2120 9 view .LVU1515 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4344 .loc 1 2126 9 view .LVU1516 4345 00ee 1021 movs r1, #16 4346 00f0 2046 mov r0, r4 4347 00f2 FFF7FEFF bl I2C_Enable_IRQ 4348 .LVL282: 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4349 .loc 1 2129 9 view .LVU1517 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4350 .loc 1 2129 13 is_stmt 0 view .LVU1518 4351 00f6 2268 ldr r2, [r4] 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4352 .loc 1 2129 23 view .LVU1519 4353 00f8 1368 ldr r3, [r2] 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 229 4354 .loc 1 2129 29 view .LVU1520 4355 00fa 43F40043 orr r3, r3, #32768 4356 00fe 1360 str r3, [r2] 4357 0100 11E0 b .L294 4358 .LVL283: 4359 .L290: 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4360 .loc 1 2149 7 is_stmt 1 view .LVU1521 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4361 .loc 1 2149 21 is_stmt 0 view .LVU1522 4362 0102 124B ldr r3, .L301+20 4363 0104 6363 str r3, [r4, #52] 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 4364 .loc 1 2153 7 is_stmt 1 view .LVU1523 4365 0106 104B ldr r3, .L301+16 4366 0108 0093 str r3, [sp] 4367 010a 4FF00073 mov r3, #33554432 4368 010e CAB2 uxtb r2, r1 4369 .LVL284: 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 4370 .loc 1 2153 7 is_stmt 0 view .LVU1524 4371 0110 2946 mov r1, r5 4372 0112 2046 mov r0, r4 4373 0114 FFF7FEFF bl I2C_TransferConfig 4374 .LVL285: 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4375 .loc 1 2157 7 is_stmt 1 view .LVU1525 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4376 .loc 1 2157 7 view .LVU1526 4377 0118 0023 movs r3, #0 4378 011a 84F84030 strb r3, [r4, #64] 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4379 .loc 1 2157 7 view .LVU1527 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4380 .loc 1 2166 7 view .LVU1528 4381 011e 0121 movs r1, #1 4382 0120 2046 mov r0, r4 4383 0122 FFF7FEFF bl I2C_Enable_IRQ 4384 .LVL286: 4385 .L294: 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4386 .loc 1 2169 5 view .LVU1529 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4387 .loc 1 2169 12 is_stmt 0 view .LVU1530 4388 0126 0020 movs r0, #0 4389 0128 00E0 b .L287 4390 .LVL287: 4391 .L295: 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4392 .loc 1 2173 12 view .LVU1531 4393 012a 0220 movs r0, #2 4394 .LVL288: 4395 .L287: 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4396 .loc 1 2175 1 view .LVU1532 4397 012c 02B0 add sp, sp, #8 4398 .cfi_remember_state ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 230 4399 .cfi_def_cfa_offset 16 4400 @ sp needed 4401 012e 70BD pop {r4, r5, r6, pc} 4402 .LVL289: 4403 .L296: 4404 .cfi_restore_state 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4405 .loc 1 2050 14 view .LVU1533 4406 0130 0220 movs r0, #2 4407 0132 FBE7 b .L287 4408 .L297: 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4409 .loc 1 2054 5 view .LVU1534 4410 0134 0220 movs r0, #2 4411 0136 F9E7 b .L287 4412 .L302: 4413 .align 2 4414 .L301: 4415 0138 0000FFFF .word -65536 4416 013c 00000000 .word I2C_Master_ISR_DMA 4417 0140 00000000 .word I2C_DMAMasterReceiveCplt 4418 0144 00000000 .word I2C_DMAError 4419 0148 00240080 .word -2147474432 4420 014c 00000000 .word I2C_Master_ISR_IT 4421 .cfi_endproc 4422 .LFE143: 4424 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits 4425 .align 1 4426 .global HAL_I2C_Slave_Transmit_DMA 4427 .syntax unified 4428 .thumb 4429 .thumb_func 4431 HAL_I2C_Slave_Transmit_DMA: 4432 .LVL290: 4433 .LFB144: 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4434 .loc 1 2186 1 is_stmt 1 view -0 4435 .cfi_startproc 4436 @ args = 0, pretend = 0, frame = 0 4437 @ frame_needed = 0, uses_anonymous_args = 0 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4438 .loc 1 2187 3 view .LVU1536 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4439 .loc 1 2189 3 view .LVU1537 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4440 .loc 1 2189 11 is_stmt 0 view .LVU1538 4441 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 4442 0004 DBB2 uxtb r3, r3 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4443 .loc 1 2189 6 view .LVU1539 4444 0006 202B cmp r3, #32 4445 0008 40F08D80 bne .L313 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4446 .loc 1 2186 1 view .LVU1540 4447 000c 10B5 push {r4, lr} 4448 .cfi_def_cfa_offset 8 4449 .cfi_offset 4, -8 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 231 4450 .cfi_offset 14, -4 4451 000e 0446 mov r4, r0 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4452 .loc 1 2191 5 is_stmt 1 view .LVU1541 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4453 .loc 1 2191 8 is_stmt 0 view .LVU1542 4454 0010 0029 cmp r1, #0 4455 0012 44D0 beq .L305 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4456 .loc 1 2191 25 discriminator 1 view .LVU1543 4457 0014 002A cmp r2, #0 4458 0016 42D0 beq .L305 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4459 .loc 1 2197 5 is_stmt 1 view .LVU1544 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4460 .loc 1 2197 5 view .LVU1545 4461 0018 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 4462 001c 012B cmp r3, #1 4463 001e 00F08480 beq .L314 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4464 .loc 1 2197 5 discriminator 2 view .LVU1546 4465 0022 0123 movs r3, #1 4466 0024 80F84030 strb r3, [r0, #64] 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4467 .loc 1 2197 5 discriminator 2 view .LVU1547 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4468 .loc 1 2199 5 discriminator 2 view .LVU1548 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4469 .loc 1 2199 23 is_stmt 0 discriminator 2 view .LVU1549 4470 0028 2123 movs r3, #33 4471 002a 80F84130 strb r3, [r0, #65] 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4472 .loc 1 2200 5 is_stmt 1 discriminator 2 view .LVU1550 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4473 .loc 1 2200 23 is_stmt 0 discriminator 2 view .LVU1551 4474 002e 2023 movs r3, #32 4475 0030 80F84230 strb r3, [r0, #66] 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4476 .loc 1 2201 5 is_stmt 1 discriminator 2 view .LVU1552 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4477 .loc 1 2201 23 is_stmt 0 discriminator 2 view .LVU1553 4478 0034 0023 movs r3, #0 4479 0036 4364 str r3, [r0, #68] 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4480 .loc 1 2204 5 is_stmt 1 discriminator 2 view .LVU1554 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4481 .loc 1 2204 23 is_stmt 0 discriminator 2 view .LVU1555 4482 0038 4162 str r1, [r0, #36] 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4483 .loc 1 2205 5 is_stmt 1 discriminator 2 view .LVU1556 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4484 .loc 1 2205 23 is_stmt 0 discriminator 2 view .LVU1557 4485 003a 4285 strh r2, [r0, #42] @ movhi 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4486 .loc 1 2206 5 is_stmt 1 discriminator 2 view .LVU1558 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4487 .loc 1 2206 29 is_stmt 0 discriminator 2 view .LVU1559 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 232 4488 003c 438D ldrh r3, [r0, #42] 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4489 .loc 1 2206 23 discriminator 2 view .LVU1560 4490 003e 0385 strh r3, [r0, #40] @ movhi 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4491 .loc 1 2207 5 is_stmt 1 discriminator 2 view .LVU1561 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4492 .loc 1 2207 23 is_stmt 0 discriminator 2 view .LVU1562 4493 0040 3B4B ldr r3, .L322 4494 0042 C362 str r3, [r0, #44] 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4495 .loc 1 2208 5 is_stmt 1 discriminator 2 view .LVU1563 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4496 .loc 1 2208 23 is_stmt 0 discriminator 2 view .LVU1564 4497 0044 3B4B ldr r3, .L322+4 4498 0046 4363 str r3, [r0, #52] 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4499 .loc 1 2211 5 is_stmt 1 discriminator 2 view .LVU1565 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4500 .loc 1 2211 19 is_stmt 0 discriminator 2 view .LVU1566 4501 0048 036A ldr r3, [r0, #32] 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4502 .loc 1 2211 8 discriminator 2 view .LVU1567 4503 004a B3F5003F cmp r3, #131072 4504 004e 2BD0 beq .L320 4505 .LVL291: 4506 .L307: 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4507 .loc 1 2224 5 is_stmt 1 view .LVU1568 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4508 .loc 1 2224 13 is_stmt 0 view .LVU1569 4509 0050 638D ldrh r3, [r4, #42] 4510 0052 9BB2 uxth r3, r3 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4511 .loc 1 2224 8 view .LVU1570 4512 0054 002B cmp r3, #0 4513 0056 57D0 beq .L308 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4514 .loc 1 2226 7 is_stmt 1 view .LVU1571 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4515 .loc 1 2226 15 is_stmt 0 view .LVU1572 4516 0058 A36B ldr r3, [r4, #56] 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4517 .loc 1 2226 10 view .LVU1573 4518 005a 002B cmp r3, #0 4519 005c 33D0 beq .L309 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4520 .loc 1 2229 9 is_stmt 1 view .LVU1574 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4521 .loc 1 2229 40 is_stmt 0 view .LVU1575 4522 005e 364A ldr r2, .L322+8 4523 0060 9A62 str r2, [r3, #40] 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4524 .loc 1 2232 9 is_stmt 1 view .LVU1576 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4525 .loc 1 2232 13 is_stmt 0 view .LVU1577 4526 0062 A36B ldr r3, [r4, #56] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 233 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4527 .loc 1 2232 41 view .LVU1578 4528 0064 354A ldr r2, .L322+12 4529 0066 1A63 str r2, [r3, #48] 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4530 .loc 1 2235 9 is_stmt 1 view .LVU1579 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4531 .loc 1 2235 13 is_stmt 0 view .LVU1580 4532 0068 A26B ldr r2, [r4, #56] 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4533 .loc 1 2235 44 view .LVU1581 4534 006a 0023 movs r3, #0 4535 006c D362 str r3, [r2, #44] 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4536 .loc 1 2236 9 is_stmt 1 view .LVU1582 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4537 .loc 1 2236 13 is_stmt 0 view .LVU1583 4538 006e A26B ldr r2, [r4, #56] 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4539 .loc 1 2236 41 view .LVU1584 4540 0070 5363 str r3, [r2, #52] 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 4541 .loc 1 2239 9 is_stmt 1 view .LVU1585 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4542 .loc 1 2240 83 is_stmt 0 view .LVU1586 4543 0072 2268 ldr r2, [r4] 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 4544 .loc 1 2239 25 view .LVU1587 4545 0074 238D ldrh r3, [r4, #40] 4546 0076 2832 adds r2, r2, #40 4547 0078 616A ldr r1, [r4, #36] 4548 .LVL292: 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 4549 .loc 1 2239 25 view .LVU1588 4550 007a A06B ldr r0, [r4, #56] 4551 .LVL293: 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 4552 .loc 1 2239 25 view .LVU1589 4553 007c FFF7FEFF bl HAL_DMA_Start_IT 4554 .LVL294: 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4555 .loc 1 2258 7 is_stmt 1 view .LVU1590 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4556 .loc 1 2258 10 is_stmt 0 view .LVU1591 4557 0080 78B3 cbz r0, .L321 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4558 .loc 1 2278 9 is_stmt 1 view .LVU1592 2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4559 .loc 1 2278 25 is_stmt 0 view .LVU1593 4560 0082 2823 movs r3, #40 4561 0084 84F84130 strb r3, [r4, #65] 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4562 .loc 1 2279 9 is_stmt 1 view .LVU1594 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4563 .loc 1 2279 25 is_stmt 0 view .LVU1595 4564 0088 0022 movs r2, #0 4565 008a 84F84220 strb r2, [r4, #66] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 234 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4566 .loc 1 2282 9 is_stmt 1 view .LVU1596 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4567 .loc 1 2282 13 is_stmt 0 view .LVU1597 4568 008e 636C ldr r3, [r4, #68] 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4569 .loc 1 2282 25 view .LVU1598 4570 0090 43F01003 orr r3, r3, #16 4571 0094 6364 str r3, [r4, #68] 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4572 .loc 1 2285 9 is_stmt 1 view .LVU1599 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4573 .loc 1 2285 9 view .LVU1600 4574 0096 84F84020 strb r2, [r4, #64] 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4575 .loc 1 2285 9 view .LVU1601 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4576 .loc 1 2287 9 view .LVU1602 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4577 .loc 1 2287 16 is_stmt 0 view .LVU1603 4578 009a 0120 movs r0, #1 4579 .LVL295: 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4580 .loc 1 2287 16 view .LVU1604 4581 009c 03E0 b .L304 4582 .LVL296: 4583 .L305: 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4584 .loc 1 2193 7 is_stmt 1 view .LVU1605 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4585 .loc 1 2193 23 is_stmt 0 view .LVU1606 4586 009e 4FF40073 mov r3, #512 4587 00a2 6364 str r3, [r4, #68] 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4588 .loc 1 2194 7 is_stmt 1 view .LVU1607 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4589 .loc 1 2194 15 is_stmt 0 view .LVU1608 4590 00a4 0120 movs r0, #1 4591 .LVL297: 4592 .L304: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4593 .loc 1 2311 1 view .LVU1609 4594 00a6 10BD pop {r4, pc} 4595 .LVL298: 4596 .L320: 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4597 .loc 1 2215 7 is_stmt 1 view .LVU1610 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4598 .loc 1 2215 11 is_stmt 0 view .LVU1611 4599 00a8 0368 ldr r3, [r0] 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4600 .loc 1 2215 30 view .LVU1612 4601 00aa 0A78 ldrb r2, [r1] @ zero_extendqisi2 4602 .LVL299: 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4603 .loc 1 2215 28 view .LVU1613 4604 00ac 9A62 str r2, [r3, #40] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 235 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4605 .loc 1 2218 7 is_stmt 1 view .LVU1614 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4606 .loc 1 2218 11 is_stmt 0 view .LVU1615 4607 00ae 436A ldr r3, [r0, #36] 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4608 .loc 1 2218 21 view .LVU1616 4609 00b0 0133 adds r3, r3, #1 4610 00b2 4362 str r3, [r0, #36] 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4611 .loc 1 2220 7 is_stmt 1 view .LVU1617 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4612 .loc 1 2220 11 is_stmt 0 view .LVU1618 4613 00b4 438D ldrh r3, [r0, #42] 4614 00b6 9BB2 uxth r3, r3 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4615 .loc 1 2220 22 view .LVU1619 4616 00b8 013B subs r3, r3, #1 4617 00ba 9BB2 uxth r3, r3 4618 00bc 4385 strh r3, [r0, #42] @ movhi 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4619 .loc 1 2221 7 is_stmt 1 view .LVU1620 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4620 .loc 1 2221 11 is_stmt 0 view .LVU1621 4621 00be 038D ldrh r3, [r0, #40] 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4622 .loc 1 2221 21 view .LVU1622 4623 00c0 013B subs r3, r3, #1 4624 00c2 0385 strh r3, [r0, #40] @ movhi 4625 00c4 C4E7 b .L307 4626 .L309: 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4627 .loc 1 2246 9 is_stmt 1 view .LVU1623 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4628 .loc 1 2246 25 is_stmt 0 view .LVU1624 4629 00c6 2823 movs r3, #40 4630 00c8 84F84130 strb r3, [r4, #65] 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4631 .loc 1 2247 9 is_stmt 1 view .LVU1625 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4632 .loc 1 2247 25 is_stmt 0 view .LVU1626 4633 00cc 0022 movs r2, #0 4634 00ce 84F84220 strb r2, [r4, #66] 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4635 .loc 1 2250 9 is_stmt 1 view .LVU1627 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4636 .loc 1 2250 13 is_stmt 0 view .LVU1628 4637 00d2 636C ldr r3, [r4, #68] 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4638 .loc 1 2250 25 view .LVU1629 4639 00d4 43F08003 orr r3, r3, #128 4640 00d8 6364 str r3, [r4, #68] 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4641 .loc 1 2253 9 is_stmt 1 view .LVU1630 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4642 .loc 1 2253 9 view .LVU1631 4643 00da 84F84020 strb r2, [r4, #64] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 236 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4644 .loc 1 2253 9 view .LVU1632 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4645 .loc 1 2255 9 view .LVU1633 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4646 .loc 1 2255 16 is_stmt 0 view .LVU1634 4647 00de 0120 movs r0, #1 4648 .LVL300: 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4649 .loc 1 2255 16 view .LVU1635 4650 00e0 E1E7 b .L304 4651 .LVL301: 4652 .L321: 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4653 .loc 1 2261 9 is_stmt 1 view .LVU1636 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4654 .loc 1 2261 13 is_stmt 0 view .LVU1637 4655 00e2 2268 ldr r2, [r4] 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4656 .loc 1 2261 23 view .LVU1638 4657 00e4 5368 ldr r3, [r2, #4] 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4658 .loc 1 2261 29 view .LVU1639 4659 00e6 23F40043 bic r3, r3, #32768 4660 00ea 5360 str r3, [r2, #4] 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4661 .loc 1 2264 9 is_stmt 1 view .LVU1640 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4662 .loc 1 2264 9 view .LVU1641 4663 00ec 0023 movs r3, #0 4664 00ee 84F84030 strb r3, [r4, #64] 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4665 .loc 1 2264 9 view .LVU1642 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4666 .loc 1 2270 9 view .LVU1643 4667 00f2 4FF40041 mov r1, #32768 4668 00f6 2046 mov r0, r4 4669 .LVL302: 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4670 .loc 1 2270 9 is_stmt 0 view .LVU1644 4671 00f8 FFF7FEFF bl I2C_Enable_IRQ 4672 .LVL303: 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4673 .loc 1 2273 9 is_stmt 1 view .LVU1645 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4674 .loc 1 2273 13 is_stmt 0 view .LVU1646 4675 00fc 2268 ldr r2, [r4] 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4676 .loc 1 2273 23 view .LVU1647 4677 00fe 1368 ldr r3, [r2] 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4678 .loc 1 2273 29 view .LVU1648 4679 0100 43F48043 orr r3, r3, #16384 4680 0104 1360 str r3, [r2] 4681 0106 0CE0 b .L312 4682 .LVL304: 4683 .L308: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 237 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4684 .loc 1 2293 7 is_stmt 1 view .LVU1649 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4685 .loc 1 2293 11 is_stmt 0 view .LVU1650 4686 0108 2268 ldr r2, [r4] 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4687 .loc 1 2293 21 view .LVU1651 4688 010a 5368 ldr r3, [r2, #4] 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4689 .loc 1 2293 27 view .LVU1652 4690 010c 23F40043 bic r3, r3, #32768 4691 0110 5360 str r3, [r2, #4] 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4692 .loc 1 2296 7 is_stmt 1 view .LVU1653 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4693 .loc 1 2296 7 view .LVU1654 4694 0112 0023 movs r3, #0 4695 0114 84F84030 strb r3, [r4, #64] 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4696 .loc 1 2296 7 view .LVU1655 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4697 .loc 1 2302 7 view .LVU1656 4698 0118 4FF40041 mov r1, #32768 4699 .LVL305: 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4700 .loc 1 2302 7 is_stmt 0 view .LVU1657 4701 011c 2046 mov r0, r4 4702 .LVL306: 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4703 .loc 1 2302 7 view .LVU1658 4704 011e FFF7FEFF bl I2C_Enable_IRQ 4705 .LVL307: 4706 .L312: 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4707 .loc 1 2305 5 is_stmt 1 view .LVU1659 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4708 .loc 1 2305 12 is_stmt 0 view .LVU1660 4709 0122 0020 movs r0, #0 4710 0124 BFE7 b .L304 4711 .LVL308: 4712 .L313: 4713 .cfi_def_cfa_offset 0 4714 .cfi_restore 4 4715 .cfi_restore 14 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4716 .loc 1 2309 12 view .LVU1661 4717 0126 0220 movs r0, #2 4718 .LVL309: 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4719 .loc 1 2311 1 view .LVU1662 4720 0128 7047 bx lr 4721 .LVL310: 4722 .L314: 4723 .cfi_def_cfa_offset 8 4724 .cfi_offset 4, -8 4725 .cfi_offset 14, -4 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 238 4726 .loc 1 2197 5 view .LVU1663 4727 012a 0220 movs r0, #2 4728 .LVL311: 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4729 .loc 1 2197 5 view .LVU1664 4730 012c BBE7 b .L304 4731 .L323: 4732 012e 00BF .align 2 4733 .L322: 4734 0130 0000FFFF .word -65536 4735 0134 00000000 .word I2C_Slave_ISR_DMA 4736 0138 00000000 .word I2C_DMASlaveTransmitCplt 4737 013c 00000000 .word I2C_DMAError 4738 .cfi_endproc 4739 .LFE144: 4741 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits 4742 .align 1 4743 .global HAL_I2C_Slave_Receive_DMA 4744 .syntax unified 4745 .thumb 4746 .thumb_func 4748 HAL_I2C_Slave_Receive_DMA: 4749 .LVL312: 4750 .LFB145: 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4751 .loc 1 2322 1 is_stmt 1 view -0 4752 .cfi_startproc 4753 @ args = 0, pretend = 0, frame = 0 4754 @ frame_needed = 0, uses_anonymous_args = 0 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4755 .loc 1 2322 1 is_stmt 0 view .LVU1666 4756 0000 38B5 push {r3, r4, r5, lr} 4757 .cfi_def_cfa_offset 16 4758 .cfi_offset 3, -16 4759 .cfi_offset 4, -12 4760 .cfi_offset 5, -8 4761 .cfi_offset 14, -4 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4762 .loc 1 2323 3 is_stmt 1 view .LVU1667 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4763 .loc 1 2325 3 view .LVU1668 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4764 .loc 1 2325 11 is_stmt 0 view .LVU1669 4765 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 4766 0006 DBB2 uxtb r3, r3 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4767 .loc 1 2325 6 view .LVU1670 4768 0008 202B cmp r3, #32 4769 000a 65D1 bne .L331 4770 000c 0446 mov r4, r0 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4771 .loc 1 2327 5 is_stmt 1 view .LVU1671 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4772 .loc 1 2327 8 is_stmt 0 view .LVU1672 4773 000e 0029 cmp r1, #0 4774 0010 3CD0 beq .L326 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 239 4775 .loc 1 2327 25 discriminator 1 view .LVU1673 4776 0012 002A cmp r2, #0 4777 0014 3AD0 beq .L326 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4778 .loc 1 2333 5 is_stmt 1 view .LVU1674 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4779 .loc 1 2333 5 view .LVU1675 4780 0016 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 4781 001a 012B cmp r3, #1 4782 001c 5FD0 beq .L332 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4783 .loc 1 2333 5 discriminator 2 view .LVU1676 4784 001e 0123 movs r3, #1 4785 0020 80F84030 strb r3, [r0, #64] 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4786 .loc 1 2333 5 discriminator 2 view .LVU1677 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4787 .loc 1 2335 5 discriminator 2 view .LVU1678 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4788 .loc 1 2335 23 is_stmt 0 discriminator 2 view .LVU1679 4789 0024 2223 movs r3, #34 4790 0026 80F84130 strb r3, [r0, #65] 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4791 .loc 1 2336 5 is_stmt 1 discriminator 2 view .LVU1680 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4792 .loc 1 2336 23 is_stmt 0 discriminator 2 view .LVU1681 4793 002a 2023 movs r3, #32 4794 002c 80F84230 strb r3, [r0, #66] 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4795 .loc 1 2337 5 is_stmt 1 discriminator 2 view .LVU1682 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4796 .loc 1 2337 23 is_stmt 0 discriminator 2 view .LVU1683 4797 0030 0023 movs r3, #0 4798 0032 4364 str r3, [r0, #68] 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4799 .loc 1 2340 5 is_stmt 1 discriminator 2 view .LVU1684 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4800 .loc 1 2340 23 is_stmt 0 discriminator 2 view .LVU1685 4801 0034 4162 str r1, [r0, #36] 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4802 .loc 1 2341 5 is_stmt 1 discriminator 2 view .LVU1686 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4803 .loc 1 2341 23 is_stmt 0 discriminator 2 view .LVU1687 4804 0036 4285 strh r2, [r0, #42] @ movhi 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4805 .loc 1 2342 5 is_stmt 1 discriminator 2 view .LVU1688 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4806 .loc 1 2342 29 is_stmt 0 discriminator 2 view .LVU1689 4807 0038 438D ldrh r3, [r0, #42] 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4808 .loc 1 2342 23 discriminator 2 view .LVU1690 4809 003a 0385 strh r3, [r0, #40] @ movhi 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4810 .loc 1 2343 5 is_stmt 1 discriminator 2 view .LVU1691 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4811 .loc 1 2343 23 is_stmt 0 discriminator 2 view .LVU1692 4812 003c 294B ldr r3, .L336 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 240 4813 003e C362 str r3, [r0, #44] 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4814 .loc 1 2344 5 is_stmt 1 discriminator 2 view .LVU1693 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4815 .loc 1 2344 23 is_stmt 0 discriminator 2 view .LVU1694 4816 0040 294B ldr r3, .L336+4 4817 0042 4363 str r3, [r0, #52] 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4818 .loc 1 2346 5 is_stmt 1 discriminator 2 view .LVU1695 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4819 .loc 1 2346 13 is_stmt 0 discriminator 2 view .LVU1696 4820 0044 C36B ldr r3, [r0, #60] 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4821 .loc 1 2346 8 discriminator 2 view .LVU1697 4822 0046 33B3 cbz r3, .L328 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4823 .loc 1 2349 7 is_stmt 1 view .LVU1698 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4824 .loc 1 2349 38 is_stmt 0 view .LVU1699 4825 0048 284A ldr r2, .L336+8 4826 .LVL313: 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4827 .loc 1 2349 38 view .LVU1700 4828 004a 9A62 str r2, [r3, #40] 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4829 .loc 1 2352 7 is_stmt 1 view .LVU1701 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4830 .loc 1 2352 11 is_stmt 0 view .LVU1702 4831 004c C36B ldr r3, [r0, #60] 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4832 .loc 1 2352 39 view .LVU1703 4833 004e 284A ldr r2, .L336+12 4834 0050 1A63 str r2, [r3, #48] 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4835 .loc 1 2355 7 is_stmt 1 view .LVU1704 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4836 .loc 1 2355 11 is_stmt 0 view .LVU1705 4837 0052 C26B ldr r2, [r0, #60] 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4838 .loc 1 2355 42 view .LVU1706 4839 0054 0023 movs r3, #0 4840 0056 D362 str r3, [r2, #44] 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4841 .loc 1 2356 7 is_stmt 1 view .LVU1707 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4842 .loc 1 2356 11 is_stmt 0 view .LVU1708 4843 0058 C26B ldr r2, [r0, #60] 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4844 .loc 1 2356 39 view .LVU1709 4845 005a 5363 str r3, [r2, #52] 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4846 .loc 1 2359 7 is_stmt 1 view .LVU1710 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4847 .loc 1 2359 69 is_stmt 0 view .LVU1711 4848 005c 0068 ldr r0, [r0] 4849 .LVL314: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 241 4850 .loc 1 2359 23 view .LVU1712 4851 005e 238D ldrh r3, [r4, #40] 4852 0060 0A46 mov r2, r1 4853 0062 00F12401 add r1, r0, #36 4854 .LVL315: 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4855 .loc 1 2359 23 view .LVU1713 4856 0066 E06B ldr r0, [r4, #60] 4857 0068 FFF7FEFF bl HAL_DMA_Start_IT 4858 .LVL316: 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4859 .loc 1 2377 5 is_stmt 1 view .LVU1714 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4860 .loc 1 2377 8 is_stmt 0 view .LVU1715 4861 006c 0546 mov r5, r0 4862 006e 00B3 cbz r0, .L335 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4863 .loc 1 2397 7 is_stmt 1 view .LVU1716 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4864 .loc 1 2397 23 is_stmt 0 view .LVU1717 4865 0070 2823 movs r3, #40 4866 0072 84F84130 strb r3, [r4, #65] 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4867 .loc 1 2398 7 is_stmt 1 view .LVU1718 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4868 .loc 1 2398 23 is_stmt 0 view .LVU1719 4869 0076 0022 movs r2, #0 4870 0078 84F84220 strb r2, [r4, #66] 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4871 .loc 1 2401 7 is_stmt 1 view .LVU1720 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4872 .loc 1 2401 11 is_stmt 0 view .LVU1721 4873 007c 636C ldr r3, [r4, #68] 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4874 .loc 1 2401 23 view .LVU1722 4875 007e 43F01003 orr r3, r3, #16 4876 0082 6364 str r3, [r4, #68] 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4877 .loc 1 2404 7 is_stmt 1 view .LVU1723 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4878 .loc 1 2404 7 view .LVU1724 4879 0084 84F84020 strb r2, [r4, #64] 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4880 .loc 1 2404 7 view .LVU1725 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4881 .loc 1 2406 7 view .LVU1726 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4882 .loc 1 2406 14 is_stmt 0 view .LVU1727 4883 0088 0125 movs r5, #1 4884 008a 26E0 b .L325 4885 .LVL317: 4886 .L326: 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4887 .loc 1 2329 7 is_stmt 1 view .LVU1728 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4888 .loc 1 2329 23 is_stmt 0 view .LVU1729 4889 008c 4FF40073 mov r3, #512 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 242 4890 0090 6364 str r3, [r4, #68] 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4891 .loc 1 2330 7 is_stmt 1 view .LVU1730 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4892 .loc 1 2330 15 is_stmt 0 view .LVU1731 4893 0092 0125 movs r5, #1 4894 0094 21E0 b .L325 4895 .L328: 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4896 .loc 1 2365 7 is_stmt 1 view .LVU1732 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4897 .loc 1 2365 23 is_stmt 0 view .LVU1733 4898 0096 2823 movs r3, #40 4899 0098 80F84130 strb r3, [r0, #65] 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4900 .loc 1 2366 7 is_stmt 1 view .LVU1734 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4901 .loc 1 2366 23 is_stmt 0 view .LVU1735 4902 009c 0022 movs r2, #0 4903 .LVL318: 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4904 .loc 1 2366 23 view .LVU1736 4905 009e 80F84220 strb r2, [r0, #66] 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4906 .loc 1 2369 7 is_stmt 1 view .LVU1737 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4907 .loc 1 2369 11 is_stmt 0 view .LVU1738 4908 00a2 436C ldr r3, [r0, #68] 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4909 .loc 1 2369 23 view .LVU1739 4910 00a4 43F08003 orr r3, r3, #128 4911 00a8 4364 str r3, [r0, #68] 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4912 .loc 1 2372 7 is_stmt 1 view .LVU1740 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4913 .loc 1 2372 7 view .LVU1741 4914 00aa 80F84020 strb r2, [r0, #64] 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4915 .loc 1 2372 7 view .LVU1742 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4916 .loc 1 2374 7 view .LVU1743 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4917 .loc 1 2374 14 is_stmt 0 view .LVU1744 4918 00ae 0125 movs r5, #1 4919 00b0 13E0 b .L325 4920 .LVL319: 4921 .L335: 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4922 .loc 1 2380 7 is_stmt 1 view .LVU1745 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4923 .loc 1 2380 11 is_stmt 0 view .LVU1746 4924 00b2 2268 ldr r2, [r4] 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4925 .loc 1 2380 21 view .LVU1747 4926 00b4 5368 ldr r3, [r2, #4] 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4927 .loc 1 2380 27 view .LVU1748 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 243 4928 00b6 23F40043 bic r3, r3, #32768 4929 00ba 5360 str r3, [r2, #4] 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4930 .loc 1 2383 7 is_stmt 1 view .LVU1749 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4931 .loc 1 2383 7 view .LVU1750 4932 00bc 0023 movs r3, #0 4933 00be 84F84030 strb r3, [r4, #64] 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4934 .loc 1 2383 7 view .LVU1751 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4935 .loc 1 2389 7 view .LVU1752 4936 00c2 4FF40041 mov r1, #32768 4937 00c6 2046 mov r0, r4 4938 .LVL320: 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4939 .loc 1 2389 7 is_stmt 0 view .LVU1753 4940 00c8 FFF7FEFF bl I2C_Enable_IRQ 4941 .LVL321: 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4942 .loc 1 2392 7 is_stmt 1 view .LVU1754 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4943 .loc 1 2392 11 is_stmt 0 view .LVU1755 4944 00cc 2268 ldr r2, [r4] 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4945 .loc 1 2392 21 view .LVU1756 4946 00ce 1368 ldr r3, [r2] 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4947 .loc 1 2392 27 view .LVU1757 4948 00d0 43F40043 orr r3, r3, #32768 4949 00d4 1360 str r3, [r2] 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4950 .loc 1 2409 5 is_stmt 1 view .LVU1758 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4951 .loc 1 2409 12 is_stmt 0 view .LVU1759 4952 00d6 00E0 b .L325 4953 .LVL322: 4954 .L331: 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4955 .loc 1 2413 12 view .LVU1760 4956 00d8 0225 movs r5, #2 4957 .LVL323: 4958 .L325: 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4959 .loc 1 2415 1 view .LVU1761 4960 00da 2846 mov r0, r5 4961 00dc 38BD pop {r3, r4, r5, pc} 4962 .LVL324: 4963 .L332: 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4964 .loc 1 2333 5 view .LVU1762 4965 00de 0225 movs r5, #2 4966 00e0 FBE7 b .L325 4967 .L337: 4968 00e2 00BF .align 2 4969 .L336: 4970 00e4 0000FFFF .word -65536 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 244 4971 00e8 00000000 .word I2C_Slave_ISR_DMA 4972 00ec 00000000 .word I2C_DMASlaveReceiveCplt 4973 00f0 00000000 .word I2C_DMAError 4974 .cfi_endproc 4975 .LFE145: 4977 .section .text.HAL_I2C_Mem_Write,"ax",%progbits 4978 .align 1 4979 .global HAL_I2C_Mem_Write 4980 .syntax unified 4981 .thumb 4982 .thumb_func 4984 HAL_I2C_Mem_Write: 4985 .LVL325: 4986 .LFB146: 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 4987 .loc 1 2432 1 is_stmt 1 view -0 4988 .cfi_startproc 4989 @ args = 12, pretend = 0, frame = 0 4990 @ frame_needed = 0, uses_anonymous_args = 0 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 4991 .loc 1 2432 1 is_stmt 0 view .LVU1764 4992 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 4993 .cfi_def_cfa_offset 36 4994 .cfi_offset 4, -36 4995 .cfi_offset 5, -32 4996 .cfi_offset 6, -28 4997 .cfi_offset 7, -24 4998 .cfi_offset 8, -20 4999 .cfi_offset 9, -16 5000 .cfi_offset 10, -12 5001 .cfi_offset 11, -8 5002 .cfi_offset 14, -4 5003 0004 83B0 sub sp, sp, #12 5004 .cfi_def_cfa_offset 48 5005 0006 0E46 mov r6, r1 5006 0008 BDF834A0 ldrh r10, [sp, #52] 5007 000c 0E9D ldr r5, [sp, #56] 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5008 .loc 1 2433 3 is_stmt 1 view .LVU1765 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5009 .loc 1 2436 3 view .LVU1766 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5010 .loc 1 2438 3 view .LVU1767 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5011 .loc 1 2438 11 is_stmt 0 view .LVU1768 5012 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5013 .LVL326: 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5014 .loc 1 2438 11 view .LVU1769 5015 0012 C9B2 uxtb r1, r1 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5016 .loc 1 2438 6 view .LVU1770 5017 0014 2029 cmp r1, #32 5018 0016 40F0BB80 bne .L348 5019 001a 0446 mov r4, r0 5020 001c 9046 mov r8, r2 5021 001e 9946 mov r9, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 245 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5022 .loc 1 2440 5 is_stmt 1 view .LVU1771 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5023 .loc 1 2440 8 is_stmt 0 view .LVU1772 5024 0020 0C9B ldr r3, [sp, #48] 5025 .LVL327: 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5026 .loc 1 2440 8 view .LVU1773 5027 0022 CBB1 cbz r3, .L340 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5028 .loc 1 2440 25 discriminator 1 view .LVU1774 5029 0024 BAF1000F cmp r10, #0 5030 0028 16D0 beq .L340 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5031 .loc 1 2447 5 is_stmt 1 view .LVU1775 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5032 .loc 1 2447 5 view .LVU1776 5033 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 5034 002e 012B cmp r3, #1 5035 0030 00F0B280 beq .L349 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5036 .loc 1 2447 5 discriminator 2 view .LVU1777 5037 0034 4FF0010B mov fp, #1 5038 0038 80F840B0 strb fp, [r0, #64] 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5039 .loc 1 2447 5 discriminator 2 view .LVU1778 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5040 .loc 1 2450 5 discriminator 2 view .LVU1779 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5041 .loc 1 2450 17 is_stmt 0 discriminator 2 view .LVU1780 5042 003c FFF7FEFF bl HAL_GetTick 5043 .LVL328: 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5044 .loc 1 2450 17 discriminator 2 view .LVU1781 5045 0040 0746 mov r7, r0 5046 .LVL329: 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5047 .loc 1 2452 5 is_stmt 1 discriminator 2 view .LVU1782 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5048 .loc 1 2452 9 is_stmt 0 discriminator 2 view .LVU1783 5049 0042 0090 str r0, [sp] 5050 0044 1923 movs r3, #25 5051 0046 5A46 mov r2, fp 5052 0048 4FF40041 mov r1, #32768 5053 004c 2046 mov r0, r4 5054 .LVL330: 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5055 .loc 1 2452 9 discriminator 2 view .LVU1784 5056 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5057 .LVL331: 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5058 .loc 1 2452 8 discriminator 2 view .LVU1785 5059 0052 30B1 cbz r0, .L355 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5060 .loc 1 2454 14 view .LVU1786 5061 0054 0120 movs r0, #1 5062 0056 9CE0 b .L339 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 246 5063 .LVL332: 5064 .L340: 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5065 .loc 1 2442 7 is_stmt 1 view .LVU1787 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5066 .loc 1 2442 23 is_stmt 0 view .LVU1788 5067 0058 4FF40073 mov r3, #512 5068 005c 6364 str r3, [r4, #68] 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5069 .loc 1 2443 7 is_stmt 1 view .LVU1789 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5070 .loc 1 2443 15 is_stmt 0 view .LVU1790 5071 005e 0120 movs r0, #1 5072 .LVL333: 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5073 .loc 1 2443 15 view .LVU1791 5074 0060 97E0 b .L339 5075 .LVL334: 5076 .L355: 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5077 .loc 1 2457 5 is_stmt 1 view .LVU1792 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5078 .loc 1 2457 21 is_stmt 0 view .LVU1793 5079 0062 2123 movs r3, #33 5080 0064 84F84130 strb r3, [r4, #65] 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5081 .loc 1 2458 5 is_stmt 1 view .LVU1794 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5082 .loc 1 2458 21 is_stmt 0 view .LVU1795 5083 0068 4023 movs r3, #64 5084 006a 84F84230 strb r3, [r4, #66] 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5085 .loc 1 2459 5 is_stmt 1 view .LVU1796 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5086 .loc 1 2459 21 is_stmt 0 view .LVU1797 5087 006e 0023 movs r3, #0 5088 0070 6364 str r3, [r4, #68] 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5089 .loc 1 2462 5 is_stmt 1 view .LVU1798 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5090 .loc 1 2462 21 is_stmt 0 view .LVU1799 5091 0072 0C9A ldr r2, [sp, #48] 5092 0074 6262 str r2, [r4, #36] 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5093 .loc 1 2463 5 is_stmt 1 view .LVU1800 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5094 .loc 1 2463 21 is_stmt 0 view .LVU1801 5095 0076 A4F82AA0 strh r10, [r4, #42] @ movhi 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5096 .loc 1 2464 5 is_stmt 1 view .LVU1802 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5097 .loc 1 2464 21 is_stmt 0 view .LVU1803 5098 007a 6363 str r3, [r4, #52] 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5099 .loc 1 2467 5 is_stmt 1 view .LVU1804 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5100 .loc 1 2467 9 is_stmt 0 view .LVU1805 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 247 5101 007c 0197 str r7, [sp, #4] 5102 007e 0095 str r5, [sp] 5103 0080 4B46 mov r3, r9 5104 0082 4246 mov r2, r8 5105 0084 3146 mov r1, r6 5106 0086 2046 mov r0, r4 5107 0088 FFF7FEFF bl I2C_RequestMemoryWrite 5108 .LVL335: 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5109 .loc 1 2467 8 view .LVU1806 5110 008c 70B9 cbnz r0, .L356 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5111 .loc 1 2475 5 is_stmt 1 view .LVU1807 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5112 .loc 1 2475 13 is_stmt 0 view .LVU1808 5113 008e 638D ldrh r3, [r4, #42] 5114 0090 9BB2 uxth r3, r3 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5115 .loc 1 2475 8 view .LVU1809 5116 0092 FF2B cmp r3, #255 5117 0094 0FD9 bls .L343 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 5118 .loc 1 2477 7 is_stmt 1 view .LVU1810 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 5119 .loc 1 2477 22 is_stmt 0 view .LVU1811 5120 0096 FF22 movs r2, #255 5121 0098 2285 strh r2, [r4, #40] @ movhi 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5122 .loc 1 2478 7 is_stmt 1 view .LVU1812 5123 009a 0023 movs r3, #0 5124 009c 0093 str r3, [sp] 5125 009e 4FF08073 mov r3, #16777216 5126 00a2 3146 mov r1, r6 5127 00a4 2046 mov r0, r4 5128 00a6 FFF7FEFF bl I2C_TransferConfig 5129 .LVL336: 5130 00aa 21E0 b .L347 5131 .L356: 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5132 .loc 1 2470 7 view .LVU1813 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5133 .loc 1 2470 7 view .LVU1814 5134 00ac 0023 movs r3, #0 5135 00ae 84F84030 strb r3, [r4, #64] 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5136 .loc 1 2470 7 view .LVU1815 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5137 .loc 1 2471 7 view .LVU1816 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5138 .loc 1 2471 14 is_stmt 0 view .LVU1817 5139 00b2 5846 mov r0, fp 5140 00b4 6DE0 b .L339 5141 .L343: 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5142 .loc 1 2482 7 is_stmt 1 view .LVU1818 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5143 .loc 1 2482 28 is_stmt 0 view .LVU1819 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 248 5144 00b6 628D ldrh r2, [r4, #42] 5145 00b8 92B2 uxth r2, r2 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5146 .loc 1 2482 22 view .LVU1820 5147 00ba 2285 strh r2, [r4, #40] @ movhi 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5148 .loc 1 2483 7 is_stmt 1 view .LVU1821 5149 00bc 0023 movs r3, #0 5150 00be 0093 str r3, [sp] 5151 00c0 4FF00073 mov r3, #33554432 5152 00c4 D2B2 uxtb r2, r2 5153 00c6 3146 mov r1, r6 5154 00c8 2046 mov r0, r4 5155 00ca FFF7FEFF bl I2C_TransferConfig 5156 .LVL337: 5157 00ce 0FE0 b .L347 5158 .L346: 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5159 .loc 1 2519 11 view .LVU1822 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5160 .loc 1 2519 32 is_stmt 0 view .LVU1823 5161 00d0 628D ldrh r2, [r4, #42] 5162 00d2 92B2 uxth r2, r2 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5163 .loc 1 2519 26 view .LVU1824 5164 00d4 2285 strh r2, [r4, #40] @ movhi 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 5165 .loc 1 2520 11 is_stmt 1 view .LVU1825 5166 00d6 0023 movs r3, #0 5167 00d8 0093 str r3, [sp] 5168 00da 4FF00073 mov r3, #33554432 5169 00de D2B2 uxtb r2, r2 5170 00e0 3146 mov r1, r6 5171 00e2 2046 mov r0, r4 5172 00e4 FFF7FEFF bl I2C_TransferConfig 5173 .LVL338: 5174 .L345: 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5175 .loc 1 2525 30 view .LVU1826 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5176 .loc 1 2525 18 is_stmt 0 view .LVU1827 5177 00e8 638D ldrh r3, [r4, #42] 5178 00ea 9BB2 uxth r3, r3 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5179 .loc 1 2525 30 view .LVU1828 5180 00ec 002B cmp r3, #0 5181 00ee 33D0 beq .L357 5182 .L347: 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5183 .loc 1 2486 5 is_stmt 1 view .LVU1829 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5184 .loc 1 2489 7 view .LVU1830 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5185 .loc 1 2489 11 is_stmt 0 view .LVU1831 5186 00f0 3A46 mov r2, r7 5187 00f2 2946 mov r1, r5 5188 00f4 2046 mov r0, r4 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 249 5189 00f6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 5190 .LVL339: 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5191 .loc 1 2489 10 view .LVU1832 5192 00fa 0028 cmp r0, #0 5193 00fc 4ED1 bne .L351 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5194 .loc 1 2495 7 is_stmt 1 view .LVU1833 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5195 .loc 1 2495 35 is_stmt 0 view .LVU1834 5196 00fe 626A ldr r2, [r4, #36] 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5197 .loc 1 2495 11 view .LVU1835 5198 0100 2368 ldr r3, [r4] 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5199 .loc 1 2495 30 view .LVU1836 5200 0102 1278 ldrb r2, [r2] @ zero_extendqisi2 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5201 .loc 1 2495 28 view .LVU1837 5202 0104 9A62 str r2, [r3, #40] 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5203 .loc 1 2498 7 is_stmt 1 view .LVU1838 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5204 .loc 1 2498 11 is_stmt 0 view .LVU1839 5205 0106 636A ldr r3, [r4, #36] 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5206 .loc 1 2498 21 view .LVU1840 5207 0108 0133 adds r3, r3, #1 5208 010a 6362 str r3, [r4, #36] 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5209 .loc 1 2500 7 is_stmt 1 view .LVU1841 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5210 .loc 1 2500 11 is_stmt 0 view .LVU1842 5211 010c 638D ldrh r3, [r4, #42] 5212 010e 9BB2 uxth r3, r3 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5213 .loc 1 2500 22 view .LVU1843 5214 0110 013B subs r3, r3, #1 5215 0112 9BB2 uxth r3, r3 5216 0114 6385 strh r3, [r4, #42] @ movhi 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5217 .loc 1 2501 7 is_stmt 1 view .LVU1844 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5218 .loc 1 2501 11 is_stmt 0 view .LVU1845 5219 0116 238D ldrh r3, [r4, #40] 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5220 .loc 1 2501 21 view .LVU1846 5221 0118 013B subs r3, r3, #1 5222 011a 9BB2 uxth r3, r3 5223 011c 2385 strh r3, [r4, #40] @ movhi 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5224 .loc 1 2503 7 is_stmt 1 view .LVU1847 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5225 .loc 1 2503 16 is_stmt 0 view .LVU1848 5226 011e 628D ldrh r2, [r4, #42] 5227 0120 92B2 uxth r2, r2 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 250 5228 .loc 1 2503 10 view .LVU1849 5229 0122 002A cmp r2, #0 5230 0124 E0D0 beq .L345 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5231 .loc 1 2503 35 discriminator 1 view .LVU1850 5232 0126 002B cmp r3, #0 5233 0128 DED1 bne .L345 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5234 .loc 1 2506 9 is_stmt 1 view .LVU1851 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5235 .loc 1 2506 13 is_stmt 0 view .LVU1852 5236 012a 0097 str r7, [sp] 5237 012c 2B46 mov r3, r5 5238 012e 0022 movs r2, #0 5239 0130 8021 movs r1, #128 5240 0132 2046 mov r0, r4 5241 0134 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5242 .LVL340: 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5243 .loc 1 2506 12 view .LVU1853 5244 0138 90BB cbnz r0, .L352 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5245 .loc 1 2511 9 is_stmt 1 view .LVU1854 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5246 .loc 1 2511 17 is_stmt 0 view .LVU1855 5247 013a 638D ldrh r3, [r4, #42] 5248 013c 9BB2 uxth r3, r3 2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5249 .loc 1 2511 12 view .LVU1856 5250 013e FF2B cmp r3, #255 5251 0140 C6D9 bls .L346 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5252 .loc 1 2513 11 is_stmt 1 view .LVU1857 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5253 .loc 1 2513 26 is_stmt 0 view .LVU1858 5254 0142 FF22 movs r2, #255 5255 0144 2285 strh r2, [r4, #40] @ movhi 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 5256 .loc 1 2514 11 is_stmt 1 view .LVU1859 5257 0146 0023 movs r3, #0 5258 0148 0093 str r3, [sp] 5259 014a 4FF08073 mov r3, #16777216 5260 014e 3146 mov r1, r6 5261 0150 2046 mov r0, r4 5262 0152 FFF7FEFF bl I2C_TransferConfig 5263 .LVL341: 5264 0156 C7E7 b .L345 5265 .L357: 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5266 .loc 1 2529 5 view .LVU1860 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5267 .loc 1 2529 9 is_stmt 0 view .LVU1861 5268 0158 3A46 mov r2, r7 5269 015a 2946 mov r1, r5 5270 015c 2046 mov r0, r4 5271 015e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 5272 .LVL342: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 251 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5273 .loc 1 2529 8 view .LVU1862 5274 0162 F8B9 cbnz r0, .L353 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5275 .loc 1 2535 5 is_stmt 1 view .LVU1863 5276 0164 2368 ldr r3, [r4] 5277 0166 2022 movs r2, #32 5278 0168 DA61 str r2, [r3, #28] 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5279 .loc 1 2538 5 view .LVU1864 5280 016a 2168 ldr r1, [r4] 5281 016c 4B68 ldr r3, [r1, #4] 5282 016e 23F0FF73 bic r3, r3, #33423360 5283 0172 23F48B33 bic r3, r3, #71168 5284 0176 23F4FF73 bic r3, r3, #510 5285 017a 23F00103 bic r3, r3, #1 5286 017e 4B60 str r3, [r1, #4] 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5287 .loc 1 2540 5 view .LVU1865 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5288 .loc 1 2540 17 is_stmt 0 view .LVU1866 5289 0180 84F84120 strb r2, [r4, #65] 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5290 .loc 1 2541 5 is_stmt 1 view .LVU1867 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5291 .loc 1 2541 17 is_stmt 0 view .LVU1868 5292 0184 0023 movs r3, #0 5293 0186 84F84230 strb r3, [r4, #66] 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5294 .loc 1 2544 5 is_stmt 1 view .LVU1869 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5295 .loc 1 2544 5 view .LVU1870 5296 018a 84F84030 strb r3, [r4, #64] 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5297 .loc 1 2544 5 view .LVU1871 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5298 .loc 1 2546 5 view .LVU1872 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5299 .loc 1 2546 12 is_stmt 0 view .LVU1873 5300 018e 00E0 b .L339 5301 .LVL343: 5302 .L348: 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5303 .loc 1 2550 12 view .LVU1874 5304 0190 0220 movs r0, #2 5305 .LVL344: 5306 .L339: 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5307 .loc 1 2552 1 view .LVU1875 5308 0192 03B0 add sp, sp, #12 5309 .cfi_remember_state 5310 .cfi_def_cfa_offset 36 5311 @ sp needed 5312 0194 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 5313 .LVL345: 5314 .L349: 5315 .cfi_restore_state ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 252 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5316 .loc 1 2447 5 view .LVU1876 5317 0198 0220 movs r0, #2 5318 .LVL346: 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5319 .loc 1 2447 5 view .LVU1877 5320 019a FAE7 b .L339 5321 .LVL347: 5322 .L351: 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5323 .loc 1 2491 16 view .LVU1878 5324 019c 0120 movs r0, #1 5325 019e F8E7 b .L339 5326 .L352: 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5327 .loc 1 2508 18 view .LVU1879 5328 01a0 0120 movs r0, #1 5329 01a2 F6E7 b .L339 5330 .L353: 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5331 .loc 1 2531 14 view .LVU1880 5332 01a4 0120 movs r0, #1 5333 01a6 F4E7 b .L339 5334 .cfi_endproc 5335 .LFE146: 5337 .section .text.HAL_I2C_Mem_Read,"ax",%progbits 5338 .align 1 5339 .global HAL_I2C_Mem_Read 5340 .syntax unified 5341 .thumb 5342 .thumb_func 5344 HAL_I2C_Mem_Read: 5345 .LVL348: 5346 .LFB147: 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5347 .loc 1 2569 1 is_stmt 1 view -0 5348 .cfi_startproc 5349 @ args = 12, pretend = 0, frame = 0 5350 @ frame_needed = 0, uses_anonymous_args = 0 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5351 .loc 1 2569 1 is_stmt 0 view .LVU1882 5352 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 5353 .cfi_def_cfa_offset 36 5354 .cfi_offset 4, -36 5355 .cfi_offset 5, -32 5356 .cfi_offset 6, -28 5357 .cfi_offset 7, -24 5358 .cfi_offset 8, -20 5359 .cfi_offset 9, -16 5360 .cfi_offset 10, -12 5361 .cfi_offset 11, -8 5362 .cfi_offset 14, -4 5363 0004 83B0 sub sp, sp, #12 5364 .cfi_def_cfa_offset 48 5365 0006 0E46 mov r6, r1 5366 0008 BDF834A0 ldrh r10, [sp, #52] 5367 000c 0E9D ldr r5, [sp, #56] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 253 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5368 .loc 1 2570 3 is_stmt 1 view .LVU1883 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5369 .loc 1 2573 3 view .LVU1884 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5370 .loc 1 2575 3 view .LVU1885 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5371 .loc 1 2575 11 is_stmt 0 view .LVU1886 5372 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 5373 .LVL349: 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5374 .loc 1 2575 11 view .LVU1887 5375 0012 C9B2 uxtb r1, r1 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5376 .loc 1 2575 6 view .LVU1888 5377 0014 2029 cmp r1, #32 5378 0016 40F0BC80 bne .L368 5379 001a 0446 mov r4, r0 5380 001c 9046 mov r8, r2 5381 001e 9946 mov r9, r3 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5382 .loc 1 2577 5 is_stmt 1 view .LVU1889 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5383 .loc 1 2577 8 is_stmt 0 view .LVU1890 5384 0020 0C9B ldr r3, [sp, #48] 5385 .LVL350: 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5386 .loc 1 2577 8 view .LVU1891 5387 0022 CBB1 cbz r3, .L360 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5388 .loc 1 2577 25 discriminator 1 view .LVU1892 5389 0024 BAF1000F cmp r10, #0 5390 0028 16D0 beq .L360 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5391 .loc 1 2584 5 is_stmt 1 view .LVU1893 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5392 .loc 1 2584 5 view .LVU1894 5393 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 5394 002e 012B cmp r3, #1 5395 0030 00F0B380 beq .L369 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5396 .loc 1 2584 5 discriminator 2 view .LVU1895 5397 0034 4FF0010B mov fp, #1 5398 0038 80F840B0 strb fp, [r0, #64] 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5399 .loc 1 2584 5 discriminator 2 view .LVU1896 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5400 .loc 1 2587 5 discriminator 2 view .LVU1897 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5401 .loc 1 2587 17 is_stmt 0 discriminator 2 view .LVU1898 5402 003c FFF7FEFF bl HAL_GetTick 5403 .LVL351: 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5404 .loc 1 2587 17 discriminator 2 view .LVU1899 5405 0040 0746 mov r7, r0 5406 .LVL352: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 254 5407 .loc 1 2589 5 is_stmt 1 discriminator 2 view .LVU1900 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5408 .loc 1 2589 9 is_stmt 0 discriminator 2 view .LVU1901 5409 0042 0090 str r0, [sp] 5410 0044 1923 movs r3, #25 5411 0046 5A46 mov r2, fp 5412 0048 4FF40041 mov r1, #32768 5413 004c 2046 mov r0, r4 5414 .LVL353: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5415 .loc 1 2589 9 discriminator 2 view .LVU1902 5416 004e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5417 .LVL354: 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5418 .loc 1 2589 8 discriminator 2 view .LVU1903 5419 0052 30B1 cbz r0, .L375 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5420 .loc 1 2591 14 view .LVU1904 5421 0054 0120 movs r0, #1 5422 0056 9DE0 b .L359 5423 .LVL355: 5424 .L360: 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5425 .loc 1 2579 7 is_stmt 1 view .LVU1905 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5426 .loc 1 2579 23 is_stmt 0 view .LVU1906 5427 0058 4FF40073 mov r3, #512 5428 005c 6364 str r3, [r4, #68] 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5429 .loc 1 2580 7 is_stmt 1 view .LVU1907 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5430 .loc 1 2580 15 is_stmt 0 view .LVU1908 5431 005e 0120 movs r0, #1 5432 .LVL356: 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5433 .loc 1 2580 15 view .LVU1909 5434 0060 98E0 b .L359 5435 .LVL357: 5436 .L375: 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5437 .loc 1 2594 5 is_stmt 1 view .LVU1910 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5438 .loc 1 2594 21 is_stmt 0 view .LVU1911 5439 0062 2223 movs r3, #34 5440 0064 84F84130 strb r3, [r4, #65] 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5441 .loc 1 2595 5 is_stmt 1 view .LVU1912 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5442 .loc 1 2595 21 is_stmt 0 view .LVU1913 5443 0068 4023 movs r3, #64 5444 006a 84F84230 strb r3, [r4, #66] 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5445 .loc 1 2596 5 is_stmt 1 view .LVU1914 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5446 .loc 1 2596 21 is_stmt 0 view .LVU1915 5447 006e 0023 movs r3, #0 5448 0070 6364 str r3, [r4, #68] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 255 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5449 .loc 1 2599 5 is_stmt 1 view .LVU1916 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5450 .loc 1 2599 21 is_stmt 0 view .LVU1917 5451 0072 0C9A ldr r2, [sp, #48] 5452 0074 6262 str r2, [r4, #36] 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5453 .loc 1 2600 5 is_stmt 1 view .LVU1918 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5454 .loc 1 2600 21 is_stmt 0 view .LVU1919 5455 0076 A4F82AA0 strh r10, [r4, #42] @ movhi 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5456 .loc 1 2601 5 is_stmt 1 view .LVU1920 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5457 .loc 1 2601 21 is_stmt 0 view .LVU1921 5458 007a 6363 str r3, [r4, #52] 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5459 .loc 1 2604 5 is_stmt 1 view .LVU1922 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5460 .loc 1 2604 9 is_stmt 0 view .LVU1923 5461 007c 0197 str r7, [sp, #4] 5462 007e 0095 str r5, [sp] 5463 0080 4B46 mov r3, r9 5464 0082 4246 mov r2, r8 5465 0084 3146 mov r1, r6 5466 0086 2046 mov r0, r4 5467 0088 FFF7FEFF bl I2C_RequestMemoryRead 5468 .LVL358: 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5469 .loc 1 2604 8 view .LVU1924 5470 008c 70B9 cbnz r0, .L376 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5471 .loc 1 2613 5 is_stmt 1 view .LVU1925 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5472 .loc 1 2613 13 is_stmt 0 view .LVU1926 5473 008e 638D ldrh r3, [r4, #42] 5474 0090 9BB2 uxth r3, r3 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5475 .loc 1 2613 8 view .LVU1927 5476 0092 FF2B cmp r3, #255 5477 0094 0FD9 bls .L363 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5478 .loc 1 2615 7 is_stmt 1 view .LVU1928 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5479 .loc 1 2615 22 is_stmt 0 view .LVU1929 5480 0096 FF22 movs r2, #255 5481 0098 2285 strh r2, [r4, #40] @ movhi 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 5482 .loc 1 2616 7 is_stmt 1 view .LVU1930 5483 009a 444B ldr r3, .L378 5484 009c 0093 str r3, [sp] 5485 009e 4FF08073 mov r3, #16777216 5486 00a2 3146 mov r1, r6 5487 00a4 2046 mov r0, r4 5488 00a6 FFF7FEFF bl I2C_TransferConfig 5489 .LVL359: 5490 00aa 21E0 b .L367 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 256 5491 .L376: 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5492 .loc 1 2607 7 view .LVU1931 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5493 .loc 1 2607 7 view .LVU1932 5494 00ac 0023 movs r3, #0 5495 00ae 84F84030 strb r3, [r4, #64] 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5496 .loc 1 2607 7 view .LVU1933 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5497 .loc 1 2608 7 view .LVU1934 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5498 .loc 1 2608 14 is_stmt 0 view .LVU1935 5499 00b2 5846 mov r0, fp 5500 00b4 6EE0 b .L359 5501 .L363: 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5502 .loc 1 2621 7 is_stmt 1 view .LVU1936 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5503 .loc 1 2621 28 is_stmt 0 view .LVU1937 5504 00b6 628D ldrh r2, [r4, #42] 5505 00b8 92B2 uxth r2, r2 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5506 .loc 1 2621 22 view .LVU1938 5507 00ba 2285 strh r2, [r4, #40] @ movhi 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 5508 .loc 1 2622 7 is_stmt 1 view .LVU1939 5509 00bc 3B4B ldr r3, .L378 5510 00be 0093 str r3, [sp] 5511 00c0 4FF00073 mov r3, #33554432 5512 00c4 D2B2 uxtb r2, r2 5513 00c6 3146 mov r1, r6 5514 00c8 2046 mov r0, r4 5515 00ca FFF7FEFF bl I2C_TransferConfig 5516 .LVL360: 5517 00ce 0FE0 b .L367 5518 .L366: 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5519 .loc 1 2659 11 view .LVU1940 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5520 .loc 1 2659 32 is_stmt 0 view .LVU1941 5521 00d0 628D ldrh r2, [r4, #42] 5522 00d2 92B2 uxth r2, r2 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 5523 .loc 1 2659 26 view .LVU1942 5524 00d4 2285 strh r2, [r4, #40] @ movhi 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 5525 .loc 1 2660 11 is_stmt 1 view .LVU1943 5526 00d6 0023 movs r3, #0 5527 00d8 0093 str r3, [sp] 5528 00da 4FF00073 mov r3, #33554432 5529 00de D2B2 uxtb r2, r2 5530 00e0 3146 mov r1, r6 5531 00e2 2046 mov r0, r4 5532 00e4 FFF7FEFF bl I2C_TransferConfig 5533 .LVL361: 5534 .L365: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 257 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5535 .loc 1 2664 30 view .LVU1944 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5536 .loc 1 2664 18 is_stmt 0 view .LVU1945 5537 00e8 638D ldrh r3, [r4, #42] 5538 00ea 9BB2 uxth r3, r3 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5539 .loc 1 2664 30 view .LVU1946 5540 00ec 002B cmp r3, #0 5541 00ee 34D0 beq .L377 5542 .L367: 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5543 .loc 1 2626 5 is_stmt 1 view .LVU1947 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5544 .loc 1 2629 7 view .LVU1948 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5545 .loc 1 2629 11 is_stmt 0 view .LVU1949 5546 00f0 0097 str r7, [sp] 5547 00f2 2B46 mov r3, r5 5548 00f4 0022 movs r2, #0 5549 00f6 0421 movs r1, #4 5550 00f8 2046 mov r0, r4 5551 00fa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5552 .LVL362: 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5553 .loc 1 2629 10 view .LVU1950 5554 00fe 0028 cmp r0, #0 5555 0100 4DD1 bne .L371 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5556 .loc 1 2635 7 is_stmt 1 view .LVU1951 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5557 .loc 1 2635 38 is_stmt 0 view .LVU1952 5558 0102 2368 ldr r3, [r4] 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5559 .loc 1 2635 48 view .LVU1953 5560 0104 5A6A ldr r2, [r3, #36] 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5561 .loc 1 2635 12 view .LVU1954 5562 0106 636A ldr r3, [r4, #36] 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5563 .loc 1 2635 23 view .LVU1955 5564 0108 1A70 strb r2, [r3] 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5565 .loc 1 2638 7 is_stmt 1 view .LVU1956 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5566 .loc 1 2638 11 is_stmt 0 view .LVU1957 5567 010a 636A ldr r3, [r4, #36] 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5568 .loc 1 2638 21 view .LVU1958 5569 010c 0133 adds r3, r3, #1 5570 010e 6362 str r3, [r4, #36] 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5571 .loc 1 2640 7 is_stmt 1 view .LVU1959 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5572 .loc 1 2640 11 is_stmt 0 view .LVU1960 5573 0110 228D ldrh r2, [r4, #40] 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 258 5574 .loc 1 2640 21 view .LVU1961 5575 0112 013A subs r2, r2, #1 5576 0114 92B2 uxth r2, r2 5577 0116 2285 strh r2, [r4, #40] @ movhi 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5578 .loc 1 2641 7 is_stmt 1 view .LVU1962 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5579 .loc 1 2641 11 is_stmt 0 view .LVU1963 5580 0118 638D ldrh r3, [r4, #42] 5581 011a 9BB2 uxth r3, r3 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5582 .loc 1 2641 22 view .LVU1964 5583 011c 013B subs r3, r3, #1 5584 011e 9BB2 uxth r3, r3 5585 0120 6385 strh r3, [r4, #42] @ movhi 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5586 .loc 1 2643 7 is_stmt 1 view .LVU1965 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5587 .loc 1 2643 16 is_stmt 0 view .LVU1966 5588 0122 638D ldrh r3, [r4, #42] 5589 0124 9BB2 uxth r3, r3 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5590 .loc 1 2643 10 view .LVU1967 5591 0126 002B cmp r3, #0 5592 0128 DED0 beq .L365 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5593 .loc 1 2643 35 discriminator 1 view .LVU1968 5594 012a 002A cmp r2, #0 5595 012c DCD1 bne .L365 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5596 .loc 1 2646 9 is_stmt 1 view .LVU1969 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5597 .loc 1 2646 13 is_stmt 0 view .LVU1970 5598 012e 0097 str r7, [sp] 5599 0130 2B46 mov r3, r5 5600 0132 8021 movs r1, #128 5601 0134 2046 mov r0, r4 5602 0136 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5603 .LVL363: 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5604 .loc 1 2646 12 view .LVU1971 5605 013a 90BB cbnz r0, .L372 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5606 .loc 1 2651 9 is_stmt 1 view .LVU1972 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5607 .loc 1 2651 17 is_stmt 0 view .LVU1973 5608 013c 638D ldrh r3, [r4, #42] 5609 013e 9BB2 uxth r3, r3 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5610 .loc 1 2651 12 view .LVU1974 5611 0140 FF2B cmp r3, #255 5612 0142 C5D9 bls .L366 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 5613 .loc 1 2653 11 is_stmt 1 view .LVU1975 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 5614 .loc 1 2653 26 is_stmt 0 view .LVU1976 5615 0144 FF22 movs r2, #255 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 259 5616 0146 2285 strh r2, [r4, #40] @ movhi 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 5617 .loc 1 2654 11 is_stmt 1 view .LVU1977 5618 0148 0023 movs r3, #0 5619 014a 0093 str r3, [sp] 5620 014c 4FF08073 mov r3, #16777216 5621 0150 3146 mov r1, r6 5622 0152 2046 mov r0, r4 5623 0154 FFF7FEFF bl I2C_TransferConfig 5624 .LVL364: 5625 0158 C6E7 b .L365 5626 .L377: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5627 .loc 1 2668 5 view .LVU1978 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5628 .loc 1 2668 9 is_stmt 0 view .LVU1979 5629 015a 3A46 mov r2, r7 5630 015c 2946 mov r1, r5 5631 015e 2046 mov r0, r4 5632 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 5633 .LVL365: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5634 .loc 1 2668 8 view .LVU1980 5635 0164 F8B9 cbnz r0, .L373 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5636 .loc 1 2674 5 is_stmt 1 view .LVU1981 5637 0166 2368 ldr r3, [r4] 5638 0168 2022 movs r2, #32 5639 016a DA61 str r2, [r3, #28] 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5640 .loc 1 2677 5 view .LVU1982 5641 016c 2168 ldr r1, [r4] 5642 016e 4B68 ldr r3, [r1, #4] 5643 0170 23F0FF73 bic r3, r3, #33423360 5644 0174 23F48B33 bic r3, r3, #71168 5645 0178 23F4FF73 bic r3, r3, #510 5646 017c 23F00103 bic r3, r3, #1 5647 0180 4B60 str r3, [r1, #4] 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5648 .loc 1 2679 5 view .LVU1983 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5649 .loc 1 2679 17 is_stmt 0 view .LVU1984 5650 0182 84F84120 strb r2, [r4, #65] 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5651 .loc 1 2680 5 is_stmt 1 view .LVU1985 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5652 .loc 1 2680 17 is_stmt 0 view .LVU1986 5653 0186 0023 movs r3, #0 5654 0188 84F84230 strb r3, [r4, #66] 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5655 .loc 1 2683 5 is_stmt 1 view .LVU1987 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5656 .loc 1 2683 5 view .LVU1988 5657 018c 84F84030 strb r3, [r4, #64] 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5658 .loc 1 2683 5 view .LVU1989 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 260 5659 .loc 1 2685 5 view .LVU1990 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5660 .loc 1 2685 12 is_stmt 0 view .LVU1991 5661 0190 00E0 b .L359 5662 .LVL366: 5663 .L368: 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5664 .loc 1 2689 12 view .LVU1992 5665 0192 0220 movs r0, #2 5666 .LVL367: 5667 .L359: 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5668 .loc 1 2691 1 view .LVU1993 5669 0194 03B0 add sp, sp, #12 5670 .cfi_remember_state 5671 .cfi_def_cfa_offset 36 5672 @ sp needed 5673 0196 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 5674 .LVL368: 5675 .L369: 5676 .cfi_restore_state 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5677 .loc 1 2584 5 view .LVU1994 5678 019a 0220 movs r0, #2 5679 .LVL369: 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5680 .loc 1 2584 5 view .LVU1995 5681 019c FAE7 b .L359 5682 .LVL370: 5683 .L371: 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5684 .loc 1 2631 16 view .LVU1996 5685 019e 0120 movs r0, #1 5686 01a0 F8E7 b .L359 5687 .L372: 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5688 .loc 1 2648 18 view .LVU1997 5689 01a2 0120 movs r0, #1 5690 01a4 F6E7 b .L359 5691 .L373: 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5692 .loc 1 2670 14 view .LVU1998 5693 01a6 0120 movs r0, #1 5694 01a8 F4E7 b .L359 5695 .L379: 5696 01aa 00BF .align 2 5697 .L378: 5698 01ac 00240080 .word -2147474432 5699 .cfi_endproc 5700 .LFE147: 5702 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits 5703 .align 1 5704 .global HAL_I2C_Mem_Write_IT 5705 .syntax unified 5706 .thumb 5707 .thumb_func 5709 HAL_I2C_Mem_Write_IT: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 261 5710 .LVL371: 5711 .LFB148: 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 5712 .loc 1 2706 1 is_stmt 1 view -0 5713 .cfi_startproc 5714 @ args = 8, pretend = 0, frame = 0 5715 @ frame_needed = 0, uses_anonymous_args = 0 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 5716 .loc 1 2706 1 is_stmt 0 view .LVU2000 5717 0000 70B5 push {r4, r5, r6, lr} 5718 .cfi_def_cfa_offset 16 5719 .cfi_offset 4, -16 5720 .cfi_offset 5, -12 5721 .cfi_offset 6, -8 5722 .cfi_offset 14, -4 5723 0002 82B0 sub sp, sp, #8 5724 .cfi_def_cfa_offset 24 5725 0004 0446 mov r4, r0 5726 0006 1D46 mov r5, r3 5727 0008 BDF81C30 ldrh r3, [sp, #28] 5728 .LVL372: 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5729 .loc 1 2708 3 is_stmt 1 view .LVU2001 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5730 .loc 1 2710 3 view .LVU2002 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5731 .loc 1 2710 11 is_stmt 0 view .LVU2003 5732 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 5733 .LVL373: 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5734 .loc 1 2710 11 view .LVU2004 5735 0010 C0B2 uxtb r0, r0 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5736 .loc 1 2710 6 view .LVU2005 5737 0012 2028 cmp r0, #32 5738 0014 42D1 bne .L386 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5739 .loc 1 2712 5 is_stmt 1 view .LVU2006 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5740 .loc 1 2712 8 is_stmt 0 view .LVU2007 5741 0016 0698 ldr r0, [sp, #24] 5742 0018 0028 cmp r0, #0 5743 001a 34D0 beq .L382 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5744 .loc 1 2712 25 discriminator 1 view .LVU2008 5745 001c 002B cmp r3, #0 5746 001e 32D0 beq .L382 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5747 .loc 1 2718 5 is_stmt 1 view .LVU2009 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5748 .loc 1 2718 9 is_stmt 0 view .LVU2010 5749 0020 2068 ldr r0, [r4] 5750 0022 8669 ldr r6, [r0, #24] 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5751 .loc 1 2718 8 view .LVU2011 5752 0024 16F4004F tst r6, #32768 5753 0028 3BD1 bne .L387 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 262 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5754 .loc 1 2724 5 is_stmt 1 view .LVU2012 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5755 .loc 1 2724 5 view .LVU2013 5756 002a 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2 5757 002e 012E cmp r6, #1 5758 0030 39D0 beq .L388 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5759 .loc 1 2724 5 discriminator 2 view .LVU2014 5760 0032 0126 movs r6, #1 5761 0034 84F84060 strb r6, [r4, #64] 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5762 .loc 1 2724 5 discriminator 2 view .LVU2015 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5763 .loc 1 2726 5 discriminator 2 view .LVU2016 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5764 .loc 1 2726 23 is_stmt 0 discriminator 2 view .LVU2017 5765 0038 2126 movs r6, #33 5766 003a 84F84160 strb r6, [r4, #65] 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5767 .loc 1 2727 5 is_stmt 1 discriminator 2 view .LVU2018 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5768 .loc 1 2727 23 is_stmt 0 discriminator 2 view .LVU2019 5769 003e 4026 movs r6, #64 5770 0040 84F84260 strb r6, [r4, #66] 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5771 .loc 1 2728 5 is_stmt 1 discriminator 2 view .LVU2020 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5772 .loc 1 2728 23 is_stmt 0 discriminator 2 view .LVU2021 5773 0044 0026 movs r6, #0 5774 0046 6664 str r6, [r4, #68] 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5775 .loc 1 2731 5 is_stmt 1 discriminator 2 view .LVU2022 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5776 .loc 1 2731 23 is_stmt 0 discriminator 2 view .LVU2023 5777 0048 069E ldr r6, [sp, #24] 5778 004a 6662 str r6, [r4, #36] 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5779 .loc 1 2732 5 is_stmt 1 discriminator 2 view .LVU2024 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5780 .loc 1 2732 23 is_stmt 0 discriminator 2 view .LVU2025 5781 004c 6385 strh r3, [r4, #42] @ movhi 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 5782 .loc 1 2733 5 is_stmt 1 discriminator 2 view .LVU2026 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 5783 .loc 1 2733 23 is_stmt 0 discriminator 2 view .LVU2027 5784 004e 174B ldr r3, .L391 5785 0050 E362 str r3, [r4, #44] 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 5786 .loc 1 2734 5 is_stmt 1 discriminator 2 view .LVU2028 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 5787 .loc 1 2734 23 is_stmt 0 discriminator 2 view .LVU2029 5788 0052 174B ldr r3, .L391+4 5789 0054 6363 str r3, [r4, #52] 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5790 .loc 1 2735 5 is_stmt 1 discriminator 2 view .LVU2030 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 263 5791 .loc 1 2735 23 is_stmt 0 discriminator 2 view .LVU2031 5792 0056 E164 str r1, [r4, #76] 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5793 .loc 1 2738 5 is_stmt 1 discriminator 2 view .LVU2032 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5794 .loc 1 2738 8 is_stmt 0 discriminator 2 view .LVU2033 5795 0058 012D cmp r5, #1 5796 005a 19D0 beq .L390 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5797 .loc 1 2750 7 is_stmt 1 view .LVU2034 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5798 .loc 1 2750 30 is_stmt 0 view .LVU2035 5799 005c 130A lsrs r3, r2, #8 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5800 .loc 1 2750 28 view .LVU2036 5801 005e 8362 str r3, [r0, #40] 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5802 .loc 1 2753 7 is_stmt 1 view .LVU2037 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5803 .loc 1 2753 26 is_stmt 0 view .LVU2038 5804 0060 D2B2 uxtb r2, r2 5805 .LVL374: 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5806 .loc 1 2753 24 view .LVU2039 5807 0062 2265 str r2, [r4, #80] 5808 .L385: 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5809 .loc 1 2756 5 is_stmt 1 view .LVU2040 5810 0064 134B ldr r3, .L391+8 5811 0066 0093 str r3, [sp] 5812 0068 4FF08073 mov r3, #16777216 5813 006c EAB2 uxtb r2, r5 5814 006e 2046 mov r0, r4 5815 0070 FFF7FEFF bl I2C_TransferConfig 5816 .LVL375: 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5817 .loc 1 2759 5 view .LVU2041 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5818 .loc 1 2759 5 view .LVU2042 5819 0074 0025 movs r5, #0 5820 0076 84F84050 strb r5, [r4, #64] 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5821 .loc 1 2759 5 view .LVU2043 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5822 .loc 1 2769 5 view .LVU2044 5823 007a 0121 movs r1, #1 5824 007c 2046 mov r0, r4 5825 007e FFF7FEFF bl I2C_Enable_IRQ 5826 .LVL376: 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5827 .loc 1 2771 5 view .LVU2045 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5828 .loc 1 2771 12 is_stmt 0 view .LVU2046 5829 0082 2846 mov r0, r5 5830 0084 0BE0 b .L381 5831 .LVL377: 5832 .L382: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 264 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5833 .loc 1 2714 7 is_stmt 1 view .LVU2047 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5834 .loc 1 2714 23 is_stmt 0 view .LVU2048 5835 0086 4FF40073 mov r3, #512 5836 008a 6364 str r3, [r4, #68] 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5837 .loc 1 2715 7 is_stmt 1 view .LVU2049 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5838 .loc 1 2715 15 is_stmt 0 view .LVU2050 5839 008c 0120 movs r0, #1 5840 008e 06E0 b .L381 5841 .L390: 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5842 .loc 1 2741 7 is_stmt 1 view .LVU2051 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5843 .loc 1 2741 30 is_stmt 0 view .LVU2052 5844 0090 D2B2 uxtb r2, r2 5845 .LVL378: 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5846 .loc 1 2741 28 view .LVU2053 5847 0092 8262 str r2, [r0, #40] 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5848 .loc 1 2744 7 is_stmt 1 view .LVU2054 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5849 .loc 1 2744 24 is_stmt 0 view .LVU2055 5850 0094 4FF0FF33 mov r3, #-1 5851 0098 2365 str r3, [r4, #80] 5852 009a E3E7 b .L385 5853 .LVL379: 5854 .L386: 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5855 .loc 1 2775 12 view .LVU2056 5856 009c 0220 movs r0, #2 5857 .LVL380: 5858 .L381: 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5859 .loc 1 2777 1 view .LVU2057 5860 009e 02B0 add sp, sp, #8 5861 .cfi_remember_state 5862 .cfi_def_cfa_offset 16 5863 @ sp needed 5864 00a0 70BD pop {r4, r5, r6, pc} 5865 .LVL381: 5866 .L387: 5867 .cfi_restore_state 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5868 .loc 1 2720 14 view .LVU2058 5869 00a2 0220 movs r0, #2 5870 00a4 FBE7 b .L381 5871 .L388: 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5872 .loc 1 2724 5 view .LVU2059 5873 00a6 0220 movs r0, #2 5874 00a8 F9E7 b .L381 5875 .L392: 5876 00aa 00BF .align 2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 265 5877 .L391: 5878 00ac 0000FFFF .word -65536 5879 00b0 00000000 .word I2C_Mem_ISR_IT 5880 00b4 00200080 .word -2147475456 5881 .cfi_endproc 5882 .LFE148: 5884 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits 5885 .align 1 5886 .global HAL_I2C_Mem_Read_IT 5887 .syntax unified 5888 .thumb 5889 .thumb_func 5891 HAL_I2C_Mem_Read_IT: 5892 .LVL382: 5893 .LFB149: 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 5894 .loc 1 2793 1 is_stmt 1 view -0 5895 .cfi_startproc 5896 @ args = 8, pretend = 0, frame = 0 5897 @ frame_needed = 0, uses_anonymous_args = 0 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 5898 .loc 1 2793 1 is_stmt 0 view .LVU2061 5899 0000 70B5 push {r4, r5, r6, lr} 5900 .cfi_def_cfa_offset 16 5901 .cfi_offset 4, -16 5902 .cfi_offset 5, -12 5903 .cfi_offset 6, -8 5904 .cfi_offset 14, -4 5905 0002 82B0 sub sp, sp, #8 5906 .cfi_def_cfa_offset 24 5907 0004 0446 mov r4, r0 5908 0006 1D46 mov r5, r3 5909 0008 BDF81C30 ldrh r3, [sp, #28] 5910 .LVL383: 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5911 .loc 1 2795 3 is_stmt 1 view .LVU2062 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5912 .loc 1 2797 3 view .LVU2063 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5913 .loc 1 2797 11 is_stmt 0 view .LVU2064 5914 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 5915 .LVL384: 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5916 .loc 1 2797 11 view .LVU2065 5917 0010 C0B2 uxtb r0, r0 2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5918 .loc 1 2797 6 view .LVU2066 5919 0012 2028 cmp r0, #32 5920 0014 41D1 bne .L399 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5921 .loc 1 2799 5 is_stmt 1 view .LVU2067 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5922 .loc 1 2799 8 is_stmt 0 view .LVU2068 5923 0016 0698 ldr r0, [sp, #24] 5924 0018 0028 cmp r0, #0 5925 001a 33D0 beq .L395 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 266 5926 .loc 1 2799 25 discriminator 1 view .LVU2069 5927 001c 002B cmp r3, #0 5928 001e 31D0 beq .L395 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5929 .loc 1 2805 5 is_stmt 1 view .LVU2070 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5930 .loc 1 2805 9 is_stmt 0 view .LVU2071 5931 0020 2068 ldr r0, [r4] 5932 0022 8669 ldr r6, [r0, #24] 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5933 .loc 1 2805 8 view .LVU2072 5934 0024 16F4004F tst r6, #32768 5935 0028 3AD1 bne .L400 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5936 .loc 1 2811 5 is_stmt 1 view .LVU2073 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5937 .loc 1 2811 5 view .LVU2074 5938 002a 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2 5939 002e 012E cmp r6, #1 5940 0030 38D0 beq .L401 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5941 .loc 1 2811 5 discriminator 2 view .LVU2075 5942 0032 0126 movs r6, #1 5943 0034 84F84060 strb r6, [r4, #64] 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5944 .loc 1 2811 5 discriminator 2 view .LVU2076 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5945 .loc 1 2813 5 discriminator 2 view .LVU2077 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5946 .loc 1 2813 23 is_stmt 0 discriminator 2 view .LVU2078 5947 0038 2226 movs r6, #34 5948 003a 84F84160 strb r6, [r4, #65] 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5949 .loc 1 2814 5 is_stmt 1 discriminator 2 view .LVU2079 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5950 .loc 1 2814 23 is_stmt 0 discriminator 2 view .LVU2080 5951 003e 4026 movs r6, #64 5952 0040 84F84260 strb r6, [r4, #66] 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5953 .loc 1 2815 5 is_stmt 1 discriminator 2 view .LVU2081 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5954 .loc 1 2815 23 is_stmt 0 discriminator 2 view .LVU2082 5955 0044 0026 movs r6, #0 5956 0046 6664 str r6, [r4, #68] 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5957 .loc 1 2818 5 is_stmt 1 discriminator 2 view .LVU2083 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5958 .loc 1 2818 23 is_stmt 0 discriminator 2 view .LVU2084 5959 0048 069E ldr r6, [sp, #24] 5960 004a 6662 str r6, [r4, #36] 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5961 .loc 1 2819 5 is_stmt 1 discriminator 2 view .LVU2085 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5962 .loc 1 2819 23 is_stmt 0 discriminator 2 view .LVU2086 5963 004c 6385 strh r3, [r4, #42] @ movhi 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 5964 .loc 1 2820 5 is_stmt 1 discriminator 2 view .LVU2087 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 267 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 5965 .loc 1 2820 23 is_stmt 0 discriminator 2 view .LVU2088 5966 004e 164B ldr r3, .L404 5967 0050 E362 str r3, [r4, #44] 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 5968 .loc 1 2821 5 is_stmt 1 discriminator 2 view .LVU2089 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 5969 .loc 1 2821 23 is_stmt 0 discriminator 2 view .LVU2090 5970 0052 164B ldr r3, .L404+4 5971 0054 6363 str r3, [r4, #52] 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5972 .loc 1 2822 5 is_stmt 1 discriminator 2 view .LVU2091 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5973 .loc 1 2822 23 is_stmt 0 discriminator 2 view .LVU2092 5974 0056 E164 str r1, [r4, #76] 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5975 .loc 1 2825 5 is_stmt 1 discriminator 2 view .LVU2093 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5976 .loc 1 2825 8 is_stmt 0 discriminator 2 view .LVU2094 5977 0058 012D cmp r5, #1 5978 005a 18D0 beq .L403 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5979 .loc 1 2837 7 is_stmt 1 view .LVU2095 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5980 .loc 1 2837 30 is_stmt 0 view .LVU2096 5981 005c 130A lsrs r3, r2, #8 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5982 .loc 1 2837 28 view .LVU2097 5983 005e 8362 str r3, [r0, #40] 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5984 .loc 1 2840 7 is_stmt 1 view .LVU2098 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5985 .loc 1 2840 26 is_stmt 0 view .LVU2099 5986 0060 D2B2 uxtb r2, r2 5987 .LVL385: 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5988 .loc 1 2840 24 view .LVU2100 5989 0062 2265 str r2, [r4, #80] 5990 .L398: 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5991 .loc 1 2843 5 is_stmt 1 view .LVU2101 5992 0064 124B ldr r3, .L404+8 5993 0066 0093 str r3, [sp] 5994 0068 0023 movs r3, #0 5995 006a EAB2 uxtb r2, r5 5996 006c 2046 mov r0, r4 5997 006e FFF7FEFF bl I2C_TransferConfig 5998 .LVL386: 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5999 .loc 1 2846 5 view .LVU2102 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6000 .loc 1 2846 5 view .LVU2103 6001 0072 0025 movs r5, #0 6002 0074 84F84050 strb r5, [r4, #64] 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6003 .loc 1 2846 5 view .LVU2104 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 268 6004 .loc 1 2856 5 view .LVU2105 6005 0078 0321 movs r1, #3 6006 007a 2046 mov r0, r4 6007 007c FFF7FEFF bl I2C_Enable_IRQ 6008 .LVL387: 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6009 .loc 1 2858 5 view .LVU2106 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6010 .loc 1 2858 12 is_stmt 0 view .LVU2107 6011 0080 2846 mov r0, r5 6012 0082 0BE0 b .L394 6013 .LVL388: 6014 .L395: 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6015 .loc 1 2801 7 is_stmt 1 view .LVU2108 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6016 .loc 1 2801 23 is_stmt 0 view .LVU2109 6017 0084 4FF40073 mov r3, #512 6018 0088 6364 str r3, [r4, #68] 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6019 .loc 1 2802 7 is_stmt 1 view .LVU2110 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6020 .loc 1 2802 15 is_stmt 0 view .LVU2111 6021 008a 0120 movs r0, #1 6022 008c 06E0 b .L394 6023 .L403: 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6024 .loc 1 2828 7 is_stmt 1 view .LVU2112 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6025 .loc 1 2828 30 is_stmt 0 view .LVU2113 6026 008e D2B2 uxtb r2, r2 6027 .LVL389: 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6028 .loc 1 2828 28 view .LVU2114 6029 0090 8262 str r2, [r0, #40] 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6030 .loc 1 2831 7 is_stmt 1 view .LVU2115 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6031 .loc 1 2831 24 is_stmt 0 view .LVU2116 6032 0092 4FF0FF33 mov r3, #-1 6033 0096 2365 str r3, [r4, #80] 6034 0098 E4E7 b .L398 6035 .LVL390: 6036 .L399: 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6037 .loc 1 2862 12 view .LVU2117 6038 009a 0220 movs r0, #2 6039 .LVL391: 6040 .L394: 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6041 .loc 1 2864 1 view .LVU2118 6042 009c 02B0 add sp, sp, #8 6043 .cfi_remember_state 6044 .cfi_def_cfa_offset 16 6045 @ sp needed 6046 009e 70BD pop {r4, r5, r6, pc} 6047 .LVL392: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 269 6048 .L400: 6049 .cfi_restore_state 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6050 .loc 1 2807 14 view .LVU2119 6051 00a0 0220 movs r0, #2 6052 00a2 FBE7 b .L394 6053 .L401: 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6054 .loc 1 2811 5 view .LVU2120 6055 00a4 0220 movs r0, #2 6056 00a6 F9E7 b .L394 6057 .L405: 6058 .align 2 6059 .L404: 6060 00a8 0000FFFF .word -65536 6061 00ac 00000000 .word I2C_Mem_ISR_IT 6062 00b0 00200080 .word -2147475456 6063 .cfi_endproc 6064 .LFE149: 6066 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits 6067 .align 1 6068 .global HAL_I2C_Mem_Write_DMA 6069 .syntax unified 6070 .thumb 6071 .thumb_func 6073 HAL_I2C_Mem_Write_DMA: 6074 .LVL393: 6075 .LFB150: 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 6076 .loc 1 2880 1 is_stmt 1 view -0 6077 .cfi_startproc 6078 @ args = 8, pretend = 0, frame = 0 6079 @ frame_needed = 0, uses_anonymous_args = 0 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 6080 .loc 1 2880 1 is_stmt 0 view .LVU2122 6081 0000 F0B5 push {r4, r5, r6, r7, lr} 6082 .cfi_def_cfa_offset 20 6083 .cfi_offset 4, -20 6084 .cfi_offset 5, -16 6085 .cfi_offset 6, -12 6086 .cfi_offset 7, -8 6087 .cfi_offset 14, -4 6088 0002 83B0 sub sp, sp, #12 6089 .cfi_def_cfa_offset 32 6090 0004 0446 mov r4, r0 6091 0006 0E46 mov r6, r1 6092 0008 1F46 mov r7, r3 6093 000a 0899 ldr r1, [sp, #32] 6094 .LVL394: 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 6095 .loc 1 2880 1 view .LVU2123 6096 000c BDF82430 ldrh r3, [sp, #36] 6097 .LVL395: 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6098 .loc 1 2881 3 is_stmt 1 view .LVU2124 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6099 .loc 1 2884 3 view .LVU2125 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 270 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6100 .loc 1 2886 3 view .LVU2126 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6101 .loc 1 2886 11 is_stmt 0 view .LVU2127 6102 0010 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 6103 .LVL396: 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6104 .loc 1 2886 11 view .LVU2128 6105 0014 C0B2 uxtb r0, r0 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6106 .loc 1 2886 6 view .LVU2129 6107 0016 2028 cmp r0, #32 6108 0018 7AD1 bne .L417 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6109 .loc 1 2888 5 is_stmt 1 view .LVU2130 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6110 .loc 1 2888 8 is_stmt 0 view .LVU2131 6111 001a 0029 cmp r1, #0 6112 001c 4BD0 beq .L408 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6113 .loc 1 2888 25 discriminator 1 view .LVU2132 6114 001e 002B cmp r3, #0 6115 0020 49D0 beq .L408 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6116 .loc 1 2894 5 is_stmt 1 view .LVU2133 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6117 .loc 1 2894 9 is_stmt 0 view .LVU2134 6118 0022 2068 ldr r0, [r4] 6119 0024 8569 ldr r5, [r0, #24] 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6120 .loc 1 2894 8 view .LVU2135 6121 0026 15F4004F tst r5, #32768 6122 002a 75D1 bne .L418 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6123 .loc 1 2900 5 is_stmt 1 view .LVU2136 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6124 .loc 1 2900 5 view .LVU2137 6125 002c 94F84050 ldrb r5, [r4, #64] @ zero_extendqisi2 6126 0030 012D cmp r5, #1 6127 0032 73D0 beq .L419 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6128 .loc 1 2900 5 discriminator 2 view .LVU2138 6129 0034 0125 movs r5, #1 6130 0036 84F84050 strb r5, [r4, #64] 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6131 .loc 1 2900 5 discriminator 2 view .LVU2139 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6132 .loc 1 2902 5 discriminator 2 view .LVU2140 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6133 .loc 1 2902 23 is_stmt 0 discriminator 2 view .LVU2141 6134 003a 2125 movs r5, #33 6135 003c 84F84150 strb r5, [r4, #65] 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6136 .loc 1 2903 5 is_stmt 1 discriminator 2 view .LVU2142 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6137 .loc 1 2903 23 is_stmt 0 discriminator 2 view .LVU2143 6138 0040 4025 movs r5, #64 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 271 6139 0042 84F84250 strb r5, [r4, #66] 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6140 .loc 1 2904 5 is_stmt 1 discriminator 2 view .LVU2144 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6141 .loc 1 2904 23 is_stmt 0 discriminator 2 view .LVU2145 6142 0046 0025 movs r5, #0 6143 0048 6564 str r5, [r4, #68] 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6144 .loc 1 2907 5 is_stmt 1 discriminator 2 view .LVU2146 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6145 .loc 1 2907 23 is_stmt 0 discriminator 2 view .LVU2147 6146 004a 6162 str r1, [r4, #36] 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6147 .loc 1 2908 5 is_stmt 1 discriminator 2 view .LVU2148 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6148 .loc 1 2908 23 is_stmt 0 discriminator 2 view .LVU2149 6149 004c 6385 strh r3, [r4, #42] @ movhi 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 6150 .loc 1 2909 5 is_stmt 1 discriminator 2 view .LVU2150 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 6151 .loc 1 2909 23 is_stmt 0 discriminator 2 view .LVU2151 6152 004e 344B ldr r3, .L424 6153 0050 E362 str r3, [r4, #44] 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6154 .loc 1 2910 5 is_stmt 1 discriminator 2 view .LVU2152 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6155 .loc 1 2910 23 is_stmt 0 discriminator 2 view .LVU2153 6156 0052 344B ldr r3, .L424+4 6157 0054 6363 str r3, [r4, #52] 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6158 .loc 1 2911 5 is_stmt 1 discriminator 2 view .LVU2154 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6159 .loc 1 2911 23 is_stmt 0 discriminator 2 view .LVU2155 6160 0056 E664 str r6, [r4, #76] 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6161 .loc 1 2913 5 is_stmt 1 discriminator 2 view .LVU2156 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6162 .loc 1 2913 13 is_stmt 0 discriminator 2 view .LVU2157 6163 0058 638D ldrh r3, [r4, #42] 6164 005a 9BB2 uxth r3, r3 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6165 .loc 1 2913 8 discriminator 2 view .LVU2158 6166 005c FF2B cmp r3, #255 6167 005e 2FD9 bls .L410 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6168 .loc 1 2915 7 is_stmt 1 view .LVU2159 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6169 .loc 1 2915 22 is_stmt 0 view .LVU2160 6170 0060 FF23 movs r3, #255 6171 0062 2385 strh r3, [r4, #40] @ movhi 6172 .L411: 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6173 .loc 1 2923 5 is_stmt 1 view .LVU2161 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6174 .loc 1 2923 8 is_stmt 0 view .LVU2162 6175 0064 012F cmp r7, #1 6176 0066 2ED0 beq .L422 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 272 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6177 .loc 1 2935 7 is_stmt 1 view .LVU2163 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6178 .loc 1 2935 30 is_stmt 0 view .LVU2164 6179 0068 130A lsrs r3, r2, #8 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6180 .loc 1 2935 28 view .LVU2165 6181 006a 8362 str r3, [r0, #40] 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6182 .loc 1 2938 7 is_stmt 1 view .LVU2166 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6183 .loc 1 2938 26 is_stmt 0 view .LVU2167 6184 006c D2B2 uxtb r2, r2 6185 .LVL397: 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6186 .loc 1 2938 24 view .LVU2168 6187 006e 2265 str r2, [r4, #80] 6188 .L413: 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6189 .loc 1 2941 5 is_stmt 1 view .LVU2169 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6190 .loc 1 2941 13 is_stmt 0 view .LVU2170 6191 0070 A36B ldr r3, [r4, #56] 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6192 .loc 1 2941 8 view .LVU2171 6193 0072 002B cmp r3, #0 6194 0074 2DD0 beq .L414 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6195 .loc 1 2944 7 is_stmt 1 view .LVU2172 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6196 .loc 1 2944 38 is_stmt 0 view .LVU2173 6197 0076 2C4A ldr r2, .L424+8 6198 0078 9A62 str r2, [r3, #40] 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6199 .loc 1 2947 7 is_stmt 1 view .LVU2174 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6200 .loc 1 2947 11 is_stmt 0 view .LVU2175 6201 007a A36B ldr r3, [r4, #56] 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6202 .loc 1 2947 39 view .LVU2176 6203 007c 2B4A ldr r2, .L424+12 6204 007e 1A63 str r2, [r3, #48] 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 6205 .loc 1 2950 7 is_stmt 1 view .LVU2177 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 6206 .loc 1 2950 11 is_stmt 0 view .LVU2178 6207 0080 A26B ldr r2, [r4, #56] 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 6208 .loc 1 2950 42 view .LVU2179 6209 0082 0023 movs r3, #0 6210 0084 D362 str r3, [r2, #44] 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6211 .loc 1 2951 7 is_stmt 1 view .LVU2180 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6212 .loc 1 2951 11 is_stmt 0 view .LVU2181 6213 0086 A26B ldr r2, [r4, #56] 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 273 6214 .loc 1 2951 39 view .LVU2182 6215 0088 5363 str r3, [r2, #52] 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6216 .loc 1 2954 7 is_stmt 1 view .LVU2183 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6217 .loc 1 2954 86 is_stmt 0 view .LVU2184 6218 008a 2268 ldr r2, [r4] 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6219 .loc 1 2954 23 view .LVU2185 6220 008c 238D ldrh r3, [r4, #40] 6221 008e 2832 adds r2, r2, #40 6222 0090 A06B ldr r0, [r4, #56] 6223 0092 FFF7FEFF bl HAL_DMA_Start_IT 6224 .LVL398: 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6225 .loc 1 2972 5 is_stmt 1 view .LVU2186 2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6226 .loc 1 2972 8 is_stmt 0 view .LVU2187 6227 0096 0546 mov r5, r0 6228 0098 48B3 cbz r0, .L423 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6229 .loc 1 2992 7 is_stmt 1 view .LVU2188 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6230 .loc 1 2992 23 is_stmt 0 view .LVU2189 6231 009a 2023 movs r3, #32 6232 009c 84F84130 strb r3, [r4, #65] 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6233 .loc 1 2993 7 is_stmt 1 view .LVU2190 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6234 .loc 1 2993 23 is_stmt 0 view .LVU2191 6235 00a0 0022 movs r2, #0 6236 00a2 84F84220 strb r2, [r4, #66] 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6237 .loc 1 2996 7 is_stmt 1 view .LVU2192 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6238 .loc 1 2996 11 is_stmt 0 view .LVU2193 6239 00a6 636C ldr r3, [r4, #68] 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6240 .loc 1 2996 23 view .LVU2194 6241 00a8 43F01003 orr r3, r3, #16 6242 00ac 6364 str r3, [r4, #68] 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6243 .loc 1 2999 7 is_stmt 1 view .LVU2195 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6244 .loc 1 2999 7 view .LVU2196 6245 00ae 84F84020 strb r2, [r4, #64] 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6246 .loc 1 2999 7 view .LVU2197 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6247 .loc 1 3001 7 view .LVU2198 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6248 .loc 1 3001 14 is_stmt 0 view .LVU2199 6249 00b2 0125 movs r5, #1 6250 00b4 2DE0 b .L407 6251 .LVL399: 6252 .L408: 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 274 6253 .loc 1 2890 7 is_stmt 1 view .LVU2200 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6254 .loc 1 2890 23 is_stmt 0 view .LVU2201 6255 00b6 4FF40073 mov r3, #512 6256 00ba 6364 str r3, [r4, #68] 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6257 .loc 1 2891 7 is_stmt 1 view .LVU2202 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6258 .loc 1 2891 15 is_stmt 0 view .LVU2203 6259 00bc 0125 movs r5, #1 6260 00be 28E0 b .L407 6261 .L410: 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6262 .loc 1 2919 7 is_stmt 1 view .LVU2204 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6263 .loc 1 2919 28 is_stmt 0 view .LVU2205 6264 00c0 638D ldrh r3, [r4, #42] 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6265 .loc 1 2919 22 view .LVU2206 6266 00c2 2385 strh r3, [r4, #40] @ movhi 6267 00c4 CEE7 b .L411 6268 .L422: 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6269 .loc 1 2926 7 is_stmt 1 view .LVU2207 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6270 .loc 1 2926 30 is_stmt 0 view .LVU2208 6271 00c6 D2B2 uxtb r2, r2 6272 .LVL400: 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6273 .loc 1 2926 28 view .LVU2209 6274 00c8 8262 str r2, [r0, #40] 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6275 .loc 1 2929 7 is_stmt 1 view .LVU2210 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6276 .loc 1 2929 24 is_stmt 0 view .LVU2211 6277 00ca 4FF0FF33 mov r3, #-1 6278 00ce 2365 str r3, [r4, #80] 6279 00d0 CEE7 b .L413 6280 .L414: 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6281 .loc 1 2960 7 is_stmt 1 view .LVU2212 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6282 .loc 1 2960 23 is_stmt 0 view .LVU2213 6283 00d2 2023 movs r3, #32 6284 00d4 84F84130 strb r3, [r4, #65] 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6285 .loc 1 2961 7 is_stmt 1 view .LVU2214 2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6286 .loc 1 2961 23 is_stmt 0 view .LVU2215 6287 00d8 0022 movs r2, #0 6288 00da 84F84220 strb r2, [r4, #66] 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6289 .loc 1 2964 7 is_stmt 1 view .LVU2216 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6290 .loc 1 2964 11 is_stmt 0 view .LVU2217 6291 00de 636C ldr r3, [r4, #68] 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 275 6292 .loc 1 2964 23 view .LVU2218 6293 00e0 43F08003 orr r3, r3, #128 6294 00e4 6364 str r3, [r4, #68] 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6295 .loc 1 2967 7 is_stmt 1 view .LVU2219 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6296 .loc 1 2967 7 view .LVU2220 6297 00e6 84F84020 strb r2, [r4, #64] 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6298 .loc 1 2967 7 view .LVU2221 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6299 .loc 1 2969 7 view .LVU2222 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6300 .loc 1 2969 14 is_stmt 0 view .LVU2223 6301 00ea 0125 movs r5, #1 6302 00ec 11E0 b .L407 6303 .LVL401: 6304 .L423: 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6305 .loc 1 2975 7 is_stmt 1 view .LVU2224 6306 00ee 104B ldr r3, .L424+16 6307 00f0 0093 str r3, [sp] 6308 00f2 4FF08073 mov r3, #16777216 6309 00f6 FAB2 uxtb r2, r7 6310 00f8 3146 mov r1, r6 6311 00fa 2046 mov r0, r4 6312 .LVL402: 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6313 .loc 1 2975 7 is_stmt 0 view .LVU2225 6314 00fc FFF7FEFF bl I2C_TransferConfig 6315 .LVL403: 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6316 .loc 1 2978 7 is_stmt 1 view .LVU2226 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6317 .loc 1 2978 7 view .LVU2227 6318 0100 0023 movs r3, #0 6319 0102 84F84030 strb r3, [r4, #64] 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6320 .loc 1 2978 7 view .LVU2228 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6321 .loc 1 2987 7 view .LVU2229 6322 0106 0121 movs r1, #1 6323 0108 2046 mov r0, r4 6324 010a FFF7FEFF bl I2C_Enable_IRQ 6325 .LVL404: 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6326 .loc 1 3004 5 view .LVU2230 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6327 .loc 1 3004 12 is_stmt 0 view .LVU2231 6328 010e 00E0 b .L407 6329 .LVL405: 6330 .L417: 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6331 .loc 1 3008 12 view .LVU2232 6332 0110 0225 movs r5, #2 6333 .LVL406: 6334 .L407: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 276 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6335 .loc 1 3010 1 view .LVU2233 6336 0112 2846 mov r0, r5 6337 0114 03B0 add sp, sp, #12 6338 .cfi_remember_state 6339 .cfi_def_cfa_offset 20 6340 @ sp needed 6341 0116 F0BD pop {r4, r5, r6, r7, pc} 6342 .LVL407: 6343 .L418: 6344 .cfi_restore_state 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6345 .loc 1 2896 14 view .LVU2234 6346 0118 0225 movs r5, #2 6347 011a FAE7 b .L407 6348 .L419: 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6349 .loc 1 2900 5 view .LVU2235 6350 011c 0225 movs r5, #2 6351 011e F8E7 b .L407 6352 .L425: 6353 .align 2 6354 .L424: 6355 0120 0000FFFF .word -65536 6356 0124 00000000 .word I2C_Mem_ISR_DMA 6357 0128 00000000 .word I2C_DMAMasterTransmitCplt 6358 012c 00000000 .word I2C_DMAError 6359 0130 00200080 .word -2147475456 6360 .cfi_endproc 6361 .LFE150: 6363 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits 6364 .align 1 6365 .global HAL_I2C_Mem_Read_DMA 6366 .syntax unified 6367 .thumb 6368 .thumb_func 6370 HAL_I2C_Mem_Read_DMA: 6371 .LVL408: 6372 .LFB151: 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 6373 .loc 1 3026 1 is_stmt 1 view -0 6374 .cfi_startproc 6375 @ args = 8, pretend = 0, frame = 0 6376 @ frame_needed = 0, uses_anonymous_args = 0 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 6377 .loc 1 3026 1 is_stmt 0 view .LVU2237 6378 0000 F0B5 push {r4, r5, r6, r7, lr} 6379 .cfi_def_cfa_offset 20 6380 .cfi_offset 4, -20 6381 .cfi_offset 5, -16 6382 .cfi_offset 6, -12 6383 .cfi_offset 7, -8 6384 .cfi_offset 14, -4 6385 0002 83B0 sub sp, sp, #12 6386 .cfi_def_cfa_offset 32 6387 0004 0446 mov r4, r0 6388 0006 1F46 mov r7, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 277 6389 0008 089D ldr r5, [sp, #32] 6390 000a BDF82430 ldrh r3, [sp, #36] 6391 .LVL409: 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6392 .loc 1 3027 3 is_stmt 1 view .LVU2238 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6393 .loc 1 3030 3 view .LVU2239 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6394 .loc 1 3032 3 view .LVU2240 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6395 .loc 1 3032 11 is_stmt 0 view .LVU2241 6396 000e 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 6397 .LVL410: 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6398 .loc 1 3032 11 view .LVU2242 6399 0012 C0B2 uxtb r0, r0 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6400 .loc 1 3032 6 view .LVU2243 6401 0014 2028 cmp r0, #32 6402 0016 7BD1 bne .L437 6403 0018 0E46 mov r6, r1 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6404 .loc 1 3034 5 is_stmt 1 view .LVU2244 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6405 .loc 1 3034 8 is_stmt 0 view .LVU2245 6406 001a 002D cmp r5, #0 6407 001c 4CD0 beq .L428 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6408 .loc 1 3034 25 discriminator 1 view .LVU2246 6409 001e 002B cmp r3, #0 6410 0020 4AD0 beq .L428 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6411 .loc 1 3040 5 is_stmt 1 view .LVU2247 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6412 .loc 1 3040 9 is_stmt 0 view .LVU2248 6413 0022 2168 ldr r1, [r4] 6414 .LVL411: 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6415 .loc 1 3040 9 view .LVU2249 6416 0024 8869 ldr r0, [r1, #24] 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6417 .loc 1 3040 8 view .LVU2250 6418 0026 10F4004F tst r0, #32768 6419 002a 75D1 bne .L438 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6420 .loc 1 3046 5 is_stmt 1 view .LVU2251 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6421 .loc 1 3046 5 view .LVU2252 6422 002c 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 6423 0030 0128 cmp r0, #1 6424 0032 73D0 beq .L439 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6425 .loc 1 3046 5 discriminator 2 view .LVU2253 6426 0034 0120 movs r0, #1 6427 0036 84F84000 strb r0, [r4, #64] 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6428 .loc 1 3046 5 discriminator 2 view .LVU2254 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 278 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6429 .loc 1 3048 5 discriminator 2 view .LVU2255 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6430 .loc 1 3048 23 is_stmt 0 discriminator 2 view .LVU2256 6431 003a 2220 movs r0, #34 6432 003c 84F84100 strb r0, [r4, #65] 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6433 .loc 1 3049 5 is_stmt 1 discriminator 2 view .LVU2257 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6434 .loc 1 3049 23 is_stmt 0 discriminator 2 view .LVU2258 6435 0040 4020 movs r0, #64 6436 0042 84F84200 strb r0, [r4, #66] 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6437 .loc 1 3050 5 is_stmt 1 discriminator 2 view .LVU2259 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6438 .loc 1 3050 23 is_stmt 0 discriminator 2 view .LVU2260 6439 0046 0020 movs r0, #0 6440 0048 6064 str r0, [r4, #68] 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6441 .loc 1 3053 5 is_stmt 1 discriminator 2 view .LVU2261 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6442 .loc 1 3053 23 is_stmt 0 discriminator 2 view .LVU2262 6443 004a 6562 str r5, [r4, #36] 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6444 .loc 1 3054 5 is_stmt 1 discriminator 2 view .LVU2263 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6445 .loc 1 3054 23 is_stmt 0 discriminator 2 view .LVU2264 6446 004c 6385 strh r3, [r4, #42] @ movhi 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 6447 .loc 1 3055 5 is_stmt 1 discriminator 2 view .LVU2265 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 6448 .loc 1 3055 23 is_stmt 0 discriminator 2 view .LVU2266 6449 004e 344B ldr r3, .L444 6450 0050 E362 str r3, [r4, #44] 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6451 .loc 1 3056 5 is_stmt 1 discriminator 2 view .LVU2267 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6452 .loc 1 3056 23 is_stmt 0 discriminator 2 view .LVU2268 6453 0052 344B ldr r3, .L444+4 6454 0054 6363 str r3, [r4, #52] 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6455 .loc 1 3057 5 is_stmt 1 discriminator 2 view .LVU2269 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6456 .loc 1 3057 23 is_stmt 0 discriminator 2 view .LVU2270 6457 0056 E664 str r6, [r4, #76] 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6458 .loc 1 3059 5 is_stmt 1 discriminator 2 view .LVU2271 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6459 .loc 1 3059 13 is_stmt 0 discriminator 2 view .LVU2272 6460 0058 638D ldrh r3, [r4, #42] 6461 005a 9BB2 uxth r3, r3 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6462 .loc 1 3059 8 discriminator 2 view .LVU2273 6463 005c FF2B cmp r3, #255 6464 005e 30D9 bls .L430 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6465 .loc 1 3061 7 is_stmt 1 view .LVU2274 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 279 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6466 .loc 1 3061 22 is_stmt 0 view .LVU2275 6467 0060 FF23 movs r3, #255 6468 0062 2385 strh r3, [r4, #40] @ movhi 6469 .L431: 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6470 .loc 1 3069 5 is_stmt 1 view .LVU2276 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6471 .loc 1 3069 8 is_stmt 0 view .LVU2277 6472 0064 012F cmp r7, #1 6473 0066 2FD0 beq .L442 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6474 .loc 1 3081 7 is_stmt 1 view .LVU2278 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6475 .loc 1 3081 30 is_stmt 0 view .LVU2279 6476 0068 130A lsrs r3, r2, #8 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6477 .loc 1 3081 28 view .LVU2280 6478 006a 8B62 str r3, [r1, #40] 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6479 .loc 1 3084 7 is_stmt 1 view .LVU2281 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6480 .loc 1 3084 26 is_stmt 0 view .LVU2282 6481 006c D2B2 uxtb r2, r2 6482 .LVL412: 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6483 .loc 1 3084 24 view .LVU2283 6484 006e 2265 str r2, [r4, #80] 6485 .L433: 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6486 .loc 1 3087 5 is_stmt 1 view .LVU2284 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6487 .loc 1 3087 13 is_stmt 0 view .LVU2285 6488 0070 E36B ldr r3, [r4, #60] 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6489 .loc 1 3087 8 view .LVU2286 6490 0072 002B cmp r3, #0 6491 0074 2ED0 beq .L434 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6492 .loc 1 3090 7 is_stmt 1 view .LVU2287 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6493 .loc 1 3090 38 is_stmt 0 view .LVU2288 6494 0076 2C4A ldr r2, .L444+8 6495 0078 9A62 str r2, [r3, #40] 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6496 .loc 1 3093 7 is_stmt 1 view .LVU2289 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6497 .loc 1 3093 11 is_stmt 0 view .LVU2290 6498 007a E36B ldr r3, [r4, #60] 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6499 .loc 1 3093 39 view .LVU2291 6500 007c 2B4A ldr r2, .L444+12 6501 007e 1A63 str r2, [r3, #48] 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 6502 .loc 1 3096 7 is_stmt 1 view .LVU2292 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 6503 .loc 1 3096 11 is_stmt 0 view .LVU2293 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 280 6504 0080 E26B ldr r2, [r4, #60] 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 6505 .loc 1 3096 42 view .LVU2294 6506 0082 0023 movs r3, #0 6507 0084 D362 str r3, [r2, #44] 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6508 .loc 1 3097 7 is_stmt 1 view .LVU2295 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6509 .loc 1 3097 11 is_stmt 0 view .LVU2296 6510 0086 E26B ldr r2, [r4, #60] 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6511 .loc 1 3097 39 view .LVU2297 6512 0088 5363 str r3, [r2, #52] 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6513 .loc 1 3100 7 is_stmt 1 view .LVU2298 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6514 .loc 1 3100 69 is_stmt 0 view .LVU2299 6515 008a 2168 ldr r1, [r4] 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 6516 .loc 1 3100 23 view .LVU2300 6517 008c 238D ldrh r3, [r4, #40] 6518 008e 2A46 mov r2, r5 6519 0090 2431 adds r1, r1, #36 6520 0092 E06B ldr r0, [r4, #60] 6521 0094 FFF7FEFF bl HAL_DMA_Start_IT 6522 .LVL413: 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6523 .loc 1 3118 5 is_stmt 1 view .LVU2301 3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6524 .loc 1 3118 8 is_stmt 0 view .LVU2302 6525 0098 0546 mov r5, r0 6526 009a 48B3 cbz r0, .L443 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6527 .loc 1 3138 7 is_stmt 1 view .LVU2303 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6528 .loc 1 3138 23 is_stmt 0 view .LVU2304 6529 009c 2023 movs r3, #32 6530 009e 84F84130 strb r3, [r4, #65] 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6531 .loc 1 3139 7 is_stmt 1 view .LVU2305 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6532 .loc 1 3139 23 is_stmt 0 view .LVU2306 6533 00a2 0022 movs r2, #0 6534 00a4 84F84220 strb r2, [r4, #66] 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6535 .loc 1 3142 7 is_stmt 1 view .LVU2307 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6536 .loc 1 3142 11 is_stmt 0 view .LVU2308 6537 00a8 636C ldr r3, [r4, #68] 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6538 .loc 1 3142 23 view .LVU2309 6539 00aa 43F01003 orr r3, r3, #16 6540 00ae 6364 str r3, [r4, #68] 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6541 .loc 1 3145 7 is_stmt 1 view .LVU2310 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6542 .loc 1 3145 7 view .LVU2311 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 281 6543 00b0 84F84020 strb r2, [r4, #64] 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6544 .loc 1 3145 7 view .LVU2312 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6545 .loc 1 3147 7 view .LVU2313 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6546 .loc 1 3147 14 is_stmt 0 view .LVU2314 6547 00b4 0125 movs r5, #1 6548 00b6 2CE0 b .L427 6549 .LVL414: 6550 .L428: 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6551 .loc 1 3036 7 is_stmt 1 view .LVU2315 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6552 .loc 1 3036 23 is_stmt 0 view .LVU2316 6553 00b8 4FF40073 mov r3, #512 6554 00bc 6364 str r3, [r4, #68] 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6555 .loc 1 3037 7 is_stmt 1 view .LVU2317 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6556 .loc 1 3037 15 is_stmt 0 view .LVU2318 6557 00be 0125 movs r5, #1 6558 00c0 27E0 b .L427 6559 .LVL415: 6560 .L430: 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6561 .loc 1 3065 7 is_stmt 1 view .LVU2319 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6562 .loc 1 3065 28 is_stmt 0 view .LVU2320 6563 00c2 638D ldrh r3, [r4, #42] 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6564 .loc 1 3065 22 view .LVU2321 6565 00c4 2385 strh r3, [r4, #40] @ movhi 6566 00c6 CDE7 b .L431 6567 .L442: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6568 .loc 1 3072 7 is_stmt 1 view .LVU2322 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6569 .loc 1 3072 30 is_stmt 0 view .LVU2323 6570 00c8 D2B2 uxtb r2, r2 6571 .LVL416: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6572 .loc 1 3072 28 view .LVU2324 6573 00ca 8A62 str r2, [r1, #40] 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6574 .loc 1 3075 7 is_stmt 1 view .LVU2325 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6575 .loc 1 3075 24 is_stmt 0 view .LVU2326 6576 00cc 4FF0FF33 mov r3, #-1 6577 00d0 2365 str r3, [r4, #80] 6578 00d2 CDE7 b .L433 6579 .L434: 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6580 .loc 1 3106 7 is_stmt 1 view .LVU2327 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6581 .loc 1 3106 23 is_stmt 0 view .LVU2328 6582 00d4 2023 movs r3, #32 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 282 6583 00d6 84F84130 strb r3, [r4, #65] 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6584 .loc 1 3107 7 is_stmt 1 view .LVU2329 3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6585 .loc 1 3107 23 is_stmt 0 view .LVU2330 6586 00da 0022 movs r2, #0 6587 00dc 84F84220 strb r2, [r4, #66] 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6588 .loc 1 3110 7 is_stmt 1 view .LVU2331 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6589 .loc 1 3110 11 is_stmt 0 view .LVU2332 6590 00e0 636C ldr r3, [r4, #68] 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6591 .loc 1 3110 23 view .LVU2333 6592 00e2 43F08003 orr r3, r3, #128 6593 00e6 6364 str r3, [r4, #68] 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6594 .loc 1 3113 7 is_stmt 1 view .LVU2334 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6595 .loc 1 3113 7 view .LVU2335 6596 00e8 84F84020 strb r2, [r4, #64] 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6597 .loc 1 3113 7 view .LVU2336 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6598 .loc 1 3115 7 view .LVU2337 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6599 .loc 1 3115 14 is_stmt 0 view .LVU2338 6600 00ec 0125 movs r5, #1 6601 00ee 10E0 b .L427 6602 .LVL417: 6603 .L443: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6604 .loc 1 3121 7 is_stmt 1 view .LVU2339 6605 00f0 0F4B ldr r3, .L444+16 6606 00f2 0093 str r3, [sp] 6607 00f4 0023 movs r3, #0 6608 00f6 FAB2 uxtb r2, r7 6609 00f8 3146 mov r1, r6 6610 00fa 2046 mov r0, r4 6611 .LVL418: 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6612 .loc 1 3121 7 is_stmt 0 view .LVU2340 6613 00fc FFF7FEFF bl I2C_TransferConfig 6614 .LVL419: 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6615 .loc 1 3124 7 is_stmt 1 view .LVU2341 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6616 .loc 1 3124 7 view .LVU2342 6617 0100 0023 movs r3, #0 6618 0102 84F84030 strb r3, [r4, #64] 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6619 .loc 1 3124 7 view .LVU2343 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6620 .loc 1 3133 7 view .LVU2344 6621 0106 0121 movs r1, #1 6622 0108 2046 mov r0, r4 6623 010a FFF7FEFF bl I2C_Enable_IRQ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 283 6624 .LVL420: 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6625 .loc 1 3150 5 view .LVU2345 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6626 .loc 1 3150 12 is_stmt 0 view .LVU2346 6627 010e 00E0 b .L427 6628 .LVL421: 6629 .L437: 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6630 .loc 1 3154 12 view .LVU2347 6631 0110 0225 movs r5, #2 6632 .LVL422: 6633 .L427: 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6634 .loc 1 3156 1 view .LVU2348 6635 0112 2846 mov r0, r5 6636 0114 03B0 add sp, sp, #12 6637 .cfi_remember_state 6638 .cfi_def_cfa_offset 20 6639 @ sp needed 6640 0116 F0BD pop {r4, r5, r6, r7, pc} 6641 .LVL423: 6642 .L438: 6643 .cfi_restore_state 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6644 .loc 1 3042 14 view .LVU2349 6645 0118 0225 movs r5, #2 6646 011a FAE7 b .L427 6647 .L439: 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6648 .loc 1 3046 5 view .LVU2350 6649 011c 0225 movs r5, #2 6650 011e F8E7 b .L427 6651 .L445: 6652 .align 2 6653 .L444: 6654 0120 0000FFFF .word -65536 6655 0124 00000000 .word I2C_Mem_ISR_DMA 6656 0128 00000000 .word I2C_DMAMasterReceiveCplt 6657 012c 00000000 .word I2C_DMAError 6658 0130 00200080 .word -2147475456 6659 .cfi_endproc 6660 .LFE151: 6662 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits 6663 .align 1 6664 .global HAL_I2C_IsDeviceReady 6665 .syntax unified 6666 .thumb 6667 .thumb_func 6669 HAL_I2C_IsDeviceReady: 6670 .LVL424: 6671 .LFB152: 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6672 .loc 1 3171 1 is_stmt 1 view -0 6673 .cfi_startproc 6674 @ args = 0, pretend = 0, frame = 8 6675 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 284 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6676 .loc 1 3171 1 is_stmt 0 view .LVU2352 6677 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 6678 .cfi_def_cfa_offset 28 6679 .cfi_offset 4, -28 6680 .cfi_offset 5, -24 6681 .cfi_offset 6, -20 6682 .cfi_offset 7, -16 6683 .cfi_offset 8, -12 6684 .cfi_offset 9, -8 6685 .cfi_offset 14, -4 6686 0004 85B0 sub sp, sp, #20 6687 .cfi_def_cfa_offset 48 6688 0006 1D46 mov r5, r3 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6689 .loc 1 3172 3 is_stmt 1 view .LVU2353 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6690 .loc 1 3174 3 view .LVU2354 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6691 .loc 1 3174 17 is_stmt 0 view .LVU2355 6692 0008 0023 movs r3, #0 6693 .LVL425: 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6694 .loc 1 3174 17 view .LVU2356 6695 000a 0393 str r3, [sp, #12] 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2; 6696 .loc 1 3176 3 is_stmt 1 view .LVU2357 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6697 .loc 1 3177 3 view .LVU2358 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6698 .loc 1 3179 3 view .LVU2359 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6699 .loc 1 3179 11 is_stmt 0 view .LVU2360 6700 000c 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6701 0010 DBB2 uxtb r3, r3 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6702 .loc 1 3179 6 view .LVU2361 6703 0012 202B cmp r3, #32 6704 0014 40F0A080 bne .L458 6705 0018 0646 mov r6, r0 6706 001a 8946 mov r9, r1 6707 001c 9046 mov r8, r2 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6708 .loc 1 3181 5 is_stmt 1 view .LVU2362 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6709 .loc 1 3181 9 is_stmt 0 view .LVU2363 6710 001e 0368 ldr r3, [r0] 6711 0020 9B69 ldr r3, [r3, #24] 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6712 .loc 1 3181 8 view .LVU2364 6713 0022 13F4004F tst r3, #32768 6714 0026 40F09980 bne .L459 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6715 .loc 1 3187 5 is_stmt 1 view .LVU2365 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6716 .loc 1 3187 5 view .LVU2366 6717 002a 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 285 6718 002e 012B cmp r3, #1 6719 0030 00F09680 beq .L460 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6720 .loc 1 3187 5 discriminator 2 view .LVU2367 6721 0034 0123 movs r3, #1 6722 0036 80F84030 strb r3, [r0, #64] 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6723 .loc 1 3187 5 discriminator 2 view .LVU2368 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6724 .loc 1 3189 5 discriminator 2 view .LVU2369 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6725 .loc 1 3189 17 is_stmt 0 discriminator 2 view .LVU2370 6726 003a 2423 movs r3, #36 6727 003c 80F84130 strb r3, [r0, #65] 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6728 .loc 1 3190 5 is_stmt 1 discriminator 2 view .LVU2371 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6729 .loc 1 3190 21 is_stmt 0 discriminator 2 view .LVU2372 6730 0040 0023 movs r3, #0 6731 0042 4364 str r3, [r0, #68] 6732 0044 44E0 b .L457 6733 .LVL426: 6734 .L468: 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6735 .loc 1 3195 29 discriminator 1 view .LVU2373 6736 0046 C9F30903 ubfx r3, r9, #0, #10 6737 004a 43F00073 orr r3, r3, #33554432 6738 004e 43F40053 orr r3, r3, #8192 6739 0052 46E0 b .L449 6740 .LVL427: 6741 .L451: 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6742 .loc 1 3223 9 is_stmt 1 view .LVU2374 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6743 .loc 1 3223 16 is_stmt 0 view .LVU2375 6744 0054 3368 ldr r3, [r6] 6745 0056 9C69 ldr r4, [r3, #24] 6746 .LVL428: 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6747 .loc 1 3223 16 view .LVU2376 6748 0058 C4F34014 ubfx r4, r4, #5, #1 6749 .LVL429: 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6750 .loc 1 3224 9 is_stmt 1 view .LVU2377 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6751 .loc 1 3224 16 is_stmt 0 view .LVU2378 6752 005c 9B69 ldr r3, [r3, #24] 6753 005e C3F30013 ubfx r3, r3, #4, #1 6754 .LVL430: 6755 .L450: 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6756 .loc 1 3204 30 is_stmt 1 view .LVU2379 6757 0062 C4B9 cbnz r4, .L453 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6758 .loc 1 3204 30 is_stmt 0 discriminator 1 view .LVU2380 6759 0064 BBB9 cbnz r3, .L453 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 286 6760 .loc 1 3206 9 is_stmt 1 view .LVU2381 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6761 .loc 1 3206 12 is_stmt 0 view .LVU2382 6762 0066 B5F1FF3F cmp r5, #-1 6763 006a F3D0 beq .L451 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6764 .loc 1 3208 11 is_stmt 1 view .LVU2383 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6765 .loc 1 3208 17 is_stmt 0 view .LVU2384 6766 006c FFF7FEFF bl HAL_GetTick 6767 .LVL431: 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6768 .loc 1 3208 31 view .LVU2385 6769 0070 C01B subs r0, r0, r7 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6770 .loc 1 3208 14 view .LVU2386 6771 0072 A842 cmp r0, r5 6772 0074 01D8 bhi .L452 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6773 .loc 1 3208 55 discriminator 1 view .LVU2387 6774 0076 002D cmp r5, #0 6775 0078 ECD1 bne .L451 6776 .L452: 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6777 .loc 1 3211 13 is_stmt 1 view .LVU2388 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6778 .loc 1 3211 25 is_stmt 0 view .LVU2389 6779 007a 2023 movs r3, #32 6780 007c 86F84130 strb r3, [r6, #65] 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6781 .loc 1 3214 13 is_stmt 1 view .LVU2390 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6782 .loc 1 3214 17 is_stmt 0 view .LVU2391 6783 0080 736C ldr r3, [r6, #68] 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6784 .loc 1 3214 29 view .LVU2392 6785 0082 43F02003 orr r3, r3, #32 6786 0086 7364 str r3, [r6, #68] 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6787 .loc 1 3217 13 is_stmt 1 view .LVU2393 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6788 .loc 1 3217 13 view .LVU2394 6789 0088 0023 movs r3, #0 6790 008a 86F84030 strb r3, [r6, #64] 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6791 .loc 1 3217 13 view .LVU2395 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6792 .loc 1 3219 13 view .LVU2396 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6793 .loc 1 3219 20 is_stmt 0 view .LVU2397 6794 008e 0120 movs r0, #1 6795 .LVL432: 6796 .L447: 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6797 .loc 1 3297 1 view .LVU2398 6798 0090 05B0 add sp, sp, #20 6799 .cfi_remember_state ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 287 6800 .cfi_def_cfa_offset 28 6801 @ sp needed 6802 0092 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 6803 .LVL433: 6804 .L453: 6805 .cfi_restore_state 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6806 .loc 1 3228 7 is_stmt 1 view .LVU2399 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6807 .loc 1 3228 11 is_stmt 0 view .LVU2400 6808 0096 3368 ldr r3, [r6] 6809 .LVL434: 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6810 .loc 1 3228 11 view .LVU2401 6811 0098 9B69 ldr r3, [r3, #24] 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6812 .loc 1 3228 10 view .LVU2402 6813 009a 13F0100F tst r3, #16 6814 009e 2DD0 beq .L465 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6815 .loc 1 3250 9 is_stmt 1 view .LVU2403 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6816 .loc 1 3250 13 is_stmt 0 view .LVU2404 6817 00a0 0097 str r7, [sp] 6818 00a2 2B46 mov r3, r5 6819 00a4 0022 movs r2, #0 6820 00a6 2021 movs r1, #32 6821 00a8 3046 mov r0, r6 6822 00aa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6823 .LVL435: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6824 .loc 1 3250 12 view .LVU2405 6825 00ae 0028 cmp r0, #0 6826 00b0 5AD1 bne .L462 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6827 .loc 1 3256 9 is_stmt 1 view .LVU2406 6828 00b2 3368 ldr r3, [r6] 6829 00b4 1022 movs r2, #16 6830 00b6 DA61 str r2, [r3, #28] 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6831 .loc 1 3259 9 view .LVU2407 6832 00b8 3368 ldr r3, [r6] 6833 00ba 2022 movs r2, #32 6834 00bc DA61 str r2, [r3, #28] 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6835 .loc 1 3263 7 view .LVU2408 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6836 .loc 1 3263 22 is_stmt 0 view .LVU2409 6837 00be 039B ldr r3, [sp, #12] 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6838 .loc 1 3263 10 view .LVU2410 6839 00c0 4345 cmp r3, r8 6840 00c2 2CD0 beq .L466 6841 .L456: 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); 6842 .loc 1 3279 7 is_stmt 1 view .LVU2411 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 288 6843 .loc 1 3279 17 is_stmt 0 view .LVU2412 6844 00c4 039B ldr r3, [sp, #12] 6845 00c6 0133 adds r3, r3, #1 6846 00c8 0393 str r3, [sp, #12] 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6847 .loc 1 3280 25 is_stmt 1 view .LVU2413 6848 00ca 039B ldr r3, [sp, #12] 6849 00cc 4345 cmp r3, r8 6850 00ce 37D2 bcs .L467 6851 .LVL436: 6852 .L457: 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6853 .loc 1 3192 5 view .LVU2414 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6854 .loc 1 3195 7 view .LVU2415 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6855 .loc 1 3195 29 is_stmt 0 view .LVU2416 6856 00d0 F368 ldr r3, [r6, #12] 6857 00d2 012B cmp r3, #1 6858 00d4 B7D0 beq .L468 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6859 .loc 1 3195 29 discriminator 2 view .LVU2417 6860 00d6 C9F30903 ubfx r3, r9, #0, #10 6861 00da 43F00073 orr r3, r3, #33554432 6862 00de 43F42053 orr r3, r3, #10240 6863 .L449: 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6864 .loc 1 3195 11 discriminator 4 view .LVU2418 6865 00e2 3268 ldr r2, [r6] 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6866 .loc 1 3195 27 discriminator 4 view .LVU2419 6867 00e4 5360 str r3, [r2, #4] 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6868 .loc 1 3199 7 is_stmt 1 discriminator 4 view .LVU2420 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6869 .loc 1 3199 19 is_stmt 0 discriminator 4 view .LVU2421 6870 00e6 FFF7FEFF bl HAL_GetTick 6871 .LVL437: 6872 00ea 0746 mov r7, r0 6873 .LVL438: 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6874 .loc 1 3201 7 is_stmt 1 discriminator 4 view .LVU2422 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 6875 .loc 1 3201 14 is_stmt 0 discriminator 4 view .LVU2423 6876 00ec 3368 ldr r3, [r6] 6877 00ee 9C69 ldr r4, [r3, #24] 6878 00f0 C4F34014 ubfx r4, r4, #5, #1 6879 .LVL439: 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6880 .loc 1 3202 7 is_stmt 1 discriminator 4 view .LVU2424 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6881 .loc 1 3202 14 is_stmt 0 discriminator 4 view .LVU2425 6882 00f4 9B69 ldr r3, [r3, #24] 6883 00f6 C3F30013 ubfx r3, r3, #4, #1 6884 .LVL440: 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6885 .loc 1 3204 7 is_stmt 1 discriminator 4 view .LVU2426 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 289 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6886 .loc 1 3204 13 is_stmt 0 discriminator 4 view .LVU2427 6887 00fa B2E7 b .L450 6888 .LVL441: 6889 .L465: 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6890 .loc 1 3231 9 is_stmt 1 view .LVU2428 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6891 .loc 1 3231 13 is_stmt 0 view .LVU2429 6892 00fc 0097 str r7, [sp] 6893 00fe 2B46 mov r3, r5 6894 0100 0022 movs r2, #0 6895 0102 2021 movs r1, #32 6896 0104 3046 mov r0, r6 6897 0106 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6898 .LVL442: 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6899 .loc 1 3231 12 view .LVU2430 6900 010a 58BB cbnz r0, .L461 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6901 .loc 1 3237 9 is_stmt 1 view .LVU2431 6902 010c 3268 ldr r2, [r6] 6903 010e 2023 movs r3, #32 6904 0110 D361 str r3, [r2, #28] 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6905 .loc 1 3240 9 view .LVU2432 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6906 .loc 1 3240 21 is_stmt 0 view .LVU2433 6907 0112 86F84130 strb r3, [r6, #65] 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6908 .loc 1 3243 9 is_stmt 1 view .LVU2434 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6909 .loc 1 3243 9 view .LVU2435 6910 0116 0023 movs r3, #0 6911 0118 86F84030 strb r3, [r6, #64] 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6912 .loc 1 3243 9 view .LVU2436 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6913 .loc 1 3245 9 view .LVU2437 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6914 .loc 1 3245 16 is_stmt 0 view .LVU2438 6915 011c B8E7 b .L447 6916 .L466: 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6917 .loc 1 3266 9 is_stmt 1 view .LVU2439 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6918 .loc 1 3266 13 is_stmt 0 view .LVU2440 6919 011e 3268 ldr r2, [r6] 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6920 .loc 1 3266 23 view .LVU2441 6921 0120 5368 ldr r3, [r2, #4] 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6922 .loc 1 3266 29 view .LVU2442 6923 0122 43F48043 orr r3, r3, #16384 6924 0126 5360 str r3, [r2, #4] 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6925 .loc 1 3269 9 is_stmt 1 view .LVU2443 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 290 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6926 .loc 1 3269 13 is_stmt 0 view .LVU2444 6927 0128 0097 str r7, [sp] 6928 012a 2B46 mov r3, r5 6929 012c 0022 movs r2, #0 6930 012e 2021 movs r1, #32 6931 0130 3046 mov r0, r6 6932 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6933 .LVL443: 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6934 .loc 1 3269 12 view .LVU2445 6935 0136 C8B9 cbnz r0, .L463 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6936 .loc 1 3275 9 is_stmt 1 view .LVU2446 6937 0138 3368 ldr r3, [r6] 6938 013a 2022 movs r2, #32 6939 013c DA61 str r2, [r3, #28] 6940 013e C1E7 b .L456 6941 .L467: 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6942 .loc 1 3283 5 view .LVU2447 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6943 .loc 1 3283 17 is_stmt 0 view .LVU2448 6944 0140 2023 movs r3, #32 6945 0142 86F84130 strb r3, [r6, #65] 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6946 .loc 1 3286 5 is_stmt 1 view .LVU2449 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6947 .loc 1 3286 9 is_stmt 0 view .LVU2450 6948 0146 736C ldr r3, [r6, #68] 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6949 .loc 1 3286 21 view .LVU2451 6950 0148 43F02003 orr r3, r3, #32 6951 014c 7364 str r3, [r6, #68] 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6952 .loc 1 3289 5 is_stmt 1 view .LVU2452 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6953 .loc 1 3289 5 view .LVU2453 6954 014e 0023 movs r3, #0 6955 0150 86F84030 strb r3, [r6, #64] 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6956 .loc 1 3289 5 view .LVU2454 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6957 .loc 1 3291 5 view .LVU2455 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6958 .loc 1 3291 12 is_stmt 0 view .LVU2456 6959 0154 0120 movs r0, #1 6960 0156 9BE7 b .L447 6961 .LVL444: 6962 .L458: 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6963 .loc 1 3295 12 view .LVU2457 6964 0158 0220 movs r0, #2 6965 .LVL445: 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6966 .loc 1 3295 12 view .LVU2458 6967 015a 99E7 b .L447 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 291 6968 .LVL446: 6969 .L459: 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6970 .loc 1 3183 14 view .LVU2459 6971 015c 0220 movs r0, #2 6972 .LVL447: 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6973 .loc 1 3183 14 view .LVU2460 6974 015e 97E7 b .L447 6975 .LVL448: 6976 .L460: 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6977 .loc 1 3187 5 view .LVU2461 6978 0160 0220 movs r0, #2 6979 .LVL449: 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6980 .loc 1 3187 5 view .LVU2462 6981 0162 95E7 b .L447 6982 .LVL450: 6983 .L461: 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6984 .loc 1 3233 18 view .LVU2463 6985 0164 0120 movs r0, #1 6986 0166 93E7 b .L447 6987 .L462: 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6988 .loc 1 3252 18 view .LVU2464 6989 0168 0120 movs r0, #1 6990 016a 91E7 b .L447 6991 .L463: 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6992 .loc 1 3271 18 view .LVU2465 6993 016c 0120 movs r0, #1 6994 016e 8FE7 b .L447 6995 .cfi_endproc 6996 .LFE152: 6998 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits 6999 .align 1 7000 .global HAL_I2C_Master_Seq_Transmit_IT 7001 .syntax unified 7002 .thumb 7003 .thumb_func 7005 HAL_I2C_Master_Seq_Transmit_IT: 7006 .LVL451: 7007 .LFB153: 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7008 .loc 1 3313 1 is_stmt 1 view -0 7009 .cfi_startproc 7010 @ args = 4, pretend = 0, frame = 0 7011 @ frame_needed = 0, uses_anonymous_args = 0 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7012 .loc 1 3313 1 is_stmt 0 view .LVU2467 7013 0000 70B5 push {r4, r5, r6, lr} 7014 .cfi_def_cfa_offset 16 7015 .cfi_offset 4, -16 7016 .cfi_offset 5, -12 7017 .cfi_offset 6, -8 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 292 7018 .cfi_offset 14, -4 7019 0002 82B0 sub sp, sp, #8 7020 .cfi_def_cfa_offset 24 7021 0004 0446 mov r4, r0 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 7022 .loc 1 3314 3 is_stmt 1 view .LVU2468 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7023 .loc 1 3315 3 view .LVU2469 7024 .LVL452: 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7025 .loc 1 3318 3 view .LVU2470 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7026 .loc 1 3320 3 view .LVU2471 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7027 .loc 1 3320 11 is_stmt 0 view .LVU2472 7028 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 7029 .LVL453: 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7030 .loc 1 3320 11 view .LVU2473 7031 000a C0B2 uxtb r0, r0 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7032 .loc 1 3320 6 view .LVU2474 7033 000c 2028 cmp r0, #32 7034 000e 49D1 bne .L475 7035 0010 0D46 mov r5, r1 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7036 .loc 1 3323 5 is_stmt 1 view .LVU2475 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7037 .loc 1 3323 5 view .LVU2476 7038 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 7039 .LVL454: 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7040 .loc 1 3323 5 is_stmt 0 view .LVU2477 7041 0016 0129 cmp r1, #1 7042 0018 46D0 beq .L476 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7043 .loc 1 3323 5 is_stmt 1 discriminator 2 view .LVU2478 7044 001a 0121 movs r1, #1 7045 001c 84F84010 strb r1, [r4, #64] 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7046 .loc 1 3323 5 discriminator 2 view .LVU2479 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7047 .loc 1 3325 5 discriminator 2 view .LVU2480 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7048 .loc 1 3325 21 is_stmt 0 discriminator 2 view .LVU2481 7049 0020 2121 movs r1, #33 7050 0022 84F84110 strb r1, [r4, #65] 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7051 .loc 1 3326 5 is_stmt 1 discriminator 2 view .LVU2482 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7052 .loc 1 3326 21 is_stmt 0 discriminator 2 view .LVU2483 7053 0026 1021 movs r1, #16 7054 0028 84F84210 strb r1, [r4, #66] 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7055 .loc 1 3327 5 is_stmt 1 discriminator 2 view .LVU2484 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7056 .loc 1 3327 21 is_stmt 0 discriminator 2 view .LVU2485 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 293 7057 002c 0021 movs r1, #0 7058 002e 6164 str r1, [r4, #68] 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7059 .loc 1 3330 5 is_stmt 1 discriminator 2 view .LVU2486 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7060 .loc 1 3330 23 is_stmt 0 discriminator 2 view .LVU2487 7061 0030 6262 str r2, [r4, #36] 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7062 .loc 1 3331 5 is_stmt 1 discriminator 2 view .LVU2488 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7063 .loc 1 3331 23 is_stmt 0 discriminator 2 view .LVU2489 7064 0032 6385 strh r3, [r4, #42] @ movhi 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7065 .loc 1 3332 5 is_stmt 1 discriminator 2 view .LVU2490 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7066 .loc 1 3332 23 is_stmt 0 discriminator 2 view .LVU2491 7067 0034 069B ldr r3, [sp, #24] 7068 .LVL455: 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7069 .loc 1 3332 23 discriminator 2 view .LVU2492 7070 0036 E362 str r3, [r4, #44] 7071 .LVL456: 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7072 .loc 1 3333 5 is_stmt 1 discriminator 2 view .LVU2493 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7073 .loc 1 3333 23 is_stmt 0 discriminator 2 view .LVU2494 7074 0038 1C4B ldr r3, .L480 7075 003a 6363 str r3, [r4, #52] 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7076 .loc 1 3336 5 is_stmt 1 discriminator 2 view .LVU2495 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7077 .loc 1 3336 13 is_stmt 0 discriminator 2 view .LVU2496 7078 003c 638D ldrh r3, [r4, #42] 7079 003e 9BB2 uxth r3, r3 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7080 .loc 1 3336 8 discriminator 2 view .LVU2497 7081 0040 FF2B cmp r3, #255 7082 0042 0ED9 bls .L471 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7083 .loc 1 3338 7 is_stmt 1 view .LVU2498 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7084 .loc 1 3338 22 is_stmt 0 view .LVU2499 7085 0044 FF23 movs r3, #255 7086 0046 2385 strh r3, [r4, #40] @ movhi 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7087 .loc 1 3339 7 is_stmt 1 view .LVU2500 7088 .LVL457: 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7089 .loc 1 3339 16 is_stmt 0 view .LVU2501 7090 0048 4FF08076 mov r6, #16777216 7091 .LVL458: 7092 .L472: 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7093 .loc 1 3350 5 is_stmt 1 view .LVU2502 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7094 .loc 1 3350 14 is_stmt 0 view .LVU2503 7095 004c 236B ldr r3, [r4, #48] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 294 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7096 .loc 1 3350 8 view .LVU2504 7097 004e 112B cmp r3, #17 7098 0050 0BD1 bne .L473 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7099 .loc 1 3351 10 view .LVU2505 7100 0052 069B ldr r3, [sp, #24] 7101 0054 AA2B cmp r3, #170 7102 0056 08D0 beq .L473 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7103 .loc 1 3351 10 discriminator 2 view .LVU2506 7104 0058 B3F52A4F cmp r3, #43520 7105 005c 05D0 beq .L473 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7106 .loc 1 3353 19 view .LVU2507 7107 005e 0023 movs r3, #0 7108 0060 0CE0 b .L474 7109 .LVL459: 7110 .L471: 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7111 .loc 1 3343 7 is_stmt 1 view .LVU2508 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7112 .loc 1 3343 28 is_stmt 0 view .LVU2509 7113 0062 638D ldrh r3, [r4, #42] 3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7114 .loc 1 3343 22 view .LVU2510 7115 0064 2385 strh r3, [r4, #40] @ movhi 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7116 .loc 1 3344 7 is_stmt 1 view .LVU2511 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7117 .loc 1 3344 16 is_stmt 0 view .LVU2512 7118 0066 E66A ldr r6, [r4, #44] 7119 .LVL460: 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7120 .loc 1 3344 16 view .LVU2513 7121 0068 F0E7 b .L472 7122 .L473: 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7123 .loc 1 3358 7 is_stmt 1 view .LVU2514 7124 006a 2046 mov r0, r4 7125 006c FFF7FEFF bl I2C_ConvertOtherXferOptions 7126 .LVL461: 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7127 .loc 1 3361 7 view .LVU2515 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7128 .loc 1 3361 15 is_stmt 0 view .LVU2516 7129 0070 638D ldrh r3, [r4, #42] 7130 0072 9BB2 uxth r3, r3 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7131 .loc 1 3361 10 view .LVU2517 7132 0074 FF2B cmp r3, #255 7133 0076 13D8 bhi .L478 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7134 .loc 1 3363 9 is_stmt 1 view .LVU2518 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7135 .loc 1 3363 18 is_stmt 0 view .LVU2519 7136 0078 E66A ldr r6, [r4, #44] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 295 7137 .LVL462: 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7138 .loc 1 3315 12 view .LVU2520 7139 007a 0D4B ldr r3, .L480+4 7140 .L474: 7141 .LVL463: 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7142 .loc 1 3368 5 is_stmt 1 view .LVU2521 7143 007c 0093 str r3, [sp] 7144 007e 3346 mov r3, r6 7145 .LVL464: 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7146 .loc 1 3368 5 is_stmt 0 view .LVU2522 7147 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 7148 0084 2946 mov r1, r5 7149 0086 2046 mov r0, r4 7150 0088 FFF7FEFF bl I2C_TransferConfig 7151 .LVL465: 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7152 .loc 1 3371 5 is_stmt 1 view .LVU2523 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7153 .loc 1 3371 5 view .LVU2524 7154 008c 0025 movs r5, #0 7155 008e 84F84050 strb r5, [r4, #64] 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7156 .loc 1 3371 5 view .LVU2525 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7157 .loc 1 3380 5 view .LVU2526 7158 0092 0121 movs r1, #1 7159 0094 2046 mov r0, r4 7160 0096 FFF7FEFF bl I2C_Enable_IRQ 7161 .LVL466: 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7162 .loc 1 3382 5 view .LVU2527 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7163 .loc 1 3382 12 is_stmt 0 view .LVU2528 7164 009a 2846 mov r0, r5 7165 .LVL467: 7166 .L470: 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7167 .loc 1 3388 1 view .LVU2529 7168 009c 02B0 add sp, sp, #8 7169 .cfi_remember_state 7170 .cfi_def_cfa_offset 16 7171 @ sp needed 7172 009e 70BD pop {r4, r5, r6, pc} 7173 .LVL468: 7174 .L478: 7175 .cfi_restore_state 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7176 .loc 1 3315 12 view .LVU2530 7177 00a0 034B ldr r3, .L480+4 7178 00a2 EBE7 b .L474 7179 .LVL469: 7180 .L475: 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7181 .loc 1 3386 12 view .LVU2531 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 296 7182 00a4 0220 movs r0, #2 7183 00a6 F9E7 b .L470 7184 .LVL470: 7185 .L476: 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7186 .loc 1 3323 5 view .LVU2532 7187 00a8 0220 movs r0, #2 7188 00aa F7E7 b .L470 7189 .L481: 7190 .align 2 7191 .L480: 7192 00ac 00000000 .word I2C_Master_ISR_IT 7193 00b0 00200080 .word -2147475456 7194 .cfi_endproc 7195 .LFE153: 7197 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits 7198 .align 1 7199 .global HAL_I2C_Master_Seq_Transmit_DMA 7200 .syntax unified 7201 .thumb 7202 .thumb_func 7204 HAL_I2C_Master_Seq_Transmit_DMA: 7205 .LVL471: 7206 .LFB154: 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7207 .loc 1 3404 1 is_stmt 1 view -0 7208 .cfi_startproc 7209 @ args = 4, pretend = 0, frame = 0 7210 @ frame_needed = 0, uses_anonymous_args = 0 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7211 .loc 1 3404 1 is_stmt 0 view .LVU2534 7212 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 7213 .cfi_def_cfa_offset 24 7214 .cfi_offset 4, -24 7215 .cfi_offset 5, -20 7216 .cfi_offset 6, -16 7217 .cfi_offset 7, -12 7218 .cfi_offset 8, -8 7219 .cfi_offset 14, -4 7220 0004 82B0 sub sp, sp, #8 7221 .cfi_def_cfa_offset 32 7222 0006 0446 mov r4, r0 7223 0008 1546 mov r5, r2 7224 000a 089A ldr r2, [sp, #32] 7225 .LVL472: 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 7226 .loc 1 3405 3 is_stmt 1 view .LVU2535 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7227 .loc 1 3406 3 view .LVU2536 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7228 .loc 1 3407 3 view .LVU2537 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7229 .loc 1 3410 3 view .LVU2538 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7230 .loc 1 3412 3 view .LVU2539 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7231 .loc 1 3412 11 is_stmt 0 view .LVU2540 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 297 7232 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 7233 .LVL473: 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7234 .loc 1 3412 11 view .LVU2541 7235 0010 C0B2 uxtb r0, r0 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7236 .loc 1 3412 6 view .LVU2542 7237 0012 2028 cmp r0, #32 7238 0014 40F09D80 bne .L493 7239 0018 0E46 mov r6, r1 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7240 .loc 1 3415 5 is_stmt 1 view .LVU2543 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7241 .loc 1 3415 5 view .LVU2544 7242 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 7243 .LVL474: 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7244 .loc 1 3415 5 is_stmt 0 view .LVU2545 7245 001e 0129 cmp r1, #1 7246 0020 00F09B80 beq .L494 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7247 .loc 1 3415 5 is_stmt 1 discriminator 2 view .LVU2546 7248 0024 0121 movs r1, #1 7249 0026 84F84010 strb r1, [r4, #64] 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7250 .loc 1 3415 5 discriminator 2 view .LVU2547 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7251 .loc 1 3417 5 discriminator 2 view .LVU2548 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7252 .loc 1 3417 21 is_stmt 0 discriminator 2 view .LVU2549 7253 002a 2121 movs r1, #33 7254 002c 84F84110 strb r1, [r4, #65] 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7255 .loc 1 3418 5 is_stmt 1 discriminator 2 view .LVU2550 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7256 .loc 1 3418 21 is_stmt 0 discriminator 2 view .LVU2551 7257 0030 1021 movs r1, #16 7258 0032 84F84210 strb r1, [r4, #66] 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7259 .loc 1 3419 5 is_stmt 1 discriminator 2 view .LVU2552 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7260 .loc 1 3419 21 is_stmt 0 discriminator 2 view .LVU2553 7261 0036 0021 movs r1, #0 7262 0038 6164 str r1, [r4, #68] 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7263 .loc 1 3422 5 is_stmt 1 discriminator 2 view .LVU2554 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7264 .loc 1 3422 23 is_stmt 0 discriminator 2 view .LVU2555 7265 003a 6562 str r5, [r4, #36] 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7266 .loc 1 3423 5 is_stmt 1 discriminator 2 view .LVU2556 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7267 .loc 1 3423 23 is_stmt 0 discriminator 2 view .LVU2557 7268 003c 6385 strh r3, [r4, #42] @ movhi 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 7269 .loc 1 3424 5 is_stmt 1 discriminator 2 view .LVU2558 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 298 7270 .loc 1 3424 23 is_stmt 0 discriminator 2 view .LVU2559 7271 003e E262 str r2, [r4, #44] 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7272 .loc 1 3425 5 is_stmt 1 discriminator 2 view .LVU2560 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7273 .loc 1 3425 23 is_stmt 0 discriminator 2 view .LVU2561 7274 0040 474B ldr r3, .L500 7275 .LVL475: 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7276 .loc 1 3425 23 discriminator 2 view .LVU2562 7277 0042 6363 str r3, [r4, #52] 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7278 .loc 1 3428 5 is_stmt 1 discriminator 2 view .LVU2563 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7279 .loc 1 3428 13 is_stmt 0 discriminator 2 view .LVU2564 7280 0044 638D ldrh r3, [r4, #42] 7281 0046 9BB2 uxth r3, r3 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7282 .loc 1 3428 8 discriminator 2 view .LVU2565 7283 0048 FF2B cmp r3, #255 7284 004a 0ED9 bls .L484 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7285 .loc 1 3430 7 is_stmt 1 view .LVU2566 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7286 .loc 1 3430 22 is_stmt 0 view .LVU2567 7287 004c FF23 movs r3, #255 7288 004e 2385 strh r3, [r4, #40] @ movhi 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7289 .loc 1 3431 7 is_stmt 1 view .LVU2568 7290 .LVL476: 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7291 .loc 1 3431 16 is_stmt 0 view .LVU2569 7292 0050 4FF08077 mov r7, #16777216 7293 .LVL477: 7294 .L485: 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7295 .loc 1 3442 5 is_stmt 1 view .LVU2570 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7296 .loc 1 3442 14 is_stmt 0 view .LVU2571 7297 0054 236B ldr r3, [r4, #48] 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7298 .loc 1 3442 8 view .LVU2572 7299 0056 112B cmp r3, #17 7300 0058 0BD1 bne .L486 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7301 .loc 1 3443 10 view .LVU2573 7302 005a AA2A cmp r2, #170 7303 005c 09D0 beq .L486 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7304 .loc 1 3443 10 discriminator 2 view .LVU2574 7305 005e B2F52A4F cmp r2, #43520 7306 0062 06D0 beq .L486 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7307 .loc 1 3445 19 view .LVU2575 7308 0064 4FF00008 mov r8, #0 7309 0068 0DE0 b .L487 7310 .LVL478: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 299 7311 .L484: 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7312 .loc 1 3435 7 is_stmt 1 view .LVU2576 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7313 .loc 1 3435 28 is_stmt 0 view .LVU2577 7314 006a 638D ldrh r3, [r4, #42] 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7315 .loc 1 3435 22 view .LVU2578 7316 006c 2385 strh r3, [r4, #40] @ movhi 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7317 .loc 1 3436 7 is_stmt 1 view .LVU2579 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7318 .loc 1 3436 16 is_stmt 0 view .LVU2580 7319 006e E76A ldr r7, [r4, #44] 7320 .LVL479: 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7321 .loc 1 3436 16 view .LVU2581 7322 0070 F0E7 b .L485 7323 .L486: 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7324 .loc 1 3450 7 is_stmt 1 view .LVU2582 7325 0072 2046 mov r0, r4 7326 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions 7327 .LVL480: 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7328 .loc 1 3453 7 view .LVU2583 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7329 .loc 1 3453 15 is_stmt 0 view .LVU2584 7330 0078 638D ldrh r3, [r4, #42] 7331 007a 9BB2 uxth r3, r3 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7332 .loc 1 3453 10 view .LVU2585 7333 007c FF2B cmp r3, #255 7334 007e 27D8 bhi .L496 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7335 .loc 1 3455 9 is_stmt 1 view .LVU2586 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7336 .loc 1 3455 18 is_stmt 0 view .LVU2587 7337 0080 E76A ldr r7, [r4, #44] 7338 .LVL481: 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7339 .loc 1 3406 12 view .LVU2588 7340 0082 DFF8EC80 ldr r8, .L500+16 7341 .L487: 7342 .LVL482: 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7343 .loc 1 3459 5 is_stmt 1 view .LVU2589 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7344 .loc 1 3459 13 is_stmt 0 view .LVU2590 7345 0086 228D ldrh r2, [r4, #40] 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7346 .loc 1 3459 8 view .LVU2591 7347 0088 002A cmp r2, #0 7348 008a 4ED0 beq .L488 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7349 .loc 1 3461 7 is_stmt 1 view .LVU2592 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 300 7350 .loc 1 3461 15 is_stmt 0 view .LVU2593 7351 008c A36B ldr r3, [r4, #56] 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7352 .loc 1 3461 10 view .LVU2594 7353 008e 13B3 cbz r3, .L489 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7354 .loc 1 3464 9 is_stmt 1 view .LVU2595 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7355 .loc 1 3464 40 is_stmt 0 view .LVU2596 7356 0090 344A ldr r2, .L500+4 7357 0092 9A62 str r2, [r3, #40] 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7358 .loc 1 3467 9 is_stmt 1 view .LVU2597 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7359 .loc 1 3467 13 is_stmt 0 view .LVU2598 7360 0094 A36B ldr r3, [r4, #56] 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7361 .loc 1 3467 41 view .LVU2599 7362 0096 344A ldr r2, .L500+8 7363 0098 1A63 str r2, [r3, #48] 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 7364 .loc 1 3470 9 is_stmt 1 view .LVU2600 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 7365 .loc 1 3470 13 is_stmt 0 view .LVU2601 7366 009a A26B ldr r2, [r4, #56] 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 7367 .loc 1 3470 44 view .LVU2602 7368 009c 0023 movs r3, #0 7369 009e D362 str r3, [r2, #44] 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7370 .loc 1 3471 9 is_stmt 1 view .LVU2603 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7371 .loc 1 3471 13 is_stmt 0 view .LVU2604 7372 00a0 A26B ldr r2, [r4, #56] 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7373 .loc 1 3471 41 view .LVU2605 7374 00a2 5363 str r3, [r2, #52] 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7375 .loc 1 3474 9 is_stmt 1 view .LVU2606 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7376 .loc 1 3474 88 is_stmt 0 view .LVU2607 7377 00a4 2268 ldr r2, [r4] 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7378 .loc 1 3474 25 view .LVU2608 7379 00a6 238D ldrh r3, [r4, #40] 7380 00a8 2832 adds r2, r2, #40 7381 00aa 2946 mov r1, r5 7382 00ac A06B ldr r0, [r4, #56] 7383 00ae FFF7FEFF bl HAL_DMA_Start_IT 7384 .LVL483: 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7385 .loc 1 3492 7 is_stmt 1 view .LVU2609 3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7386 .loc 1 3492 10 is_stmt 0 view .LVU2610 7387 00b2 F0B1 cbz r0, .L499 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7388 .loc 1 3515 9 is_stmt 1 view .LVU2611 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 301 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7389 .loc 1 3515 25 is_stmt 0 view .LVU2612 7390 00b4 2023 movs r3, #32 7391 00b6 84F84130 strb r3, [r4, #65] 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7392 .loc 1 3516 9 is_stmt 1 view .LVU2613 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7393 .loc 1 3516 25 is_stmt 0 view .LVU2614 7394 00ba 0022 movs r2, #0 7395 00bc 84F84220 strb r2, [r4, #66] 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7396 .loc 1 3519 9 is_stmt 1 view .LVU2615 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7397 .loc 1 3519 13 is_stmt 0 view .LVU2616 7398 00c0 636C ldr r3, [r4, #68] 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7399 .loc 1 3519 25 view .LVU2617 7400 00c2 43F01003 orr r3, r3, #16 7401 00c6 6364 str r3, [r4, #68] 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7402 .loc 1 3522 9 is_stmt 1 view .LVU2618 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7403 .loc 1 3522 9 view .LVU2619 7404 00c8 84F84020 strb r2, [r4, #64] 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7405 .loc 1 3522 9 view .LVU2620 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7406 .loc 1 3524 9 view .LVU2621 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7407 .loc 1 3524 16 is_stmt 0 view .LVU2622 7408 00cc 0120 movs r0, #1 7409 .LVL484: 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7410 .loc 1 3524 16 view .LVU2623 7411 00ce 41E0 b .L483 7412 .LVL485: 7413 .L496: 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7414 .loc 1 3406 12 view .LVU2624 7415 00d0 DFF89C80 ldr r8, .L500+16 7416 00d4 D7E7 b .L487 7417 .LVL486: 7418 .L489: 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7419 .loc 1 3480 9 is_stmt 1 view .LVU2625 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7420 .loc 1 3480 25 is_stmt 0 view .LVU2626 7421 00d6 2023 movs r3, #32 7422 00d8 84F84130 strb r3, [r4, #65] 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7423 .loc 1 3481 9 is_stmt 1 view .LVU2627 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7424 .loc 1 3481 25 is_stmt 0 view .LVU2628 7425 00dc 0022 movs r2, #0 7426 00de 84F84220 strb r2, [r4, #66] 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7427 .loc 1 3484 9 is_stmt 1 view .LVU2629 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 302 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7428 .loc 1 3484 13 is_stmt 0 view .LVU2630 7429 00e2 636C ldr r3, [r4, #68] 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7430 .loc 1 3484 25 view .LVU2631 7431 00e4 43F08003 orr r3, r3, #128 7432 00e8 6364 str r3, [r4, #68] 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7433 .loc 1 3487 9 is_stmt 1 view .LVU2632 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7434 .loc 1 3487 9 view .LVU2633 7435 00ea 84F84020 strb r2, [r4, #64] 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7436 .loc 1 3487 9 view .LVU2634 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7437 .loc 1 3489 9 view .LVU2635 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7438 .loc 1 3489 16 is_stmt 0 view .LVU2636 7439 00ee 0120 movs r0, #1 7440 00f0 30E0 b .L483 7441 .LVL487: 7442 .L499: 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7443 .loc 1 3495 9 is_stmt 1 view .LVU2637 7444 00f2 CDF80080 str r8, [sp] 7445 00f6 3B46 mov r3, r7 7446 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 7447 00fc 3146 mov r1, r6 7448 00fe 2046 mov r0, r4 7449 .LVL488: 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7450 .loc 1 3495 9 is_stmt 0 view .LVU2638 7451 0100 FFF7FEFF bl I2C_TransferConfig 7452 .LVL489: 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7453 .loc 1 3498 9 is_stmt 1 view .LVU2639 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7454 .loc 1 3498 13 is_stmt 0 view .LVU2640 7455 0104 638D ldrh r3, [r4, #42] 7456 0106 9BB2 uxth r3, r3 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7457 .loc 1 3498 32 view .LVU2641 7458 0108 228D ldrh r2, [r4, #40] 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7459 .loc 1 3498 25 view .LVU2642 7460 010a 9B1A subs r3, r3, r2 7461 010c 9BB2 uxth r3, r3 7462 010e 6385 strh r3, [r4, #42] @ movhi 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7463 .loc 1 3501 9 is_stmt 1 view .LVU2643 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7464 .loc 1 3501 9 view .LVU2644 7465 0110 0023 movs r3, #0 7466 0112 84F84030 strb r3, [r4, #64] 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7467 .loc 1 3501 9 view .LVU2645 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 303 7468 .loc 1 3507 9 view .LVU2646 7469 0116 1021 movs r1, #16 7470 0118 2046 mov r0, r4 7471 011a FFF7FEFF bl I2C_Enable_IRQ 7472 .LVL490: 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7473 .loc 1 3510 9 view .LVU2647 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7474 .loc 1 3510 13 is_stmt 0 view .LVU2648 7475 011e 2268 ldr r2, [r4] 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7476 .loc 1 3510 23 view .LVU2649 7477 0120 1368 ldr r3, [r2] 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7478 .loc 1 3510 29 view .LVU2650 7479 0122 43F48043 orr r3, r3, #16384 7480 0126 1360 str r3, [r2] 7481 0128 11E0 b .L492 7482 .LVL491: 7483 .L488: 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7484 .loc 1 3530 7 is_stmt 1 view .LVU2651 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7485 .loc 1 3530 21 is_stmt 0 view .LVU2652 7486 012a 104B ldr r3, .L500+12 7487 012c 6363 str r3, [r4, #52] 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 7488 .loc 1 3534 7 is_stmt 1 view .LVU2653 7489 012e 104B ldr r3, .L500+16 7490 0130 0093 str r3, [sp] 7491 0132 4FF00073 mov r3, #33554432 7492 0136 D2B2 uxtb r2, r2 7493 0138 3146 mov r1, r6 7494 013a 2046 mov r0, r4 7495 013c FFF7FEFF bl I2C_TransferConfig 7496 .LVL492: 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7497 .loc 1 3538 7 view .LVU2654 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7498 .loc 1 3538 7 view .LVU2655 7499 0140 0023 movs r3, #0 7500 0142 84F84030 strb r3, [r4, #64] 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7501 .loc 1 3538 7 view .LVU2656 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7502 .loc 1 3547 7 view .LVU2657 7503 0146 0121 movs r1, #1 7504 0148 2046 mov r0, r4 7505 014a FFF7FEFF bl I2C_Enable_IRQ 7506 .LVL493: 7507 .L492: 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7508 .loc 1 3550 5 view .LVU2658 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7509 .loc 1 3550 12 is_stmt 0 view .LVU2659 7510 014e 0020 movs r0, #0 7511 0150 00E0 b .L483 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 304 7512 .LVL494: 7513 .L493: 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7514 .loc 1 3554 12 view .LVU2660 7515 0152 0220 movs r0, #2 7516 .LVL495: 7517 .L483: 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7518 .loc 1 3556 1 view .LVU2661 7519 0154 02B0 add sp, sp, #8 7520 .cfi_remember_state 7521 .cfi_def_cfa_offset 24 7522 @ sp needed 7523 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 7524 .LVL496: 7525 .L494: 7526 .cfi_restore_state 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7527 .loc 1 3415 5 view .LVU2662 7528 015a 0220 movs r0, #2 7529 015c FAE7 b .L483 7530 .L501: 7531 015e 00BF .align 2 7532 .L500: 7533 0160 00000000 .word I2C_Master_ISR_DMA 7534 0164 00000000 .word I2C_DMAMasterTransmitCplt 7535 0168 00000000 .word I2C_DMAError 7536 016c 00000000 .word I2C_Master_ISR_IT 7537 0170 00200080 .word -2147475456 7538 .cfi_endproc 7539 .LFE154: 7541 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits 7542 .align 1 7543 .global HAL_I2C_Master_Seq_Receive_IT 7544 .syntax unified 7545 .thumb 7546 .thumb_func 7548 HAL_I2C_Master_Seq_Receive_IT: 7549 .LVL497: 7550 .LFB155: 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7551 .loc 1 3572 1 is_stmt 1 view -0 7552 .cfi_startproc 7553 @ args = 4, pretend = 0, frame = 0 7554 @ frame_needed = 0, uses_anonymous_args = 0 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7555 .loc 1 3572 1 is_stmt 0 view .LVU2664 7556 0000 70B5 push {r4, r5, r6, lr} 7557 .cfi_def_cfa_offset 16 7558 .cfi_offset 4, -16 7559 .cfi_offset 5, -12 7560 .cfi_offset 6, -8 7561 .cfi_offset 14, -4 7562 0002 82B0 sub sp, sp, #8 7563 .cfi_def_cfa_offset 24 7564 0004 0446 mov r4, r0 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 305 7565 .loc 1 3573 3 is_stmt 1 view .LVU2665 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7566 .loc 1 3574 3 view .LVU2666 7567 .LVL498: 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7568 .loc 1 3577 3 view .LVU2667 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7569 .loc 1 3579 3 view .LVU2668 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7570 .loc 1 3579 11 is_stmt 0 view .LVU2669 7571 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 7572 .LVL499: 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7573 .loc 1 3579 11 view .LVU2670 7574 000a C0B2 uxtb r0, r0 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7575 .loc 1 3579 6 view .LVU2671 7576 000c 2028 cmp r0, #32 7577 000e 49D1 bne .L508 7578 0010 0D46 mov r5, r1 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7579 .loc 1 3582 5 is_stmt 1 view .LVU2672 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7580 .loc 1 3582 5 view .LVU2673 7581 0012 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 7582 .LVL500: 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7583 .loc 1 3582 5 is_stmt 0 view .LVU2674 7584 0016 0129 cmp r1, #1 7585 0018 46D0 beq .L509 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7586 .loc 1 3582 5 is_stmt 1 discriminator 2 view .LVU2675 7587 001a 0121 movs r1, #1 7588 001c 84F84010 strb r1, [r4, #64] 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7589 .loc 1 3582 5 discriminator 2 view .LVU2676 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7590 .loc 1 3584 5 discriminator 2 view .LVU2677 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7591 .loc 1 3584 21 is_stmt 0 discriminator 2 view .LVU2678 7592 0020 2221 movs r1, #34 7593 0022 84F84110 strb r1, [r4, #65] 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7594 .loc 1 3585 5 is_stmt 1 discriminator 2 view .LVU2679 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7595 .loc 1 3585 21 is_stmt 0 discriminator 2 view .LVU2680 7596 0026 1021 movs r1, #16 7597 0028 84F84210 strb r1, [r4, #66] 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7598 .loc 1 3586 5 is_stmt 1 discriminator 2 view .LVU2681 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7599 .loc 1 3586 21 is_stmt 0 discriminator 2 view .LVU2682 7600 002c 0021 movs r1, #0 7601 002e 6164 str r1, [r4, #68] 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7602 .loc 1 3589 5 is_stmt 1 discriminator 2 view .LVU2683 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 306 7603 .loc 1 3589 23 is_stmt 0 discriminator 2 view .LVU2684 7604 0030 6262 str r2, [r4, #36] 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7605 .loc 1 3590 5 is_stmt 1 discriminator 2 view .LVU2685 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7606 .loc 1 3590 23 is_stmt 0 discriminator 2 view .LVU2686 7607 0032 6385 strh r3, [r4, #42] @ movhi 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7608 .loc 1 3591 5 is_stmt 1 discriminator 2 view .LVU2687 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7609 .loc 1 3591 23 is_stmt 0 discriminator 2 view .LVU2688 7610 0034 069B ldr r3, [sp, #24] 7611 .LVL501: 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 7612 .loc 1 3591 23 discriminator 2 view .LVU2689 7613 0036 E362 str r3, [r4, #44] 7614 .LVL502: 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7615 .loc 1 3592 5 is_stmt 1 discriminator 2 view .LVU2690 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7616 .loc 1 3592 23 is_stmt 0 discriminator 2 view .LVU2691 7617 0038 1C4B ldr r3, .L513 7618 003a 6363 str r3, [r4, #52] 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7619 .loc 1 3595 5 is_stmt 1 discriminator 2 view .LVU2692 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7620 .loc 1 3595 13 is_stmt 0 discriminator 2 view .LVU2693 7621 003c 638D ldrh r3, [r4, #42] 7622 003e 9BB2 uxth r3, r3 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7623 .loc 1 3595 8 discriminator 2 view .LVU2694 7624 0040 FF2B cmp r3, #255 7625 0042 0ED9 bls .L504 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7626 .loc 1 3597 7 is_stmt 1 view .LVU2695 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7627 .loc 1 3597 22 is_stmt 0 view .LVU2696 7628 0044 FF23 movs r3, #255 7629 0046 2385 strh r3, [r4, #40] @ movhi 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7630 .loc 1 3598 7 is_stmt 1 view .LVU2697 7631 .LVL503: 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7632 .loc 1 3598 16 is_stmt 0 view .LVU2698 7633 0048 4FF08076 mov r6, #16777216 7634 .LVL504: 7635 .L505: 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7636 .loc 1 3609 5 is_stmt 1 view .LVU2699 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7637 .loc 1 3609 14 is_stmt 0 view .LVU2700 7638 004c 236B ldr r3, [r4, #48] 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7639 .loc 1 3609 8 view .LVU2701 7640 004e 122B cmp r3, #18 7641 0050 0BD1 bne .L506 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 307 7642 .loc 1 3610 10 view .LVU2702 7643 0052 069B ldr r3, [sp, #24] 7644 0054 AA2B cmp r3, #170 7645 0056 08D0 beq .L506 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7646 .loc 1 3610 10 discriminator 2 view .LVU2703 7647 0058 B3F52A4F cmp r3, #43520 7648 005c 05D0 beq .L506 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7649 .loc 1 3612 19 view .LVU2704 7650 005e 0023 movs r3, #0 7651 0060 0CE0 b .L507 7652 .LVL505: 7653 .L504: 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7654 .loc 1 3602 7 is_stmt 1 view .LVU2705 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7655 .loc 1 3602 28 is_stmt 0 view .LVU2706 7656 0062 638D ldrh r3, [r4, #42] 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7657 .loc 1 3602 22 view .LVU2707 7658 0064 2385 strh r3, [r4, #40] @ movhi 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7659 .loc 1 3603 7 is_stmt 1 view .LVU2708 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7660 .loc 1 3603 16 is_stmt 0 view .LVU2709 7661 0066 E66A ldr r6, [r4, #44] 7662 .LVL506: 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7663 .loc 1 3603 16 view .LVU2710 7664 0068 F0E7 b .L505 7665 .L506: 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7666 .loc 1 3617 7 is_stmt 1 view .LVU2711 7667 006a 2046 mov r0, r4 7668 006c FFF7FEFF bl I2C_ConvertOtherXferOptions 7669 .LVL507: 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7670 .loc 1 3620 7 view .LVU2712 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7671 .loc 1 3620 15 is_stmt 0 view .LVU2713 7672 0070 638D ldrh r3, [r4, #42] 7673 0072 9BB2 uxth r3, r3 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7674 .loc 1 3620 10 view .LVU2714 7675 0074 FF2B cmp r3, #255 7676 0076 13D8 bhi .L511 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7677 .loc 1 3622 9 is_stmt 1 view .LVU2715 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7678 .loc 1 3622 18 is_stmt 0 view .LVU2716 7679 0078 E66A ldr r6, [r4, #44] 7680 .LVL508: 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7681 .loc 1 3574 12 view .LVU2717 7682 007a 0D4B ldr r3, .L513+4 7683 .L507: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 308 7684 .LVL509: 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7685 .loc 1 3627 5 is_stmt 1 view .LVU2718 7686 007c 0093 str r3, [sp] 7687 007e 3346 mov r3, r6 7688 .LVL510: 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7689 .loc 1 3627 5 is_stmt 0 view .LVU2719 7690 0080 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 7691 0084 2946 mov r1, r5 7692 0086 2046 mov r0, r4 7693 0088 FFF7FEFF bl I2C_TransferConfig 7694 .LVL511: 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7695 .loc 1 3630 5 is_stmt 1 view .LVU2720 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7696 .loc 1 3630 5 view .LVU2721 7697 008c 0025 movs r5, #0 7698 008e 84F84050 strb r5, [r4, #64] 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7699 .loc 1 3630 5 view .LVU2722 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7700 .loc 1 3635 5 view .LVU2723 7701 0092 0221 movs r1, #2 7702 0094 2046 mov r0, r4 7703 0096 FFF7FEFF bl I2C_Enable_IRQ 7704 .LVL512: 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7705 .loc 1 3637 5 view .LVU2724 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7706 .loc 1 3637 12 is_stmt 0 view .LVU2725 7707 009a 2846 mov r0, r5 7708 .LVL513: 7709 .L503: 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7710 .loc 1 3643 1 view .LVU2726 7711 009c 02B0 add sp, sp, #8 7712 .cfi_remember_state 7713 .cfi_def_cfa_offset 16 7714 @ sp needed 7715 009e 70BD pop {r4, r5, r6, pc} 7716 .LVL514: 7717 .L511: 7718 .cfi_restore_state 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7719 .loc 1 3574 12 view .LVU2727 7720 00a0 034B ldr r3, .L513+4 7721 00a2 EBE7 b .L507 7722 .LVL515: 7723 .L508: 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7724 .loc 1 3641 12 view .LVU2728 7725 00a4 0220 movs r0, #2 7726 00a6 F9E7 b .L503 7727 .LVL516: 7728 .L509: 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 309 7729 .loc 1 3582 5 view .LVU2729 7730 00a8 0220 movs r0, #2 7731 00aa F7E7 b .L503 7732 .L514: 7733 .align 2 7734 .L513: 7735 00ac 00000000 .word I2C_Master_ISR_IT 7736 00b0 00240080 .word -2147474432 7737 .cfi_endproc 7738 .LFE155: 7740 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits 7741 .align 1 7742 .global HAL_I2C_Master_Seq_Receive_DMA 7743 .syntax unified 7744 .thumb 7745 .thumb_func 7747 HAL_I2C_Master_Seq_Receive_DMA: 7748 .LVL517: 7749 .LFB156: 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7750 .loc 1 3659 1 is_stmt 1 view -0 7751 .cfi_startproc 7752 @ args = 4, pretend = 0, frame = 0 7753 @ frame_needed = 0, uses_anonymous_args = 0 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 7754 .loc 1 3659 1 is_stmt 0 view .LVU2731 7755 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 7756 .cfi_def_cfa_offset 24 7757 .cfi_offset 4, -24 7758 .cfi_offset 5, -20 7759 .cfi_offset 6, -16 7760 .cfi_offset 7, -12 7761 .cfi_offset 8, -8 7762 .cfi_offset 14, -4 7763 0004 82B0 sub sp, sp, #8 7764 .cfi_def_cfa_offset 32 7765 0006 0446 mov r4, r0 7766 0008 1546 mov r5, r2 7767 000a 089A ldr r2, [sp, #32] 7768 .LVL518: 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 7769 .loc 1 3660 3 is_stmt 1 view .LVU2732 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7770 .loc 1 3661 3 view .LVU2733 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7771 .loc 1 3662 3 view .LVU2734 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7772 .loc 1 3665 3 view .LVU2735 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7773 .loc 1 3667 3 view .LVU2736 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7774 .loc 1 3667 11 is_stmt 0 view .LVU2737 7775 000c 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 7776 .LVL519: 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7777 .loc 1 3667 11 view .LVU2738 7778 0010 C0B2 uxtb r0, r0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 310 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7779 .loc 1 3667 6 view .LVU2739 7780 0012 2028 cmp r0, #32 7781 0014 40F09D80 bne .L526 7782 0018 0E46 mov r6, r1 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7783 .loc 1 3670 5 is_stmt 1 view .LVU2740 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7784 .loc 1 3670 5 view .LVU2741 7785 001a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 7786 .LVL520: 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7787 .loc 1 3670 5 is_stmt 0 view .LVU2742 7788 001e 0129 cmp r1, #1 7789 0020 00F09B80 beq .L527 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7790 .loc 1 3670 5 is_stmt 1 discriminator 2 view .LVU2743 7791 0024 0121 movs r1, #1 7792 0026 84F84010 strb r1, [r4, #64] 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7793 .loc 1 3670 5 discriminator 2 view .LVU2744 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7794 .loc 1 3672 5 discriminator 2 view .LVU2745 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 7795 .loc 1 3672 21 is_stmt 0 discriminator 2 view .LVU2746 7796 002a 2221 movs r1, #34 7797 002c 84F84110 strb r1, [r4, #65] 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7798 .loc 1 3673 5 is_stmt 1 discriminator 2 view .LVU2747 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7799 .loc 1 3673 21 is_stmt 0 discriminator 2 view .LVU2748 7800 0030 1021 movs r1, #16 7801 0032 84F84210 strb r1, [r4, #66] 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7802 .loc 1 3674 5 is_stmt 1 discriminator 2 view .LVU2749 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7803 .loc 1 3674 21 is_stmt 0 discriminator 2 view .LVU2750 7804 0036 0021 movs r1, #0 7805 0038 6164 str r1, [r4, #68] 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7806 .loc 1 3677 5 is_stmt 1 discriminator 2 view .LVU2751 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7807 .loc 1 3677 23 is_stmt 0 discriminator 2 view .LVU2752 7808 003a 6562 str r5, [r4, #36] 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7809 .loc 1 3678 5 is_stmt 1 discriminator 2 view .LVU2753 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 7810 .loc 1 3678 23 is_stmt 0 discriminator 2 view .LVU2754 7811 003c 6385 strh r3, [r4, #42] @ movhi 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 7812 .loc 1 3679 5 is_stmt 1 discriminator 2 view .LVU2755 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 7813 .loc 1 3679 23 is_stmt 0 discriminator 2 view .LVU2756 7814 003e E262 str r2, [r4, #44] 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7815 .loc 1 3680 5 is_stmt 1 discriminator 2 view .LVU2757 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 311 7816 .loc 1 3680 23 is_stmt 0 discriminator 2 view .LVU2758 7817 0040 474B ldr r3, .L533 7818 .LVL521: 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7819 .loc 1 3680 23 discriminator 2 view .LVU2759 7820 0042 6363 str r3, [r4, #52] 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7821 .loc 1 3683 5 is_stmt 1 discriminator 2 view .LVU2760 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7822 .loc 1 3683 13 is_stmt 0 discriminator 2 view .LVU2761 7823 0044 638D ldrh r3, [r4, #42] 7824 0046 9BB2 uxth r3, r3 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7825 .loc 1 3683 8 discriminator 2 view .LVU2762 7826 0048 FF2B cmp r3, #255 7827 004a 0ED9 bls .L517 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7828 .loc 1 3685 7 is_stmt 1 view .LVU2763 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 7829 .loc 1 3685 22 is_stmt 0 view .LVU2764 7830 004c FF23 movs r3, #255 7831 004e 2385 strh r3, [r4, #40] @ movhi 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7832 .loc 1 3686 7 is_stmt 1 view .LVU2765 7833 .LVL522: 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7834 .loc 1 3686 16 is_stmt 0 view .LVU2766 7835 0050 4FF08077 mov r7, #16777216 7836 .LVL523: 7837 .L518: 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7838 .loc 1 3697 5 is_stmt 1 view .LVU2767 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7839 .loc 1 3697 14 is_stmt 0 view .LVU2768 7840 0054 236B ldr r3, [r4, #48] 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 7841 .loc 1 3697 8 view .LVU2769 7842 0056 122B cmp r3, #18 7843 0058 0BD1 bne .L519 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7844 .loc 1 3698 10 view .LVU2770 7845 005a AA2A cmp r2, #170 7846 005c 09D0 beq .L519 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7847 .loc 1 3698 10 discriminator 2 view .LVU2771 7848 005e B2F52A4F cmp r2, #43520 7849 0062 06D0 beq .L519 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7850 .loc 1 3700 19 view .LVU2772 7851 0064 4FF00008 mov r8, #0 7852 0068 0DE0 b .L520 7853 .LVL524: 7854 .L517: 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7855 .loc 1 3690 7 is_stmt 1 view .LVU2773 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7856 .loc 1 3690 28 is_stmt 0 view .LVU2774 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 312 7857 006a 638D ldrh r3, [r4, #42] 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 7858 .loc 1 3690 22 view .LVU2775 7859 006c 2385 strh r3, [r4, #40] @ movhi 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7860 .loc 1 3691 7 is_stmt 1 view .LVU2776 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7861 .loc 1 3691 16 is_stmt 0 view .LVU2777 7862 006e E76A ldr r7, [r4, #44] 7863 .LVL525: 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7864 .loc 1 3691 16 view .LVU2778 7865 0070 F0E7 b .L518 7866 .L519: 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7867 .loc 1 3705 7 is_stmt 1 view .LVU2779 7868 0072 2046 mov r0, r4 7869 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions 7870 .LVL526: 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7871 .loc 1 3708 7 view .LVU2780 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7872 .loc 1 3708 15 is_stmt 0 view .LVU2781 7873 0078 638D ldrh r3, [r4, #42] 7874 007a 9BB2 uxth r3, r3 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7875 .loc 1 3708 10 view .LVU2782 7876 007c FF2B cmp r3, #255 7877 007e 27D8 bhi .L529 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7878 .loc 1 3710 9 is_stmt 1 view .LVU2783 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7879 .loc 1 3710 18 is_stmt 0 view .LVU2784 7880 0080 E76A ldr r7, [r4, #44] 7881 .LVL527: 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7882 .loc 1 3661 12 view .LVU2785 7883 0082 DFF8EC80 ldr r8, .L533+16 7884 .L520: 7885 .LVL528: 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7886 .loc 1 3714 5 is_stmt 1 view .LVU2786 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7887 .loc 1 3714 13 is_stmt 0 view .LVU2787 7888 0086 228D ldrh r2, [r4, #40] 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7889 .loc 1 3714 8 view .LVU2788 7890 0088 002A cmp r2, #0 7891 008a 4ED0 beq .L521 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7892 .loc 1 3716 7 is_stmt 1 view .LVU2789 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7893 .loc 1 3716 15 is_stmt 0 view .LVU2790 7894 008c E36B ldr r3, [r4, #60] 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7895 .loc 1 3716 10 view .LVU2791 7896 008e 13B3 cbz r3, .L522 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 313 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7897 .loc 1 3719 9 is_stmt 1 view .LVU2792 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7898 .loc 1 3719 40 is_stmt 0 view .LVU2793 7899 0090 344A ldr r2, .L533+4 7900 0092 9A62 str r2, [r3, #40] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7901 .loc 1 3722 9 is_stmt 1 view .LVU2794 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7902 .loc 1 3722 13 is_stmt 0 view .LVU2795 7903 0094 E36B ldr r3, [r4, #60] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7904 .loc 1 3722 41 view .LVU2796 7905 0096 344A ldr r2, .L533+8 7906 0098 1A63 str r2, [r3, #48] 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7907 .loc 1 3725 9 is_stmt 1 view .LVU2797 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7908 .loc 1 3725 13 is_stmt 0 view .LVU2798 7909 009a E26B ldr r2, [r4, #60] 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7910 .loc 1 3725 44 view .LVU2799 7911 009c 0023 movs r3, #0 7912 009e D362 str r3, [r2, #44] 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7913 .loc 1 3726 9 is_stmt 1 view .LVU2800 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7914 .loc 1 3726 13 is_stmt 0 view .LVU2801 7915 00a0 E26B ldr r2, [r4, #60] 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7916 .loc 1 3726 41 view .LVU2802 7917 00a2 5363 str r3, [r2, #52] 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7918 .loc 1 3729 9 is_stmt 1 view .LVU2803 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7919 .loc 1 3729 71 is_stmt 0 view .LVU2804 7920 00a4 2168 ldr r1, [r4] 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7921 .loc 1 3729 25 view .LVU2805 7922 00a6 238D ldrh r3, [r4, #40] 7923 00a8 2A46 mov r2, r5 7924 00aa 2431 adds r1, r1, #36 7925 00ac E06B ldr r0, [r4, #60] 7926 00ae FFF7FEFF bl HAL_DMA_Start_IT 7927 .LVL529: 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7928 .loc 1 3747 7 is_stmt 1 view .LVU2806 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7929 .loc 1 3747 10 is_stmt 0 view .LVU2807 7930 00b2 F0B1 cbz r0, .L532 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7931 .loc 1 3770 9 is_stmt 1 view .LVU2808 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7932 .loc 1 3770 25 is_stmt 0 view .LVU2809 7933 00b4 2023 movs r3, #32 7934 00b6 84F84130 strb r3, [r4, #65] 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 314 7935 .loc 1 3771 9 is_stmt 1 view .LVU2810 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7936 .loc 1 3771 25 is_stmt 0 view .LVU2811 7937 00ba 0022 movs r2, #0 7938 00bc 84F84220 strb r2, [r4, #66] 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7939 .loc 1 3774 9 is_stmt 1 view .LVU2812 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7940 .loc 1 3774 13 is_stmt 0 view .LVU2813 7941 00c0 636C ldr r3, [r4, #68] 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7942 .loc 1 3774 25 view .LVU2814 7943 00c2 43F01003 orr r3, r3, #16 7944 00c6 6364 str r3, [r4, #68] 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7945 .loc 1 3777 9 is_stmt 1 view .LVU2815 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7946 .loc 1 3777 9 view .LVU2816 7947 00c8 84F84020 strb r2, [r4, #64] 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7948 .loc 1 3777 9 view .LVU2817 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7949 .loc 1 3779 9 view .LVU2818 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7950 .loc 1 3779 16 is_stmt 0 view .LVU2819 7951 00cc 0120 movs r0, #1 7952 .LVL530: 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7953 .loc 1 3779 16 view .LVU2820 7954 00ce 41E0 b .L516 7955 .LVL531: 7956 .L529: 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7957 .loc 1 3661 12 view .LVU2821 7958 00d0 DFF89C80 ldr r8, .L533+16 7959 00d4 D7E7 b .L520 7960 .LVL532: 7961 .L522: 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7962 .loc 1 3735 9 is_stmt 1 view .LVU2822 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7963 .loc 1 3735 25 is_stmt 0 view .LVU2823 7964 00d6 2023 movs r3, #32 7965 00d8 84F84130 strb r3, [r4, #65] 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7966 .loc 1 3736 9 is_stmt 1 view .LVU2824 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7967 .loc 1 3736 25 is_stmt 0 view .LVU2825 7968 00dc 0022 movs r2, #0 7969 00de 84F84220 strb r2, [r4, #66] 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7970 .loc 1 3739 9 is_stmt 1 view .LVU2826 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7971 .loc 1 3739 13 is_stmt 0 view .LVU2827 7972 00e2 636C ldr r3, [r4, #68] 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7973 .loc 1 3739 25 view .LVU2828 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 315 7974 00e4 43F08003 orr r3, r3, #128 7975 00e8 6364 str r3, [r4, #68] 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7976 .loc 1 3742 9 is_stmt 1 view .LVU2829 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7977 .loc 1 3742 9 view .LVU2830 7978 00ea 84F84020 strb r2, [r4, #64] 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7979 .loc 1 3742 9 view .LVU2831 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7980 .loc 1 3744 9 view .LVU2832 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7981 .loc 1 3744 16 is_stmt 0 view .LVU2833 7982 00ee 0120 movs r0, #1 7983 00f0 30E0 b .L516 7984 .LVL533: 7985 .L532: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7986 .loc 1 3750 9 is_stmt 1 view .LVU2834 7987 00f2 CDF80080 str r8, [sp] 7988 00f6 3B46 mov r3, r7 7989 00f8 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 7990 00fc 3146 mov r1, r6 7991 00fe 2046 mov r0, r4 7992 .LVL534: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7993 .loc 1 3750 9 is_stmt 0 view .LVU2835 7994 0100 FFF7FEFF bl I2C_TransferConfig 7995 .LVL535: 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7996 .loc 1 3753 9 is_stmt 1 view .LVU2836 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7997 .loc 1 3753 13 is_stmt 0 view .LVU2837 7998 0104 638D ldrh r3, [r4, #42] 7999 0106 9BB2 uxth r3, r3 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8000 .loc 1 3753 32 view .LVU2838 8001 0108 228D ldrh r2, [r4, #40] 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8002 .loc 1 3753 25 view .LVU2839 8003 010a 9B1A subs r3, r3, r2 8004 010c 9BB2 uxth r3, r3 8005 010e 6385 strh r3, [r4, #42] @ movhi 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8006 .loc 1 3756 9 is_stmt 1 view .LVU2840 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8007 .loc 1 3756 9 view .LVU2841 8008 0110 0023 movs r3, #0 8009 0112 84F84030 strb r3, [r4, #64] 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8010 .loc 1 3756 9 view .LVU2842 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8011 .loc 1 3762 9 view .LVU2843 8012 0116 1021 movs r1, #16 8013 0118 2046 mov r0, r4 8014 011a FFF7FEFF bl I2C_Enable_IRQ 8015 .LVL536: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 316 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8016 .loc 1 3765 9 view .LVU2844 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8017 .loc 1 3765 13 is_stmt 0 view .LVU2845 8018 011e 2268 ldr r2, [r4] 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8019 .loc 1 3765 23 view .LVU2846 8020 0120 1368 ldr r3, [r2] 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8021 .loc 1 3765 29 view .LVU2847 8022 0122 43F40043 orr r3, r3, #32768 8023 0126 1360 str r3, [r2] 8024 0128 11E0 b .L525 8025 .LVL537: 8026 .L521: 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8027 .loc 1 3785 7 is_stmt 1 view .LVU2848 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8028 .loc 1 3785 21 is_stmt 0 view .LVU2849 8029 012a 104B ldr r3, .L533+12 8030 012c 6363 str r3, [r4, #52] 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 8031 .loc 1 3789 7 is_stmt 1 view .LVU2850 8032 012e 104B ldr r3, .L533+16 8033 0130 0093 str r3, [sp] 8034 0132 4FF00073 mov r3, #33554432 8035 0136 D2B2 uxtb r2, r2 8036 0138 3146 mov r1, r6 8037 013a 2046 mov r0, r4 8038 013c FFF7FEFF bl I2C_TransferConfig 8039 .LVL538: 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8040 .loc 1 3793 7 view .LVU2851 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8041 .loc 1 3793 7 view .LVU2852 8042 0140 0023 movs r3, #0 8043 0142 84F84030 strb r3, [r4, #64] 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8044 .loc 1 3793 7 view .LVU2853 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8045 .loc 1 3802 7 view .LVU2854 8046 0146 0121 movs r1, #1 8047 0148 2046 mov r0, r4 8048 014a FFF7FEFF bl I2C_Enable_IRQ 8049 .LVL539: 8050 .L525: 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8051 .loc 1 3805 5 view .LVU2855 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8052 .loc 1 3805 12 is_stmt 0 view .LVU2856 8053 014e 0020 movs r0, #0 8054 0150 00E0 b .L516 8055 .LVL540: 8056 .L526: 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8057 .loc 1 3809 12 view .LVU2857 8058 0152 0220 movs r0, #2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 317 8059 .LVL541: 8060 .L516: 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8061 .loc 1 3811 1 view .LVU2858 8062 0154 02B0 add sp, sp, #8 8063 .cfi_remember_state 8064 .cfi_def_cfa_offset 24 8065 @ sp needed 8066 0156 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 8067 .LVL542: 8068 .L527: 8069 .cfi_restore_state 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8070 .loc 1 3670 5 view .LVU2859 8071 015a 0220 movs r0, #2 8072 015c FAE7 b .L516 8073 .L534: 8074 015e 00BF .align 2 8075 .L533: 8076 0160 00000000 .word I2C_Master_ISR_DMA 8077 0164 00000000 .word I2C_DMAMasterReceiveCplt 8078 0168 00000000 .word I2C_DMAError 8079 016c 00000000 .word I2C_Master_ISR_IT 8080 0170 00240080 .word -2147474432 8081 .cfi_endproc 8082 .LFE156: 8084 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits 8085 .align 1 8086 .global HAL_I2C_Slave_Seq_Transmit_IT 8087 .syntax unified 8088 .thumb 8089 .thumb_func 8091 HAL_I2C_Slave_Seq_Transmit_IT: 8092 .LVL543: 8093 .LFB157: 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8094 .loc 1 3825 1 is_stmt 1 view -0 8095 .cfi_startproc 8096 @ args = 0, pretend = 0, frame = 0 8097 @ frame_needed = 0, uses_anonymous_args = 0 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8098 .loc 1 3825 1 is_stmt 0 view .LVU2861 8099 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 8100 .cfi_def_cfa_offset 24 8101 .cfi_offset 3, -24 8102 .cfi_offset 4, -20 8103 .cfi_offset 5, -16 8104 .cfi_offset 6, -12 8105 .cfi_offset 7, -8 8106 .cfi_offset 14, -4 8107 0002 0446 mov r4, r0 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8108 .loc 1 3827 3 is_stmt 1 view .LVU2862 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8109 .loc 1 3830 3 view .LVU2863 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8110 .loc 1 3832 3 view .LVU2864 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 318 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8111 .loc 1 3832 22 is_stmt 0 view .LVU2865 8112 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 8113 .LVL544: 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8114 .loc 1 3832 6 view .LVU2866 8115 0008 00F02800 and r0, r0, #40 8116 000c 2828 cmp r0, #40 8117 000e 5ED1 bne .L541 8118 0010 0F46 mov r7, r1 8119 0012 1646 mov r6, r2 8120 0014 1D46 mov r5, r3 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8121 .loc 1 3834 5 is_stmt 1 view .LVU2867 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8122 .loc 1 3834 8 is_stmt 0 view .LVU2868 8123 0016 01B1 cbz r1, .L537 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8124 .loc 1 3834 25 discriminator 1 view .LVU2869 8125 0018 22B9 cbnz r2, .L538 8126 .L537: 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8127 .loc 1 3836 7 is_stmt 1 view .LVU2870 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8128 .loc 1 3836 23 is_stmt 0 view .LVU2871 8129 001a 4FF40073 mov r3, #512 8130 .LVL545: 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8131 .loc 1 3836 23 view .LVU2872 8132 001e 6364 str r3, [r4, #68] 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8133 .loc 1 3837 7 is_stmt 1 view .LVU2873 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8134 .loc 1 3837 15 is_stmt 0 view .LVU2874 8135 0020 0120 movs r0, #1 8136 0022 55E0 b .L536 8137 .LVL546: 8138 .L538: 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8139 .loc 1 3841 5 is_stmt 1 view .LVU2875 8140 0024 48F20101 movw r1, #32769 8141 .LVL547: 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8142 .loc 1 3841 5 is_stmt 0 view .LVU2876 8143 0028 2046 mov r0, r4 8144 002a FFF7FEFF bl I2C_Disable_IRQ 8145 .LVL548: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8146 .loc 1 3844 5 is_stmt 1 view .LVU2877 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8147 .loc 1 3844 5 view .LVU2878 8148 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 8149 0032 012B cmp r3, #1 8150 0034 4DD0 beq .L542 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8151 .loc 1 3844 5 discriminator 2 view .LVU2879 8152 0036 0123 movs r3, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 319 8153 0038 84F84030 strb r3, [r4, #64] 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8154 .loc 1 3844 5 discriminator 2 view .LVU2880 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8155 .loc 1 3848 5 discriminator 2 view .LVU2881 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8156 .loc 1 3848 13 is_stmt 0 discriminator 2 view .LVU2882 8157 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 8158 0040 DBB2 uxtb r3, r3 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8159 .loc 1 3848 8 discriminator 2 view .LVU2883 8160 0042 2A2B cmp r3, #42 8161 0044 28D0 beq .L544 8162 .L539: 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8163 .loc 1 3874 5 is_stmt 1 view .LVU2884 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8164 .loc 1 3874 21 is_stmt 0 view .LVU2885 8165 0046 2923 movs r3, #41 8166 0048 84F84130 strb r3, [r4, #65] 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8167 .loc 1 3875 5 is_stmt 1 view .LVU2886 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8168 .loc 1 3875 21 is_stmt 0 view .LVU2887 8169 004c 2023 movs r3, #32 8170 004e 84F84230 strb r3, [r4, #66] 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8171 .loc 1 3876 5 is_stmt 1 view .LVU2888 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8172 .loc 1 3876 21 is_stmt 0 view .LVU2889 8173 0052 0023 movs r3, #0 8174 0054 6364 str r3, [r4, #68] 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8175 .loc 1 3879 5 is_stmt 1 view .LVU2890 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8176 .loc 1 3879 9 is_stmt 0 view .LVU2891 8177 0056 2268 ldr r2, [r4] 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8178 .loc 1 3879 19 view .LVU2892 8179 0058 5368 ldr r3, [r2, #4] 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8180 .loc 1 3879 25 view .LVU2893 8181 005a 23F40043 bic r3, r3, #32768 8182 005e 5360 str r3, [r2, #4] 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8183 .loc 1 3882 5 is_stmt 1 view .LVU2894 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8184 .loc 1 3882 23 is_stmt 0 view .LVU2895 8185 0060 6762 str r7, [r4, #36] 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8186 .loc 1 3883 5 is_stmt 1 view .LVU2896 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8187 .loc 1 3883 23 is_stmt 0 view .LVU2897 8188 0062 6685 strh r6, [r4, #42] @ movhi 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8189 .loc 1 3884 5 is_stmt 1 view .LVU2898 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 320 8190 .loc 1 3884 29 is_stmt 0 view .LVU2899 8191 0064 638D ldrh r3, [r4, #42] 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8192 .loc 1 3884 23 view .LVU2900 8193 0066 2385 strh r3, [r4, #40] @ movhi 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 8194 .loc 1 3885 5 is_stmt 1 view .LVU2901 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 8195 .loc 1 3885 23 is_stmt 0 view .LVU2902 8196 0068 E562 str r5, [r4, #44] 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8197 .loc 1 3886 5 is_stmt 1 view .LVU2903 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8198 .loc 1 3886 23 is_stmt 0 view .LVU2904 8199 006a 1B4B ldr r3, .L545 8200 006c 6363 str r3, [r4, #52] 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 8201 .loc 1 3888 5 is_stmt 1 view .LVU2905 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 8202 .loc 1 3888 11 is_stmt 0 view .LVU2906 8203 006e 2268 ldr r2, [r4] 8204 0070 9369 ldr r3, [r2, #24] 8205 0072 03F00803 and r3, r3, #8 8206 .LVL549: 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8207 .loc 1 3889 5 is_stmt 1 view .LVU2907 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8208 .loc 1 3889 10 is_stmt 0 view .LVU2908 8209 0076 9169 ldr r1, [r2, #24] 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8210 .loc 1 3889 8 view .LVU2909 8211 0078 11F4803F tst r1, #65536 8212 007c 02D0 beq .L540 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8213 .loc 1 3889 54 discriminator 1 view .LVU2910 8214 007e 0BB1 cbz r3, .L540 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8215 .loc 1 3893 7 is_stmt 1 view .LVU2911 8216 0080 0823 movs r3, #8 8217 .LVL550: 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8218 .loc 1 3893 7 is_stmt 0 view .LVU2912 8219 0082 D361 str r3, [r2, #28] 8220 .L540: 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8221 .loc 1 3897 5 is_stmt 1 view .LVU2913 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8222 .loc 1 3897 5 view .LVU2914 8223 0084 0025 movs r5, #0 8224 .LVL551: 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8225 .loc 1 3897 5 is_stmt 0 view .LVU2915 8226 0086 84F84050 strb r5, [r4, #64] 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8227 .loc 1 3897 5 is_stmt 1 view .LVU2916 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8228 .loc 1 3903 5 view .LVU2917 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 321 8229 008a 48F20101 movw r1, #32769 8230 008e 2046 mov r0, r4 8231 0090 FFF7FEFF bl I2C_Enable_IRQ 8232 .LVL552: 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8233 .loc 1 3905 5 view .LVU2918 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8234 .loc 1 3905 12 is_stmt 0 view .LVU2919 8235 0094 2846 mov r0, r5 8236 0096 1BE0 b .L536 8237 .LVL553: 8238 .L544: 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8239 .loc 1 3851 7 is_stmt 1 view .LVU2920 8240 0098 0221 movs r1, #2 8241 009a 2046 mov r0, r4 8242 009c FFF7FEFF bl I2C_Disable_IRQ 8243 .LVL554: 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8244 .loc 1 3854 7 view .LVU2921 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8245 .loc 1 3854 16 is_stmt 0 view .LVU2922 8246 00a0 2368 ldr r3, [r4] 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8247 .loc 1 3854 26 view .LVU2923 8248 00a2 1A68 ldr r2, [r3] 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8249 .loc 1 3854 10 view .LVU2924 8250 00a4 12F4004F tst r2, #32768 8251 00a8 CDD0 beq .L539 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8252 .loc 1 3856 9 is_stmt 1 view .LVU2925 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8253 .loc 1 3856 23 is_stmt 0 view .LVU2926 8254 00aa 1A68 ldr r2, [r3] 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8255 .loc 1 3856 29 view .LVU2927 8256 00ac 22F40042 bic r2, r2, #32768 8257 00b0 1A60 str r2, [r3] 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8258 .loc 1 3858 9 is_stmt 1 view .LVU2928 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8259 .loc 1 3858 17 is_stmt 0 view .LVU2929 8260 00b2 E36B ldr r3, [r4, #60] 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8261 .loc 1 3858 12 view .LVU2930 8262 00b4 002B cmp r3, #0 8263 00b6 C6D0 beq .L539 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8264 .loc 1 3862 11 is_stmt 1 view .LVU2931 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8265 .loc 1 3862 43 is_stmt 0 view .LVU2932 8266 00b8 084A ldr r2, .L545+4 8267 00ba 5A63 str r2, [r3, #52] 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8268 .loc 1 3865 11 is_stmt 1 view .LVU2933 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 322 8269 .loc 1 3865 15 is_stmt 0 view .LVU2934 8270 00bc E06B ldr r0, [r4, #60] 8271 00be FFF7FEFF bl HAL_DMA_Abort_IT 8272 .LVL555: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8273 .loc 1 3865 14 view .LVU2935 8274 00c2 0028 cmp r0, #0 8275 00c4 BFD0 beq .L539 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8276 .loc 1 3868 13 is_stmt 1 view .LVU2936 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8277 .loc 1 3868 17 is_stmt 0 view .LVU2937 8278 00c6 E06B ldr r0, [r4, #60] 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8279 .loc 1 3868 25 view .LVU2938 8280 00c8 436B ldr r3, [r0, #52] 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8281 .loc 1 3868 13 view .LVU2939 8282 00ca 9847 blx r3 8283 .LVL556: 8284 00cc BBE7 b .L539 8285 .LVL557: 8286 .L541: 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8287 .loc 1 3909 12 view .LVU2940 8288 00ce 0120 movs r0, #1 8289 .LVL558: 8290 .L536: 3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8291 .loc 1 3911 1 view .LVU2941 8292 00d0 F8BD pop {r3, r4, r5, r6, r7, pc} 8293 .LVL559: 8294 .L542: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8295 .loc 1 3844 5 view .LVU2942 8296 00d2 0220 movs r0, #2 8297 00d4 FCE7 b .L536 8298 .L546: 8299 00d6 00BF .align 2 8300 .L545: 8301 00d8 00000000 .word I2C_Slave_ISR_IT 8302 00dc 00000000 .word I2C_DMAAbort 8303 .cfi_endproc 8304 .LFE157: 8306 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits 8307 .align 1 8308 .global HAL_I2C_Slave_Seq_Transmit_DMA 8309 .syntax unified 8310 .thumb 8311 .thumb_func 8313 HAL_I2C_Slave_Seq_Transmit_DMA: 8314 .LVL560: 8315 .LFB158: 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8316 .loc 1 3925 1 is_stmt 1 view -0 8317 .cfi_startproc 8318 @ args = 0, pretend = 0, frame = 0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 323 8319 @ frame_needed = 0, uses_anonymous_args = 0 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8320 .loc 1 3925 1 is_stmt 0 view .LVU2944 8321 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 8322 .cfi_def_cfa_offset 24 8323 .cfi_offset 3, -24 8324 .cfi_offset 4, -20 8325 .cfi_offset 5, -16 8326 .cfi_offset 6, -12 8327 .cfi_offset 7, -8 8328 .cfi_offset 14, -4 8329 0002 0446 mov r4, r0 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 8330 .loc 1 3927 3 is_stmt 1 view .LVU2945 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8331 .loc 1 3928 3 view .LVU2946 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8332 .loc 1 3931 3 view .LVU2947 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8333 .loc 1 3933 3 view .LVU2948 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8334 .loc 1 3933 22 is_stmt 0 view .LVU2949 8335 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 8336 .LVL561: 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8337 .loc 1 3933 6 view .LVU2950 8338 0008 00F02800 and r0, r0, #40 8339 000c 2828 cmp r0, #40 8340 000e 40F0C080 bne .L558 8341 0012 0F46 mov r7, r1 8342 0014 1646 mov r6, r2 8343 0016 1D46 mov r5, r3 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8344 .loc 1 3935 5 is_stmt 1 view .LVU2951 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8345 .loc 1 3935 8 is_stmt 0 view .LVU2952 8346 0018 0029 cmp r1, #0 8347 001a 51D0 beq .L549 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8348 .loc 1 3935 25 discriminator 1 view .LVU2953 8349 001c 002A cmp r2, #0 8350 001e 4FD0 beq .L549 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8351 .loc 1 3942 5 is_stmt 1 view .LVU2954 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8352 .loc 1 3942 5 view .LVU2955 8353 0020 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 8354 .LVL562: 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8355 .loc 1 3942 5 is_stmt 0 view .LVU2956 8356 0024 012B cmp r3, #1 8357 0026 00F0B780 beq .L559 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8358 .loc 1 3942 5 is_stmt 1 discriminator 2 view .LVU2957 8359 002a 0123 movs r3, #1 8360 002c 84F84030 strb r3, [r4, #64] 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 324 8361 .loc 1 3942 5 discriminator 2 view .LVU2958 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8362 .loc 1 3945 5 discriminator 2 view .LVU2959 8363 0030 48F20101 movw r1, #32769 8364 .LVL563: 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8365 .loc 1 3945 5 is_stmt 0 discriminator 2 view .LVU2960 8366 0034 2046 mov r0, r4 8367 0036 FFF7FEFF bl I2C_Disable_IRQ 8368 .LVL564: 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8369 .loc 1 3949 5 is_stmt 1 discriminator 2 view .LVU2961 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8370 .loc 1 3949 13 is_stmt 0 discriminator 2 view .LVU2962 8371 003a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 8372 003e DBB2 uxtb r3, r3 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8373 .loc 1 3949 8 discriminator 2 view .LVU2963 8374 0040 2A2B cmp r3, #42 8375 0042 42D0 beq .L562 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8376 .loc 1 3974 10 is_stmt 1 view .LVU2964 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8377 .loc 1 3974 18 is_stmt 0 view .LVU2965 8378 0044 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 8379 0048 DBB2 uxtb r3, r3 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8380 .loc 1 3974 13 view .LVU2966 8381 004a 292B cmp r3, #41 8382 004c 59D0 beq .L563 8383 .L552: 3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8384 .loc 1 3999 5 is_stmt 1 view .LVU2967 4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8385 .loc 1 4001 5 view .LVU2968 4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8386 .loc 1 4001 21 is_stmt 0 view .LVU2969 8387 004e 2923 movs r3, #41 8388 0050 84F84130 strb r3, [r4, #65] 4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8389 .loc 1 4002 5 is_stmt 1 view .LVU2970 4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8390 .loc 1 4002 21 is_stmt 0 view .LVU2971 8391 0054 2023 movs r3, #32 8392 0056 84F84230 strb r3, [r4, #66] 4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8393 .loc 1 4003 5 is_stmt 1 view .LVU2972 4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8394 .loc 1 4003 21 is_stmt 0 view .LVU2973 8395 005a 0023 movs r3, #0 8396 005c 6364 str r3, [r4, #68] 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8397 .loc 1 4006 5 is_stmt 1 view .LVU2974 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8398 .loc 1 4006 9 is_stmt 0 view .LVU2975 8399 005e 2268 ldr r2, [r4] 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 325 8400 .loc 1 4006 19 view .LVU2976 8401 0060 5368 ldr r3, [r2, #4] 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8402 .loc 1 4006 25 view .LVU2977 8403 0062 23F40043 bic r3, r3, #32768 8404 0066 5360 str r3, [r2, #4] 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8405 .loc 1 4009 5 is_stmt 1 view .LVU2978 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8406 .loc 1 4009 23 is_stmt 0 view .LVU2979 8407 0068 6762 str r7, [r4, #36] 4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8408 .loc 1 4010 5 is_stmt 1 view .LVU2980 4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8409 .loc 1 4010 23 is_stmt 0 view .LVU2981 8410 006a 6685 strh r6, [r4, #42] @ movhi 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8411 .loc 1 4011 5 is_stmt 1 view .LVU2982 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8412 .loc 1 4011 29 is_stmt 0 view .LVU2983 8413 006c 638D ldrh r3, [r4, #42] 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8414 .loc 1 4011 23 view .LVU2984 8415 006e 2385 strh r3, [r4, #40] @ movhi 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 8416 .loc 1 4012 5 is_stmt 1 view .LVU2985 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 8417 .loc 1 4012 23 is_stmt 0 view .LVU2986 8418 0070 E562 str r5, [r4, #44] 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8419 .loc 1 4013 5 is_stmt 1 view .LVU2987 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8420 .loc 1 4013 23 is_stmt 0 view .LVU2988 8421 0072 4A4B ldr r3, .L564 8422 0074 6363 str r3, [r4, #52] 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8423 .loc 1 4015 5 is_stmt 1 view .LVU2989 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8424 .loc 1 4015 13 is_stmt 0 view .LVU2990 8425 0076 A36B ldr r3, [r4, #56] 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8426 .loc 1 4015 8 view .LVU2991 8427 0078 002B cmp r3, #0 8428 007a 59D0 beq .L553 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8429 .loc 1 4018 7 is_stmt 1 view .LVU2992 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8430 .loc 1 4018 38 is_stmt 0 view .LVU2993 8431 007c 484A ldr r2, .L564+4 8432 007e 9A62 str r2, [r3, #40] 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8433 .loc 1 4021 7 is_stmt 1 view .LVU2994 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8434 .loc 1 4021 11 is_stmt 0 view .LVU2995 8435 0080 A36B ldr r3, [r4, #56] 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8436 .loc 1 4021 39 view .LVU2996 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 326 8437 0082 484A ldr r2, .L564+8 8438 0084 1A63 str r2, [r3, #48] 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8439 .loc 1 4024 7 is_stmt 1 view .LVU2997 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8440 .loc 1 4024 11 is_stmt 0 view .LVU2998 8441 0086 A26B ldr r2, [r4, #56] 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8442 .loc 1 4024 42 view .LVU2999 8443 0088 0023 movs r3, #0 8444 008a D362 str r3, [r2, #44] 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8445 .loc 1 4025 7 is_stmt 1 view .LVU3000 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8446 .loc 1 4025 11 is_stmt 0 view .LVU3001 8447 008c A26B ldr r2, [r4, #56] 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8448 .loc 1 4025 39 view .LVU3002 8449 008e 5363 str r3, [r2, #52] 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 8450 .loc 1 4028 7 is_stmt 1 view .LVU3003 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 8451 .loc 1 4028 86 is_stmt 0 view .LVU3004 8452 0090 2268 ldr r2, [r4] 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 8453 .loc 1 4028 23 view .LVU3005 8454 0092 238D ldrh r3, [r4, #40] 8455 0094 2832 adds r2, r2, #40 8456 0096 3946 mov r1, r7 8457 0098 A06B ldr r0, [r4, #56] 8458 009a FFF7FEFF bl HAL_DMA_Start_IT 8459 .LVL565: 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8460 .loc 1 4046 5 is_stmt 1 view .LVU3006 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8461 .loc 1 4046 8 is_stmt 0 view .LVU3007 8462 009e 0546 mov r5, r0 8463 .LVL566: 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8464 .loc 1 4046 8 view .LVU3008 8465 00a0 0028 cmp r0, #0 8466 00a2 53D0 beq .L554 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 8467 .loc 1 4057 7 is_stmt 1 view .LVU3009 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 8468 .loc 1 4057 23 is_stmt 0 view .LVU3010 8469 00a4 2823 movs r3, #40 8470 00a6 84F84130 strb r3, [r4, #65] 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8471 .loc 1 4058 7 is_stmt 1 view .LVU3011 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8472 .loc 1 4058 23 is_stmt 0 view .LVU3012 8473 00aa 0022 movs r2, #0 8474 00ac 84F84220 strb r2, [r4, #66] 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8475 .loc 1 4061 7 is_stmt 1 view .LVU3013 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 327 8476 .loc 1 4061 11 is_stmt 0 view .LVU3014 8477 00b0 636C ldr r3, [r4, #68] 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8478 .loc 1 4061 23 view .LVU3015 8479 00b2 43F01003 orr r3, r3, #16 8480 00b6 6364 str r3, [r4, #68] 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8481 .loc 1 4064 7 is_stmt 1 view .LVU3016 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8482 .loc 1 4064 7 view .LVU3017 8483 00b8 84F84020 strb r2, [r4, #64] 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8484 .loc 1 4064 7 view .LVU3018 4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8485 .loc 1 4066 7 view .LVU3019 4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8486 .loc 1 4066 14 is_stmt 0 view .LVU3020 8487 00bc 0125 movs r5, #1 8488 00be 69E0 b .L548 8489 .LVL567: 8490 .L549: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8491 .loc 1 3937 7 is_stmt 1 view .LVU3021 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8492 .loc 1 3937 23 is_stmt 0 view .LVU3022 8493 00c0 4FF40073 mov r3, #512 8494 .LVL568: 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8495 .loc 1 3937 23 view .LVU3023 8496 00c4 6364 str r3, [r4, #68] 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8497 .loc 1 3938 7 is_stmt 1 view .LVU3024 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8498 .loc 1 3938 15 is_stmt 0 view .LVU3025 8499 00c6 0125 movs r5, #1 8500 .LVL569: 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8501 .loc 1 3938 15 view .LVU3026 8502 00c8 64E0 b .L548 8503 .LVL570: 8504 .L562: 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8505 .loc 1 3952 7 is_stmt 1 view .LVU3027 8506 00ca 0221 movs r1, #2 8507 00cc 2046 mov r0, r4 8508 00ce FFF7FEFF bl I2C_Disable_IRQ 8509 .LVL571: 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8510 .loc 1 3954 7 view .LVU3028 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8511 .loc 1 3954 16 is_stmt 0 view .LVU3029 8512 00d2 2368 ldr r3, [r4] 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8513 .loc 1 3954 26 view .LVU3030 8514 00d4 1A68 ldr r2, [r3] 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8515 .loc 1 3954 10 view .LVU3031 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 328 8516 00d6 12F4004F tst r2, #32768 8517 00da B8D0 beq .L552 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8518 .loc 1 3957 9 is_stmt 1 view .LVU3032 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8519 .loc 1 3957 17 is_stmt 0 view .LVU3033 8520 00dc E26B ldr r2, [r4, #60] 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8521 .loc 1 3957 12 view .LVU3034 8522 00de 002A cmp r2, #0 8523 00e0 B5D0 beq .L552 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8524 .loc 1 3959 11 is_stmt 1 view .LVU3035 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8525 .loc 1 3959 25 is_stmt 0 view .LVU3036 8526 00e2 1A68 ldr r2, [r3] 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8527 .loc 1 3959 31 view .LVU3037 8528 00e4 22F40042 bic r2, r2, #32768 8529 00e8 1A60 str r2, [r3] 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8530 .loc 1 3963 11 is_stmt 1 view .LVU3038 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8531 .loc 1 3963 15 is_stmt 0 view .LVU3039 8532 00ea E36B ldr r3, [r4, #60] 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8533 .loc 1 3963 43 view .LVU3040 8534 00ec 2E4A ldr r2, .L564+12 8535 00ee 5A63 str r2, [r3, #52] 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8536 .loc 1 3966 11 is_stmt 1 view .LVU3041 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8537 .loc 1 3966 15 is_stmt 0 view .LVU3042 8538 00f0 E06B ldr r0, [r4, #60] 8539 00f2 FFF7FEFF bl HAL_DMA_Abort_IT 8540 .LVL572: 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8541 .loc 1 3966 14 view .LVU3043 8542 00f6 0028 cmp r0, #0 8543 00f8 A9D0 beq .L552 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8544 .loc 1 3969 13 is_stmt 1 view .LVU3044 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8545 .loc 1 3969 17 is_stmt 0 view .LVU3045 8546 00fa E06B ldr r0, [r4, #60] 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8547 .loc 1 3969 25 view .LVU3046 8548 00fc 436B ldr r3, [r0, #52] 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8549 .loc 1 3969 13 view .LVU3047 8550 00fe 9847 blx r3 8551 .LVL573: 8552 0100 A5E7 b .L552 8553 .L563: 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8554 .loc 1 3976 7 is_stmt 1 view .LVU3048 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 329 8555 .loc 1 3976 16 is_stmt 0 view .LVU3049 8556 0102 2368 ldr r3, [r4] 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8557 .loc 1 3976 26 view .LVU3050 8558 0104 1A68 ldr r2, [r3] 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8559 .loc 1 3976 10 view .LVU3051 8560 0106 12F4804F tst r2, #16384 8561 010a A0D0 beq .L552 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8562 .loc 1 3978 9 is_stmt 1 view .LVU3052 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8563 .loc 1 3978 23 is_stmt 0 view .LVU3053 8564 010c 1A68 ldr r2, [r3] 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8565 .loc 1 3978 29 view .LVU3054 8566 010e 22F48042 bic r2, r2, #16384 8567 0112 1A60 str r2, [r3] 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8568 .loc 1 3981 9 is_stmt 1 view .LVU3055 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8569 .loc 1 3981 17 is_stmt 0 view .LVU3056 8570 0114 A36B ldr r3, [r4, #56] 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8571 .loc 1 3981 12 view .LVU3057 8572 0116 002B cmp r3, #0 8573 0118 99D0 beq .L552 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8574 .loc 1 3985 11 is_stmt 1 view .LVU3058 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8575 .loc 1 3985 43 is_stmt 0 view .LVU3059 8576 011a 234A ldr r2, .L564+12 8577 011c 5A63 str r2, [r3, #52] 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8578 .loc 1 3988 11 is_stmt 1 view .LVU3060 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8579 .loc 1 3988 15 is_stmt 0 view .LVU3061 8580 011e A06B ldr r0, [r4, #56] 8581 0120 FFF7FEFF bl HAL_DMA_Abort_IT 8582 .LVL574: 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8583 .loc 1 3988 14 view .LVU3062 8584 0124 0028 cmp r0, #0 8585 0126 92D0 beq .L552 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8586 .loc 1 3991 13 is_stmt 1 view .LVU3063 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8587 .loc 1 3991 17 is_stmt 0 view .LVU3064 8588 0128 A06B ldr r0, [r4, #56] 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8589 .loc 1 3991 25 view .LVU3065 8590 012a 436B ldr r3, [r0, #52] 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8591 .loc 1 3991 13 view .LVU3066 8592 012c 9847 blx r3 8593 .LVL575: 8594 012e 8EE7 b .L552 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 330 8595 .L553: 4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 8596 .loc 1 4034 7 is_stmt 1 view .LVU3067 4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 8597 .loc 1 4034 23 is_stmt 0 view .LVU3068 8598 0130 2823 movs r3, #40 8599 0132 84F84130 strb r3, [r4, #65] 4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8600 .loc 1 4035 7 is_stmt 1 view .LVU3069 4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8601 .loc 1 4035 23 is_stmt 0 view .LVU3070 8602 0136 0022 movs r2, #0 8603 0138 84F84220 strb r2, [r4, #66] 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8604 .loc 1 4038 7 is_stmt 1 view .LVU3071 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8605 .loc 1 4038 11 is_stmt 0 view .LVU3072 8606 013c 636C ldr r3, [r4, #68] 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8607 .loc 1 4038 23 view .LVU3073 8608 013e 43F08003 orr r3, r3, #128 8609 0142 6364 str r3, [r4, #68] 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8610 .loc 1 4041 7 is_stmt 1 view .LVU3074 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8611 .loc 1 4041 7 view .LVU3075 8612 0144 84F84020 strb r2, [r4, #64] 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8613 .loc 1 4041 7 view .LVU3076 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8614 .loc 1 4043 7 view .LVU3077 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8615 .loc 1 4043 14 is_stmt 0 view .LVU3078 8616 0148 0125 movs r5, #1 8617 .LVL576: 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8618 .loc 1 4043 14 view .LVU3079 8619 014a 23E0 b .L548 8620 .LVL577: 8621 .L554: 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8622 .loc 1 4049 7 is_stmt 1 view .LVU3080 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8623 .loc 1 4049 11 is_stmt 0 view .LVU3081 8624 014c 638D ldrh r3, [r4, #42] 8625 014e 9BB2 uxth r3, r3 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8626 .loc 1 4049 30 view .LVU3082 8627 0150 228D ldrh r2, [r4, #40] 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8628 .loc 1 4049 23 view .LVU3083 8629 0152 9B1A subs r3, r3, r2 8630 0154 9BB2 uxth r3, r3 8631 0156 6385 strh r3, [r4, #42] @ movhi 4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8632 .loc 1 4052 7 is_stmt 1 view .LVU3084 4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 331 8633 .loc 1 4052 22 is_stmt 0 view .LVU3085 8634 0158 0023 movs r3, #0 8635 015a 2385 strh r3, [r4, #40] @ movhi 4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 8636 .loc 1 4069 5 is_stmt 1 view .LVU3086 4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 8637 .loc 1 4069 11 is_stmt 0 view .LVU3087 8638 015c 2268 ldr r2, [r4] 8639 015e 9369 ldr r3, [r2, #24] 8640 0160 03F00803 and r3, r3, #8 8641 .LVL578: 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8642 .loc 1 4070 5 is_stmt 1 view .LVU3088 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8643 .loc 1 4070 10 is_stmt 0 view .LVU3089 8644 0164 9169 ldr r1, [r2, #24] 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8645 .loc 1 4070 8 view .LVU3090 8646 0166 11F4803F tst r1, #65536 8647 016a 0DD1 bne .L556 8648 .LVL579: 8649 .L557: 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8650 .loc 1 4078 5 is_stmt 1 view .LVU3091 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8651 .loc 1 4078 5 view .LVU3092 8652 016c 0023 movs r3, #0 8653 016e 84F84030 strb r3, [r4, #64] 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8654 .loc 1 4078 5 view .LVU3093 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8655 .loc 1 4081 5 view .LVU3094 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8656 .loc 1 4081 9 is_stmt 0 view .LVU3095 8657 0172 2268 ldr r2, [r4] 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8658 .loc 1 4081 19 view .LVU3096 8659 0174 1368 ldr r3, [r2] 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8660 .loc 1 4081 25 view .LVU3097 8661 0176 43F48043 orr r3, r3, #16384 8662 017a 1360 str r3, [r2] 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8663 .loc 1 4087 5 is_stmt 1 view .LVU3098 8664 017c 4FF40041 mov r1, #32768 8665 0180 2046 mov r0, r4 8666 .LVL580: 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8667 .loc 1 4087 5 is_stmt 0 view .LVU3099 8668 0182 FFF7FEFF bl I2C_Enable_IRQ 8669 .LVL581: 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8670 .loc 1 4089 5 is_stmt 1 view .LVU3100 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8671 .loc 1 4089 12 is_stmt 0 view .LVU3101 8672 0186 05E0 b .L548 8673 .LVL582: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 332 8674 .L556: 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8675 .loc 1 4070 54 discriminator 1 view .LVU3102 8676 0188 002B cmp r3, #0 8677 018a EFD0 beq .L557 4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8678 .loc 1 4074 7 is_stmt 1 view .LVU3103 8679 018c 0823 movs r3, #8 8680 .LVL583: 4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8681 .loc 1 4074 7 is_stmt 0 view .LVU3104 8682 018e D361 str r3, [r2, #28] 8683 0190 ECE7 b .L557 8684 .LVL584: 8685 .L558: 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8686 .loc 1 4093 12 view .LVU3105 8687 0192 0125 movs r5, #1 8688 .LVL585: 8689 .L548: 4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8690 .loc 1 4095 1 view .LVU3106 8691 0194 2846 mov r0, r5 8692 0196 F8BD pop {r3, r4, r5, r6, r7, pc} 8693 .LVL586: 8694 .L559: 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8695 .loc 1 3942 5 view .LVU3107 8696 0198 0225 movs r5, #2 8697 .LVL587: 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8698 .loc 1 3942 5 view .LVU3108 8699 019a FBE7 b .L548 8700 .L565: 8701 .align 2 8702 .L564: 8703 019c 00000000 .word I2C_Slave_ISR_DMA 8704 01a0 00000000 .word I2C_DMASlaveTransmitCplt 8705 01a4 00000000 .word I2C_DMAError 8706 01a8 00000000 .word I2C_DMAAbort 8707 .cfi_endproc 8708 .LFE158: 8710 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits 8711 .align 1 8712 .global HAL_I2C_Slave_Seq_Receive_IT 8713 .syntax unified 8714 .thumb 8715 .thumb_func 8717 HAL_I2C_Slave_Seq_Receive_IT: 8718 .LVL588: 8719 .LFB159: 4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8720 .loc 1 4109 1 is_stmt 1 view -0 8721 .cfi_startproc 8722 @ args = 0, pretend = 0, frame = 0 8723 @ frame_needed = 0, uses_anonymous_args = 0 4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 333 8724 .loc 1 4109 1 is_stmt 0 view .LVU3110 8725 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 8726 .cfi_def_cfa_offset 24 8727 .cfi_offset 3, -24 8728 .cfi_offset 4, -20 8729 .cfi_offset 5, -16 8730 .cfi_offset 6, -12 8731 .cfi_offset 7, -8 8732 .cfi_offset 14, -4 8733 0002 0446 mov r4, r0 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8734 .loc 1 4111 3 is_stmt 1 view .LVU3111 4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8735 .loc 1 4114 3 view .LVU3112 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8736 .loc 1 4116 3 view .LVU3113 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8737 .loc 1 4116 22 is_stmt 0 view .LVU3114 8738 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 8739 .LVL589: 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8740 .loc 1 4116 6 view .LVU3115 8741 0008 00F02800 and r0, r0, #40 8742 000c 2828 cmp r0, #40 8743 000e 5ED1 bne .L572 8744 0010 0F46 mov r7, r1 8745 0012 1646 mov r6, r2 8746 0014 1D46 mov r5, r3 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8747 .loc 1 4118 5 is_stmt 1 view .LVU3116 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8748 .loc 1 4118 8 is_stmt 0 view .LVU3117 8749 0016 01B1 cbz r1, .L568 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8750 .loc 1 4118 25 discriminator 1 view .LVU3118 8751 0018 22B9 cbnz r2, .L569 8752 .L568: 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8753 .loc 1 4120 7 is_stmt 1 view .LVU3119 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8754 .loc 1 4120 23 is_stmt 0 view .LVU3120 8755 001a 4FF40073 mov r3, #512 8756 .LVL590: 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8757 .loc 1 4120 23 view .LVU3121 8758 001e 6364 str r3, [r4, #68] 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8759 .loc 1 4121 7 is_stmt 1 view .LVU3122 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8760 .loc 1 4121 15 is_stmt 0 view .LVU3123 8761 0020 0120 movs r0, #1 8762 0022 55E0 b .L567 8763 .LVL591: 8764 .L569: 4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8765 .loc 1 4125 5 is_stmt 1 view .LVU3124 8766 0024 48F20201 movw r1, #32770 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 334 8767 .LVL592: 4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8768 .loc 1 4125 5 is_stmt 0 view .LVU3125 8769 0028 2046 mov r0, r4 8770 002a FFF7FEFF bl I2C_Disable_IRQ 8771 .LVL593: 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8772 .loc 1 4128 5 is_stmt 1 view .LVU3126 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8773 .loc 1 4128 5 view .LVU3127 8774 002e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 8775 0032 012B cmp r3, #1 8776 0034 4DD0 beq .L573 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8777 .loc 1 4128 5 discriminator 2 view .LVU3128 8778 0036 0123 movs r3, #1 8779 0038 84F84030 strb r3, [r4, #64] 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8780 .loc 1 4128 5 discriminator 2 view .LVU3129 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8781 .loc 1 4132 5 discriminator 2 view .LVU3130 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8782 .loc 1 4132 13 is_stmt 0 discriminator 2 view .LVU3131 8783 003c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 8784 0040 DBB2 uxtb r3, r3 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8785 .loc 1 4132 8 discriminator 2 view .LVU3132 8786 0042 292B cmp r3, #41 8787 0044 28D0 beq .L575 8788 .L570: 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8789 .loc 1 4158 5 is_stmt 1 view .LVU3133 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 8790 .loc 1 4158 21 is_stmt 0 view .LVU3134 8791 0046 2A23 movs r3, #42 8792 0048 84F84130 strb r3, [r4, #65] 4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8793 .loc 1 4159 5 is_stmt 1 view .LVU3135 4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8794 .loc 1 4159 21 is_stmt 0 view .LVU3136 8795 004c 2023 movs r3, #32 8796 004e 84F84230 strb r3, [r4, #66] 4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8797 .loc 1 4160 5 is_stmt 1 view .LVU3137 4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8798 .loc 1 4160 21 is_stmt 0 view .LVU3138 8799 0052 0023 movs r3, #0 8800 0054 6364 str r3, [r4, #68] 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8801 .loc 1 4163 5 is_stmt 1 view .LVU3139 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8802 .loc 1 4163 9 is_stmt 0 view .LVU3140 8803 0056 2268 ldr r2, [r4] 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8804 .loc 1 4163 19 view .LVU3141 8805 0058 5368 ldr r3, [r2, #4] 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 335 8806 .loc 1 4163 25 view .LVU3142 8807 005a 23F40043 bic r3, r3, #32768 8808 005e 5360 str r3, [r2, #4] 4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8809 .loc 1 4166 5 is_stmt 1 view .LVU3143 4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8810 .loc 1 4166 23 is_stmt 0 view .LVU3144 8811 0060 6762 str r7, [r4, #36] 4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8812 .loc 1 4167 5 is_stmt 1 view .LVU3145 4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 8813 .loc 1 4167 23 is_stmt 0 view .LVU3146 8814 0062 6685 strh r6, [r4, #42] @ movhi 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8815 .loc 1 4168 5 is_stmt 1 view .LVU3147 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8816 .loc 1 4168 29 is_stmt 0 view .LVU3148 8817 0064 638D ldrh r3, [r4, #42] 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8818 .loc 1 4168 23 view .LVU3149 8819 0066 2385 strh r3, [r4, #40] @ movhi 4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 8820 .loc 1 4169 5 is_stmt 1 view .LVU3150 4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 8821 .loc 1 4169 23 is_stmt 0 view .LVU3151 8822 0068 E562 str r5, [r4, #44] 4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8823 .loc 1 4170 5 is_stmt 1 view .LVU3152 4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8824 .loc 1 4170 23 is_stmt 0 view .LVU3153 8825 006a 1B4B ldr r3, .L576 8826 006c 6363 str r3, [r4, #52] 4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 8827 .loc 1 4172 5 is_stmt 1 view .LVU3154 4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 8828 .loc 1 4172 11 is_stmt 0 view .LVU3155 8829 006e 2268 ldr r2, [r4] 8830 0070 9369 ldr r3, [r2, #24] 8831 0072 03F00803 and r3, r3, #8 8832 .LVL594: 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8833 .loc 1 4173 5 is_stmt 1 view .LVU3156 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8834 .loc 1 4173 10 is_stmt 0 view .LVU3157 8835 0076 9169 ldr r1, [r2, #24] 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8836 .loc 1 4173 8 view .LVU3158 8837 0078 11F4803F tst r1, #65536 8838 007c 02D1 bne .L571 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8839 .loc 1 4173 55 discriminator 1 view .LVU3159 8840 007e 0BB1 cbz r3, .L571 4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8841 .loc 1 4177 7 is_stmt 1 view .LVU3160 8842 0080 0823 movs r3, #8 8843 .LVL595: 4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 336 8844 .loc 1 4177 7 is_stmt 0 view .LVU3161 8845 0082 D361 str r3, [r2, #28] 8846 .L571: 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8847 .loc 1 4181 5 is_stmt 1 view .LVU3162 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8848 .loc 1 4181 5 view .LVU3163 8849 0084 0025 movs r5, #0 8850 .LVL596: 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8851 .loc 1 4181 5 is_stmt 0 view .LVU3164 8852 0086 84F84050 strb r5, [r4, #64] 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8853 .loc 1 4181 5 is_stmt 1 view .LVU3165 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8854 .loc 1 4187 5 view .LVU3166 8855 008a 48F20201 movw r1, #32770 8856 008e 2046 mov r0, r4 8857 0090 FFF7FEFF bl I2C_Enable_IRQ 8858 .LVL597: 4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8859 .loc 1 4189 5 view .LVU3167 4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8860 .loc 1 4189 12 is_stmt 0 view .LVU3168 8861 0094 2846 mov r0, r5 8862 0096 1BE0 b .L567 8863 .LVL598: 8864 .L575: 4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8865 .loc 1 4135 7 is_stmt 1 view .LVU3169 8866 0098 0121 movs r1, #1 8867 009a 2046 mov r0, r4 8868 009c FFF7FEFF bl I2C_Disable_IRQ 8869 .LVL599: 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8870 .loc 1 4137 7 view .LVU3170 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8871 .loc 1 4137 16 is_stmt 0 view .LVU3171 8872 00a0 2368 ldr r3, [r4] 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8873 .loc 1 4137 26 view .LVU3172 8874 00a2 1A68 ldr r2, [r3] 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8875 .loc 1 4137 10 view .LVU3173 8876 00a4 12F4804F tst r2, #16384 8877 00a8 CDD0 beq .L570 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8878 .loc 1 4139 9 is_stmt 1 view .LVU3174 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8879 .loc 1 4139 23 is_stmt 0 view .LVU3175 8880 00aa 1A68 ldr r2, [r3] 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8881 .loc 1 4139 29 view .LVU3176 8882 00ac 22F48042 bic r2, r2, #16384 8883 00b0 1A60 str r2, [r3] 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8884 .loc 1 4142 9 is_stmt 1 view .LVU3177 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 337 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8885 .loc 1 4142 17 is_stmt 0 view .LVU3178 8886 00b2 A36B ldr r3, [r4, #56] 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8887 .loc 1 4142 12 view .LVU3179 8888 00b4 002B cmp r3, #0 8889 00b6 C6D0 beq .L570 4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8890 .loc 1 4146 11 is_stmt 1 view .LVU3180 4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8891 .loc 1 4146 43 is_stmt 0 view .LVU3181 8892 00b8 084A ldr r2, .L576+4 8893 00ba 5A63 str r2, [r3, #52] 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8894 .loc 1 4149 11 is_stmt 1 view .LVU3182 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8895 .loc 1 4149 15 is_stmt 0 view .LVU3183 8896 00bc A06B ldr r0, [r4, #56] 8897 00be FFF7FEFF bl HAL_DMA_Abort_IT 8898 .LVL600: 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8899 .loc 1 4149 14 view .LVU3184 8900 00c2 0028 cmp r0, #0 8901 00c4 BFD0 beq .L570 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8902 .loc 1 4152 13 is_stmt 1 view .LVU3185 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8903 .loc 1 4152 17 is_stmt 0 view .LVU3186 8904 00c6 A06B ldr r0, [r4, #56] 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8905 .loc 1 4152 25 view .LVU3187 8906 00c8 436B ldr r3, [r0, #52] 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8907 .loc 1 4152 13 view .LVU3188 8908 00ca 9847 blx r3 8909 .LVL601: 8910 00cc BBE7 b .L570 8911 .LVL602: 8912 .L572: 4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8913 .loc 1 4193 12 view .LVU3189 8914 00ce 0120 movs r0, #1 8915 .LVL603: 8916 .L567: 4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8917 .loc 1 4195 1 view .LVU3190 8918 00d0 F8BD pop {r3, r4, r5, r6, r7, pc} 8919 .LVL604: 8920 .L573: 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8921 .loc 1 4128 5 view .LVU3191 8922 00d2 0220 movs r0, #2 8923 00d4 FCE7 b .L567 8924 .L577: 8925 00d6 00BF .align 2 8926 .L576: 8927 00d8 00000000 .word I2C_Slave_ISR_IT ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 338 8928 00dc 00000000 .word I2C_DMAAbort 8929 .cfi_endproc 8930 .LFE159: 8932 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits 8933 .align 1 8934 .global HAL_I2C_Slave_Seq_Receive_DMA 8935 .syntax unified 8936 .thumb 8937 .thumb_func 8939 HAL_I2C_Slave_Seq_Receive_DMA: 8940 .LVL605: 8941 .LFB160: 4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8942 .loc 1 4209 1 is_stmt 1 view -0 8943 .cfi_startproc 8944 @ args = 0, pretend = 0, frame = 0 8945 @ frame_needed = 0, uses_anonymous_args = 0 4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 8946 .loc 1 4209 1 is_stmt 0 view .LVU3193 8947 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 8948 .cfi_def_cfa_offset 24 8949 .cfi_offset 3, -24 8950 .cfi_offset 4, -20 8951 .cfi_offset 5, -16 8952 .cfi_offset 6, -12 8953 .cfi_offset 7, -8 8954 .cfi_offset 14, -4 8955 0002 0446 mov r4, r0 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 8956 .loc 1 4211 3 is_stmt 1 view .LVU3194 4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8957 .loc 1 4212 3 view .LVU3195 4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8958 .loc 1 4215 3 view .LVU3196 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8959 .loc 1 4217 3 view .LVU3197 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8960 .loc 1 4217 22 is_stmt 0 view .LVU3198 8961 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 8962 .LVL606: 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8963 .loc 1 4217 6 view .LVU3199 8964 0008 00F02800 and r0, r0, #40 8965 000c 2828 cmp r0, #40 8966 000e 40F0BE80 bne .L589 8967 0012 0F46 mov r7, r1 8968 0014 1646 mov r6, r2 8969 0016 1D46 mov r5, r3 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8970 .loc 1 4219 5 is_stmt 1 view .LVU3200 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8971 .loc 1 4219 8 is_stmt 0 view .LVU3201 8972 0018 01B1 cbz r1, .L580 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8973 .loc 1 4219 25 discriminator 1 view .LVU3202 8974 001a 22B9 cbnz r2, .L581 8975 .L580: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 339 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8976 .loc 1 4221 7 is_stmt 1 view .LVU3203 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8977 .loc 1 4221 23 is_stmt 0 view .LVU3204 8978 001c 4FF40073 mov r3, #512 8979 .LVL607: 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 8980 .loc 1 4221 23 view .LVU3205 8981 0020 6364 str r3, [r4, #68] 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8982 .loc 1 4222 7 is_stmt 1 view .LVU3206 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8983 .loc 1 4222 15 is_stmt 0 view .LVU3207 8984 0022 0125 movs r5, #1 8985 .LVL608: 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8986 .loc 1 4222 15 view .LVU3208 8987 0024 B4E0 b .L579 8988 .LVL609: 8989 .L581: 4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8990 .loc 1 4226 5 is_stmt 1 view .LVU3209 8991 0026 48F20201 movw r1, #32770 8992 .LVL610: 4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8993 .loc 1 4226 5 is_stmt 0 view .LVU3210 8994 002a 2046 mov r0, r4 8995 002c FFF7FEFF bl I2C_Disable_IRQ 8996 .LVL611: 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8997 .loc 1 4229 5 is_stmt 1 view .LVU3211 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8998 .loc 1 4229 5 view .LVU3212 8999 0030 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 9000 0034 012B cmp r3, #1 9001 0036 00F0AD80 beq .L590 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9002 .loc 1 4229 5 discriminator 2 view .LVU3213 9003 003a 0123 movs r3, #1 9004 003c 84F84030 strb r3, [r4, #64] 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9005 .loc 1 4229 5 discriminator 2 view .LVU3214 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9006 .loc 1 4233 5 discriminator 2 view .LVU3215 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9007 .loc 1 4233 13 is_stmt 0 discriminator 2 view .LVU3216 9008 0040 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 9009 0044 DBB2 uxtb r3, r3 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9010 .loc 1 4233 8 discriminator 2 view .LVU3217 9011 0046 292B cmp r3, #41 9012 0048 3DD0 beq .L593 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9013 .loc 1 4258 10 is_stmt 1 view .LVU3218 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9014 .loc 1 4258 18 is_stmt 0 view .LVU3219 9015 004a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 340 9016 004e DBB2 uxtb r3, r3 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9017 .loc 1 4258 13 view .LVU3220 9018 0050 2A2B cmp r3, #42 9019 0052 54D0 beq .L594 9020 .L583: 4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9021 .loc 1 4283 5 is_stmt 1 view .LVU3221 4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 9022 .loc 1 4285 5 view .LVU3222 4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 9023 .loc 1 4285 21 is_stmt 0 view .LVU3223 9024 0054 2A23 movs r3, #42 9025 0056 84F84130 strb r3, [r4, #65] 4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9026 .loc 1 4286 5 is_stmt 1 view .LVU3224 4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9027 .loc 1 4286 21 is_stmt 0 view .LVU3225 9028 005a 2023 movs r3, #32 9029 005c 84F84230 strb r3, [r4, #66] 4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9030 .loc 1 4287 5 is_stmt 1 view .LVU3226 4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9031 .loc 1 4287 21 is_stmt 0 view .LVU3227 9032 0060 0023 movs r3, #0 9033 0062 6364 str r3, [r4, #68] 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9034 .loc 1 4290 5 is_stmt 1 view .LVU3228 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9035 .loc 1 4290 9 is_stmt 0 view .LVU3229 9036 0064 2268 ldr r2, [r4] 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9037 .loc 1 4290 19 view .LVU3230 9038 0066 5368 ldr r3, [r2, #4] 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9039 .loc 1 4290 25 view .LVU3231 9040 0068 23F40043 bic r3, r3, #32768 9041 006c 5360 str r3, [r2, #4] 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9042 .loc 1 4293 5 is_stmt 1 view .LVU3232 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9043 .loc 1 4293 23 is_stmt 0 view .LVU3233 9044 006e 6762 str r7, [r4, #36] 4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 9045 .loc 1 4294 5 is_stmt 1 view .LVU3234 4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 9046 .loc 1 4294 23 is_stmt 0 view .LVU3235 9047 0070 6685 strh r6, [r4, #42] @ movhi 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9048 .loc 1 4295 5 is_stmt 1 view .LVU3236 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9049 .loc 1 4295 29 is_stmt 0 view .LVU3237 9050 0072 638D ldrh r3, [r4, #42] 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9051 .loc 1 4295 23 view .LVU3238 9052 0074 2385 strh r3, [r4, #40] @ movhi 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 341 9053 .loc 1 4296 5 is_stmt 1 view .LVU3239 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 9054 .loc 1 4296 23 is_stmt 0 view .LVU3240 9055 0076 E562 str r5, [r4, #44] 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9056 .loc 1 4297 5 is_stmt 1 view .LVU3241 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9057 .loc 1 4297 23 is_stmt 0 view .LVU3242 9058 0078 474B ldr r3, .L595 9059 007a 6363 str r3, [r4, #52] 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9060 .loc 1 4299 5 is_stmt 1 view .LVU3243 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9061 .loc 1 4299 13 is_stmt 0 view .LVU3244 9062 007c E36B ldr r3, [r4, #60] 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9063 .loc 1 4299 8 view .LVU3245 9064 007e 002B cmp r3, #0 9065 0080 54D0 beq .L584 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9066 .loc 1 4302 7 is_stmt 1 view .LVU3246 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9067 .loc 1 4302 38 is_stmt 0 view .LVU3247 9068 0082 464A ldr r2, .L595+4 9069 0084 9A62 str r2, [r3, #40] 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9070 .loc 1 4305 7 is_stmt 1 view .LVU3248 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9071 .loc 1 4305 11 is_stmt 0 view .LVU3249 9072 0086 E36B ldr r3, [r4, #60] 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9073 .loc 1 4305 39 view .LVU3250 9074 0088 454A ldr r2, .L595+8 9075 008a 1A63 str r2, [r3, #48] 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9076 .loc 1 4308 7 is_stmt 1 view .LVU3251 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9077 .loc 1 4308 11 is_stmt 0 view .LVU3252 9078 008c E26B ldr r2, [r4, #60] 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9079 .loc 1 4308 42 view .LVU3253 9080 008e 0023 movs r3, #0 9081 0090 D362 str r3, [r2, #44] 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9082 .loc 1 4309 7 is_stmt 1 view .LVU3254 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9083 .loc 1 4309 11 is_stmt 0 view .LVU3255 9084 0092 E26B ldr r2, [r4, #60] 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9085 .loc 1 4309 39 view .LVU3256 9086 0094 5363 str r3, [r2, #52] 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 9087 .loc 1 4312 7 is_stmt 1 view .LVU3257 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 9088 .loc 1 4312 69 is_stmt 0 view .LVU3258 9089 0096 2168 ldr r1, [r4] 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 342 9090 .loc 1 4312 23 view .LVU3259 9091 0098 238D ldrh r3, [r4, #40] 9092 009a 3A46 mov r2, r7 9093 009c 2431 adds r1, r1, #36 9094 009e E06B ldr r0, [r4, #60] 9095 00a0 FFF7FEFF bl HAL_DMA_Start_IT 9096 .LVL612: 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9097 .loc 1 4330 5 is_stmt 1 view .LVU3260 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9098 .loc 1 4330 8 is_stmt 0 view .LVU3261 9099 00a4 0546 mov r5, r0 9100 .LVL613: 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9101 .loc 1 4330 8 view .LVU3262 9102 00a6 0028 cmp r0, #0 9103 00a8 4ED0 beq .L585 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9104 .loc 1 4341 7 is_stmt 1 view .LVU3263 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9105 .loc 1 4341 23 is_stmt 0 view .LVU3264 9106 00aa 2823 movs r3, #40 9107 00ac 84F84130 strb r3, [r4, #65] 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9108 .loc 1 4342 7 is_stmt 1 view .LVU3265 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9109 .loc 1 4342 23 is_stmt 0 view .LVU3266 9110 00b0 0022 movs r2, #0 9111 00b2 84F84220 strb r2, [r4, #66] 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9112 .loc 1 4345 7 is_stmt 1 view .LVU3267 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9113 .loc 1 4345 11 is_stmt 0 view .LVU3268 9114 00b6 636C ldr r3, [r4, #68] 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9115 .loc 1 4345 23 view .LVU3269 9116 00b8 43F01003 orr r3, r3, #16 9117 00bc 6364 str r3, [r4, #68] 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9118 .loc 1 4348 7 is_stmt 1 view .LVU3270 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9119 .loc 1 4348 7 view .LVU3271 9120 00be 84F84020 strb r2, [r4, #64] 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9121 .loc 1 4348 7 view .LVU3272 4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9122 .loc 1 4350 7 view .LVU3273 4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9123 .loc 1 4350 14 is_stmt 0 view .LVU3274 9124 00c2 0125 movs r5, #1 9125 00c4 64E0 b .L579 9126 .LVL614: 9127 .L593: 4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9128 .loc 1 4236 7 is_stmt 1 view .LVU3275 9129 00c6 0121 movs r1, #1 9130 00c8 2046 mov r0, r4 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 343 9131 00ca FFF7FEFF bl I2C_Disable_IRQ 9132 .LVL615: 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9133 .loc 1 4238 7 view .LVU3276 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9134 .loc 1 4238 16 is_stmt 0 view .LVU3277 9135 00ce 2368 ldr r3, [r4] 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9136 .loc 1 4238 26 view .LVU3278 9137 00d0 1A68 ldr r2, [r3] 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9138 .loc 1 4238 10 view .LVU3279 9139 00d2 12F4804F tst r2, #16384 9140 00d6 BDD0 beq .L583 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9141 .loc 1 4241 9 is_stmt 1 view .LVU3280 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9142 .loc 1 4241 17 is_stmt 0 view .LVU3281 9143 00d8 A26B ldr r2, [r4, #56] 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9144 .loc 1 4241 12 view .LVU3282 9145 00da 002A cmp r2, #0 9146 00dc BAD0 beq .L583 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9147 .loc 1 4243 11 is_stmt 1 view .LVU3283 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9148 .loc 1 4243 25 is_stmt 0 view .LVU3284 9149 00de 1A68 ldr r2, [r3] 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9150 .loc 1 4243 31 view .LVU3285 9151 00e0 22F48042 bic r2, r2, #16384 9152 00e4 1A60 str r2, [r3] 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9153 .loc 1 4247 11 is_stmt 1 view .LVU3286 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9154 .loc 1 4247 15 is_stmt 0 view .LVU3287 9155 00e6 A36B ldr r3, [r4, #56] 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9156 .loc 1 4247 43 view .LVU3288 9157 00e8 2E4A ldr r2, .L595+12 9158 00ea 5A63 str r2, [r3, #52] 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9159 .loc 1 4250 11 is_stmt 1 view .LVU3289 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9160 .loc 1 4250 15 is_stmt 0 view .LVU3290 9161 00ec A06B ldr r0, [r4, #56] 9162 00ee FFF7FEFF bl HAL_DMA_Abort_IT 9163 .LVL616: 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9164 .loc 1 4250 14 view .LVU3291 9165 00f2 0028 cmp r0, #0 9166 00f4 AED0 beq .L583 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9167 .loc 1 4253 13 is_stmt 1 view .LVU3292 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9168 .loc 1 4253 17 is_stmt 0 view .LVU3293 9169 00f6 A06B ldr r0, [r4, #56] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 344 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9170 .loc 1 4253 25 view .LVU3294 9171 00f8 436B ldr r3, [r0, #52] 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9172 .loc 1 4253 13 view .LVU3295 9173 00fa 9847 blx r3 9174 .LVL617: 9175 00fc AAE7 b .L583 9176 .L594: 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9177 .loc 1 4260 7 is_stmt 1 view .LVU3296 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9178 .loc 1 4260 16 is_stmt 0 view .LVU3297 9179 00fe 2368 ldr r3, [r4] 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9180 .loc 1 4260 26 view .LVU3298 9181 0100 1A68 ldr r2, [r3] 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9182 .loc 1 4260 10 view .LVU3299 9183 0102 12F4004F tst r2, #32768 9184 0106 A5D0 beq .L583 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9185 .loc 1 4262 9 is_stmt 1 view .LVU3300 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9186 .loc 1 4262 23 is_stmt 0 view .LVU3301 9187 0108 1A68 ldr r2, [r3] 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9188 .loc 1 4262 29 view .LVU3302 9189 010a 22F40042 bic r2, r2, #32768 9190 010e 1A60 str r2, [r3] 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9191 .loc 1 4265 9 is_stmt 1 view .LVU3303 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9192 .loc 1 4265 17 is_stmt 0 view .LVU3304 9193 0110 E36B ldr r3, [r4, #60] 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9194 .loc 1 4265 12 view .LVU3305 9195 0112 002B cmp r3, #0 9196 0114 9ED0 beq .L583 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9197 .loc 1 4269 11 is_stmt 1 view .LVU3306 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9198 .loc 1 4269 43 is_stmt 0 view .LVU3307 9199 0116 234A ldr r2, .L595+12 9200 0118 5A63 str r2, [r3, #52] 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9201 .loc 1 4272 11 is_stmt 1 view .LVU3308 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9202 .loc 1 4272 15 is_stmt 0 view .LVU3309 9203 011a E06B ldr r0, [r4, #60] 9204 011c FFF7FEFF bl HAL_DMA_Abort_IT 9205 .LVL618: 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9206 .loc 1 4272 14 view .LVU3310 9207 0120 0028 cmp r0, #0 9208 0122 97D0 beq .L583 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 345 9209 .loc 1 4275 13 is_stmt 1 view .LVU3311 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9210 .loc 1 4275 17 is_stmt 0 view .LVU3312 9211 0124 E06B ldr r0, [r4, #60] 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9212 .loc 1 4275 25 view .LVU3313 9213 0126 436B ldr r3, [r0, #52] 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9214 .loc 1 4275 13 view .LVU3314 9215 0128 9847 blx r3 9216 .LVL619: 9217 012a 93E7 b .L583 9218 .L584: 4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9219 .loc 1 4318 7 is_stmt 1 view .LVU3315 4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9220 .loc 1 4318 23 is_stmt 0 view .LVU3316 9221 012c 2823 movs r3, #40 9222 012e 84F84130 strb r3, [r4, #65] 4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9223 .loc 1 4319 7 is_stmt 1 view .LVU3317 4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9224 .loc 1 4319 23 is_stmt 0 view .LVU3318 9225 0132 0022 movs r2, #0 9226 0134 84F84220 strb r2, [r4, #66] 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9227 .loc 1 4322 7 is_stmt 1 view .LVU3319 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9228 .loc 1 4322 11 is_stmt 0 view .LVU3320 9229 0138 636C ldr r3, [r4, #68] 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9230 .loc 1 4322 23 view .LVU3321 9231 013a 43F08003 orr r3, r3, #128 9232 013e 6364 str r3, [r4, #68] 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9233 .loc 1 4325 7 is_stmt 1 view .LVU3322 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9234 .loc 1 4325 7 view .LVU3323 9235 0140 84F84020 strb r2, [r4, #64] 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9236 .loc 1 4325 7 view .LVU3324 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9237 .loc 1 4327 7 view .LVU3325 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9238 .loc 1 4327 14 is_stmt 0 view .LVU3326 9239 0144 0125 movs r5, #1 9240 .LVL620: 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9241 .loc 1 4327 14 view .LVU3327 9242 0146 23E0 b .L579 9243 .LVL621: 9244 .L585: 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9245 .loc 1 4333 7 is_stmt 1 view .LVU3328 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9246 .loc 1 4333 11 is_stmt 0 view .LVU3329 9247 0148 638D ldrh r3, [r4, #42] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 346 9248 014a 9BB2 uxth r3, r3 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9249 .loc 1 4333 30 view .LVU3330 9250 014c 228D ldrh r2, [r4, #40] 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9251 .loc 1 4333 23 view .LVU3331 9252 014e 9B1A subs r3, r3, r2 9253 0150 9BB2 uxth r3, r3 9254 0152 6385 strh r3, [r4, #42] @ movhi 4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9255 .loc 1 4336 7 is_stmt 1 view .LVU3332 4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9256 .loc 1 4336 22 is_stmt 0 view .LVU3333 9257 0154 0023 movs r3, #0 9258 0156 2385 strh r3, [r4, #40] @ movhi 4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 9259 .loc 1 4353 5 is_stmt 1 view .LVU3334 4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 9260 .loc 1 4353 11 is_stmt 0 view .LVU3335 9261 0158 2268 ldr r2, [r4] 9262 015a 9369 ldr r3, [r2, #24] 9263 015c 03F00803 and r3, r3, #8 9264 .LVL622: 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9265 .loc 1 4354 5 is_stmt 1 view .LVU3336 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9266 .loc 1 4354 10 is_stmt 0 view .LVU3337 9267 0160 9169 ldr r1, [r2, #24] 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9268 .loc 1 4354 8 view .LVU3338 9269 0162 11F4803F tst r1, #65536 9270 0166 0DD0 beq .L587 9271 .LVL623: 9272 .L588: 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9273 .loc 1 4362 5 is_stmt 1 view .LVU3339 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9274 .loc 1 4362 5 view .LVU3340 9275 0168 0023 movs r3, #0 9276 016a 84F84030 strb r3, [r4, #64] 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9277 .loc 1 4362 5 view .LVU3341 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9278 .loc 1 4365 5 view .LVU3342 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9279 .loc 1 4365 9 is_stmt 0 view .LVU3343 9280 016e 2268 ldr r2, [r4] 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9281 .loc 1 4365 19 view .LVU3344 9282 0170 1368 ldr r3, [r2] 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9283 .loc 1 4365 25 view .LVU3345 9284 0172 43F40043 orr r3, r3, #32768 9285 0176 1360 str r3, [r2] 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9286 .loc 1 4371 5 is_stmt 1 view .LVU3346 9287 0178 48F20201 movw r1, #32770 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 347 9288 017c 2046 mov r0, r4 9289 .LVL624: 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9290 .loc 1 4371 5 is_stmt 0 view .LVU3347 9291 017e FFF7FEFF bl I2C_Enable_IRQ 9292 .LVL625: 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9293 .loc 1 4373 5 is_stmt 1 view .LVU3348 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9294 .loc 1 4373 12 is_stmt 0 view .LVU3349 9295 0182 05E0 b .L579 9296 .LVL626: 9297 .L587: 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9298 .loc 1 4354 55 discriminator 1 view .LVU3350 9299 0184 002B cmp r3, #0 9300 0186 EFD0 beq .L588 4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9301 .loc 1 4358 7 is_stmt 1 view .LVU3351 9302 0188 0823 movs r3, #8 9303 .LVL627: 4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9304 .loc 1 4358 7 is_stmt 0 view .LVU3352 9305 018a D361 str r3, [r2, #28] 9306 018c ECE7 b .L588 9307 .LVL628: 9308 .L589: 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9309 .loc 1 4377 12 view .LVU3353 9310 018e 0125 movs r5, #1 9311 .LVL629: 9312 .L579: 4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9313 .loc 1 4379 1 view .LVU3354 9314 0190 2846 mov r0, r5 9315 0192 F8BD pop {r3, r4, r5, r6, r7, pc} 9316 .LVL630: 9317 .L590: 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9318 .loc 1 4229 5 view .LVU3355 9319 0194 0225 movs r5, #2 9320 .LVL631: 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9321 .loc 1 4229 5 view .LVU3356 9322 0196 FBE7 b .L579 9323 .L596: 9324 .align 2 9325 .L595: 9326 0198 00000000 .word I2C_Slave_ISR_DMA 9327 019c 00000000 .word I2C_DMASlaveReceiveCplt 9328 01a0 00000000 .word I2C_DMAError 9329 01a4 00000000 .word I2C_DMAAbort 9330 .cfi_endproc 9331 .LFE160: 9333 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits 9334 .align 1 9335 .global HAL_I2C_EnableListen_IT ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 348 9336 .syntax unified 9337 .thumb 9338 .thumb_func 9340 HAL_I2C_EnableListen_IT: 9341 .LVL632: 9342 .LFB161: 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 9343 .loc 1 4388 1 is_stmt 1 view -0 9344 .cfi_startproc 9345 @ args = 0, pretend = 0, frame = 0 9346 @ frame_needed = 0, uses_anonymous_args = 0 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 9347 .loc 1 4388 1 is_stmt 0 view .LVU3358 9348 0000 08B5 push {r3, lr} 9349 .cfi_def_cfa_offset 8 9350 .cfi_offset 3, -8 9351 .cfi_offset 14, -4 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9352 .loc 1 4389 3 is_stmt 1 view .LVU3359 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9353 .loc 1 4389 11 is_stmt 0 view .LVU3360 9354 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 9355 0006 DBB2 uxtb r3, r3 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9356 .loc 1 4389 6 view .LVU3361 9357 0008 202B cmp r3, #32 9358 000a 01D0 beq .L601 4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9359 .loc 1 4401 12 view .LVU3362 9360 000c 0220 movs r0, #2 9361 .LVL633: 9362 .L598: 4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9363 .loc 1 4403 1 view .LVU3363 9364 000e 08BD pop {r3, pc} 9365 .LVL634: 9366 .L601: 4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 9367 .loc 1 4391 5 is_stmt 1 view .LVU3364 4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 9368 .loc 1 4391 17 is_stmt 0 view .LVU3365 9369 0010 2823 movs r3, #40 9370 0012 80F84130 strb r3, [r0, #65] 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9371 .loc 1 4392 5 is_stmt 1 view .LVU3366 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9372 .loc 1 4392 19 is_stmt 0 view .LVU3367 9373 0016 044B ldr r3, .L602 9374 0018 4363 str r3, [r0, #52] 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9375 .loc 1 4395 5 is_stmt 1 view .LVU3368 9376 001a 4FF40041 mov r1, #32768 9377 001e FFF7FEFF bl I2C_Enable_IRQ 9378 .LVL635: 4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9379 .loc 1 4397 5 view .LVU3369 4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 349 9380 .loc 1 4397 12 is_stmt 0 view .LVU3370 9381 0022 0020 movs r0, #0 9382 0024 F3E7 b .L598 9383 .L603: 9384 0026 00BF .align 2 9385 .L602: 9386 0028 00000000 .word I2C_Slave_ISR_IT 9387 .cfi_endproc 9388 .LFE161: 9390 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits 9391 .align 1 9392 .global HAL_I2C_DisableListen_IT 9393 .syntax unified 9394 .thumb 9395 .thumb_func 9397 HAL_I2C_DisableListen_IT: 9398 .LVL636: 9399 .LFB162: 4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 9400 .loc 1 4412 1 is_stmt 1 view -0 9401 .cfi_startproc 9402 @ args = 0, pretend = 0, frame = 0 9403 @ frame_needed = 0, uses_anonymous_args = 0 4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9404 .loc 1 4414 3 view .LVU3372 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9405 .loc 1 4417 3 view .LVU3373 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9406 .loc 1 4417 11 is_stmt 0 view .LVU3374 9407 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 9408 0004 DBB2 uxtb r3, r3 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9409 .loc 1 4417 6 view .LVU3375 9410 0006 282B cmp r3, #40 9411 0008 01D0 beq .L611 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9412 .loc 1 4432 12 view .LVU3376 9413 000a 0220 movs r0, #2 9414 .LVL637: 4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9415 .loc 1 4434 1 view .LVU3377 9416 000c 7047 bx lr 9417 .LVL638: 9418 .L611: 4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 9419 .loc 1 4412 1 view .LVU3378 9420 000e 10B5 push {r4, lr} 9421 .cfi_def_cfa_offset 8 9422 .cfi_offset 4, -8 9423 .cfi_offset 14, -4 4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 9424 .loc 1 4419 5 is_stmt 1 view .LVU3379 4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 9425 .loc 1 4419 26 is_stmt 0 view .LVU3380 9426 0010 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 9427 .LVL639: 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 350 9428 .loc 1 4420 5 is_stmt 1 view .LVU3381 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 9429 .loc 1 4420 48 is_stmt 0 view .LVU3382 9430 0014 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 9431 .loc 1 4420 31 view .LVU3383 9432 0018 02F00302 and r2, r2, #3 9433 .LVL640: 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 9434 .loc 1 4420 31 view .LVU3384 9435 001c 1343 orrs r3, r3, r2 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 9436 .loc 1 4420 25 view .LVU3385 9437 001e 0363 str r3, [r0, #48] 4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9438 .loc 1 4421 5 is_stmt 1 view .LVU3386 4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9439 .loc 1 4421 17 is_stmt 0 view .LVU3387 9440 0020 2023 movs r3, #32 9441 0022 80F84130 strb r3, [r0, #65] 4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9442 .loc 1 4422 5 is_stmt 1 view .LVU3388 4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9443 .loc 1 4422 16 is_stmt 0 view .LVU3389 9444 0026 0024 movs r4, #0 9445 0028 80F84240 strb r4, [r0, #66] 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9446 .loc 1 4423 5 is_stmt 1 view .LVU3390 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9447 .loc 1 4423 19 is_stmt 0 view .LVU3391 9448 002c 4463 str r4, [r0, #52] 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9449 .loc 1 4426 5 is_stmt 1 view .LVU3392 9450 002e 4FF40041 mov r1, #32768 9451 0032 FFF7FEFF bl I2C_Disable_IRQ 9452 .LVL641: 4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9453 .loc 1 4428 5 view .LVU3393 4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9454 .loc 1 4428 12 is_stmt 0 view .LVU3394 9455 0036 2046 mov r0, r4 4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9456 .loc 1 4434 1 view .LVU3395 9457 0038 10BD pop {r4, pc} 9458 .cfi_endproc 9459 .LFE162: 9461 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits 9462 .align 1 9463 .global HAL_I2C_Master_Abort_IT 9464 .syntax unified 9465 .thumb 9466 .thumb_func 9468 HAL_I2C_Master_Abort_IT: 9469 .LVL642: 9470 .LFB163: 4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER) 9471 .loc 1 4445 1 is_stmt 1 view -0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 351 9472 .cfi_startproc 9473 @ args = 0, pretend = 0, frame = 0 9474 @ frame_needed = 0, uses_anonymous_args = 0 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9475 .loc 1 4446 3 view .LVU3397 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9476 .loc 1 4446 11 is_stmt 0 view .LVU3398 9477 0000 90F84230 ldrb r3, [r0, #66] @ zero_extendqisi2 9478 0004 DBB2 uxtb r3, r3 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9479 .loc 1 4446 6 view .LVU3399 9480 0006 102B cmp r3, #16 9481 0008 36D1 bne .L616 4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER) 9482 .loc 1 4445 1 view .LVU3400 9483 000a 30B5 push {r4, r5, lr} 9484 .cfi_def_cfa_offset 12 9485 .cfi_offset 4, -12 9486 .cfi_offset 5, -8 9487 .cfi_offset 14, -4 9488 000c 83B0 sub sp, sp, #12 9489 .cfi_def_cfa_offset 24 9490 000e 0446 mov r4, r0 9491 0010 0D46 mov r5, r1 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9492 .loc 1 4449 5 is_stmt 1 view .LVU3401 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9493 .loc 1 4449 5 view .LVU3402 9494 0012 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 9495 0016 012B cmp r3, #1 9496 0018 30D0 beq .L617 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9497 .loc 1 4449 5 discriminator 2 view .LVU3403 9498 001a 0123 movs r3, #1 9499 001c 80F84030 strb r3, [r0, #64] 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9500 .loc 1 4449 5 discriminator 2 view .LVU3404 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9501 .loc 1 4452 5 discriminator 2 view .LVU3405 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9502 .loc 1 4452 13 is_stmt 0 discriminator 2 view .LVU3406 9503 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 9504 0024 DBB2 uxtb r3, r3 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9505 .loc 1 4452 8 discriminator 2 view .LVU3407 9506 0026 212B cmp r3, #33 9507 0028 1AD0 beq .L622 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9508 .loc 1 4457 10 is_stmt 1 view .LVU3408 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9509 .loc 1 4457 18 is_stmt 0 view .LVU3409 9510 002a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 9511 002e DBB2 uxtb r3, r3 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9512 .loc 1 4457 13 view .LVU3410 9513 0030 222B cmp r3, #34 9514 0032 1BD0 beq .L623 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 352 9515 .LVL643: 9516 .L615: 4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9517 .loc 1 4465 5 is_stmt 1 view .LVU3411 4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9518 .loc 1 4468 5 view .LVU3412 4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9519 .loc 1 4468 17 is_stmt 0 view .LVU3413 9520 0034 6023 movs r3, #96 9521 0036 84F84130 strb r3, [r4, #65] 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9522 .loc 1 4472 5 is_stmt 1 view .LVU3414 9523 003a 114B ldr r3, .L624 9524 003c 0093 str r3, [sp] 9525 003e 4FF00073 mov r3, #33554432 9526 0042 0122 movs r2, #1 9527 0044 2946 mov r1, r5 9528 0046 2046 mov r0, r4 9529 0048 FFF7FEFF bl I2C_TransferConfig 9530 .LVL644: 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9531 .loc 1 4475 5 view .LVU3415 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9532 .loc 1 4475 5 view .LVU3416 9533 004c 0025 movs r5, #0 9534 004e 84F84050 strb r5, [r4, #64] 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9535 .loc 1 4475 5 view .LVU3417 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9536 .loc 1 4480 5 view .LVU3418 9537 0052 2021 movs r1, #32 9538 0054 2046 mov r0, r4 9539 0056 FFF7FEFF bl I2C_Enable_IRQ 9540 .LVL645: 4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9541 .loc 1 4482 5 view .LVU3419 4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9542 .loc 1 4482 12 is_stmt 0 view .LVU3420 9543 005a 2846 mov r0, r5 9544 .L613: 4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9545 .loc 1 4490 1 view .LVU3421 9546 005c 03B0 add sp, sp, #12 9547 .cfi_remember_state 9548 .cfi_def_cfa_offset 12 9549 @ sp needed 9550 005e 30BD pop {r4, r5, pc} 9551 .LVL646: 9552 .L622: 9553 .cfi_restore_state 4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 9554 .loc 1 4454 7 is_stmt 1 view .LVU3422 9555 0060 0121 movs r1, #1 9556 .LVL647: 4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 9557 .loc 1 4454 7 is_stmt 0 view .LVU3423 9558 0062 FFF7FEFF bl I2C_Disable_IRQ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 353 9559 .LVL648: 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9560 .loc 1 4455 7 is_stmt 1 view .LVU3424 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9561 .loc 1 4455 27 is_stmt 0 view .LVU3425 9562 0066 1123 movs r3, #17 9563 0068 2363 str r3, [r4, #48] 9564 006a E3E7 b .L615 9565 .LVL649: 9566 .L623: 4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 9567 .loc 1 4459 7 is_stmt 1 view .LVU3426 9568 006c 0221 movs r1, #2 9569 .LVL650: 4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 9570 .loc 1 4459 7 is_stmt 0 view .LVU3427 9571 006e FFF7FEFF bl I2C_Disable_IRQ 9572 .LVL651: 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9573 .loc 1 4460 7 is_stmt 1 view .LVU3428 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9574 .loc 1 4460 27 is_stmt 0 view .LVU3429 9575 0072 1223 movs r3, #18 9576 0074 2363 str r3, [r4, #48] 9577 0076 DDE7 b .L615 9578 .LVL652: 9579 .L616: 9580 .cfi_def_cfa_offset 0 9581 .cfi_restore 4 9582 .cfi_restore 5 9583 .cfi_restore 14 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9584 .loc 1 4488 12 view .LVU3430 9585 0078 0120 movs r0, #1 9586 .LVL653: 4490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9587 .loc 1 4490 1 view .LVU3431 9588 007a 7047 bx lr 9589 .LVL654: 9590 .L617: 9591 .cfi_def_cfa_offset 24 9592 .cfi_offset 4, -12 9593 .cfi_offset 5, -8 9594 .cfi_offset 14, -4 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9595 .loc 1 4449 5 view .LVU3432 9596 007c 0220 movs r0, #2 9597 .LVL655: 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9598 .loc 1 4449 5 view .LVU3433 9599 007e EDE7 b .L613 9600 .L625: 9601 .align 2 9602 .L624: 9603 0080 00400080 .word -2147467264 9604 .cfi_endproc 9605 .LFE163: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 354 9607 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits 9608 .align 1 9609 .global HAL_I2C_EV_IRQHandler 9610 .syntax unified 9611 .thumb 9612 .thumb_func 9614 HAL_I2C_EV_IRQHandler: 9615 .LVL656: 9616 .LFB164: 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ 9617 .loc 1 4507 1 is_stmt 1 view -0 9618 .cfi_startproc 9619 @ args = 0, pretend = 0, frame = 0 9620 @ frame_needed = 0, uses_anonymous_args = 0 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ 9621 .loc 1 4507 1 is_stmt 0 view .LVU3435 9622 0000 08B5 push {r3, lr} 9623 .cfi_def_cfa_offset 8 9624 .cfi_offset 3, -8 9625 .cfi_offset 14, -4 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 9626 .loc 1 4509 3 is_stmt 1 view .LVU3436 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 9627 .loc 1 4509 24 is_stmt 0 view .LVU3437 9628 0002 0368 ldr r3, [r0] 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 9629 .loc 1 4509 12 view .LVU3438 9630 0004 9969 ldr r1, [r3, #24] 9631 .LVL657: 4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9632 .loc 1 4510 3 is_stmt 1 view .LVU3439 4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9633 .loc 1 4510 12 is_stmt 0 view .LVU3440 9634 0006 1A68 ldr r2, [r3] 9635 .LVL658: 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9636 .loc 1 4513 3 is_stmt 1 view .LVU3441 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9637 .loc 1 4513 11 is_stmt 0 view .LVU3442 9638 0008 436B ldr r3, [r0, #52] 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9639 .loc 1 4513 6 view .LVU3443 9640 000a 03B1 cbz r3, .L626 4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9641 .loc 1 4515 5 is_stmt 1 view .LVU3444 9642 000c 9847 blx r3 9643 .LVL659: 9644 .L626: 4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9645 .loc 1 4517 1 is_stmt 0 view .LVU3445 9646 000e 08BD pop {r3, pc} 9647 .cfi_endproc 9648 .LFE164: 9650 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits 9651 .align 1 9652 .weak HAL_I2C_MasterTxCpltCallback 9653 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 355 9654 .thumb 9655 .thumb_func 9657 HAL_I2C_MasterTxCpltCallback: 9658 .LVL660: 9659 .LFB166: 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 9660 .loc 1 4578 1 is_stmt 1 view -0 9661 .cfi_startproc 9662 @ args = 0, pretend = 0, frame = 0 9663 @ frame_needed = 0, uses_anonymous_args = 0 9664 @ link register save eliminated. 4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9665 .loc 1 4580 3 view .LVU3447 4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9666 .loc 1 4585 1 is_stmt 0 view .LVU3448 9667 0000 7047 bx lr 9668 .cfi_endproc 9669 .LFE166: 9671 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits 9672 .align 1 9673 .weak HAL_I2C_MasterRxCpltCallback 9674 .syntax unified 9675 .thumb 9676 .thumb_func 9678 HAL_I2C_MasterRxCpltCallback: 9679 .LVL661: 9680 .LFB167: 4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 9681 .loc 1 4594 1 is_stmt 1 view -0 9682 .cfi_startproc 9683 @ args = 0, pretend = 0, frame = 0 9684 @ frame_needed = 0, uses_anonymous_args = 0 9685 @ link register save eliminated. 4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9686 .loc 1 4596 3 view .LVU3450 4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9687 .loc 1 4601 1 is_stmt 0 view .LVU3451 9688 0000 7047 bx lr 9689 .cfi_endproc 9690 .LFE167: 9692 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits 9693 .align 1 9694 .syntax unified 9695 .thumb 9696 .thumb_func 9698 I2C_ITMasterSeqCplt: 9699 .LVL662: 9700 .LFB188: 5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 9701 .loc 1 5855 1 is_stmt 1 view -0 9702 .cfi_startproc 9703 @ args = 0, pretend = 0, frame = 0 9704 @ frame_needed = 0, uses_anonymous_args = 0 5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 9705 .loc 1 5855 1 is_stmt 0 view .LVU3453 9706 0000 38B5 push {r3, r4, r5, lr} 9707 .cfi_def_cfa_offset 16 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 356 9708 .cfi_offset 3, -16 9709 .cfi_offset 4, -12 9710 .cfi_offset 5, -8 9711 .cfi_offset 14, -4 9712 0002 0446 mov r4, r0 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9713 .loc 1 5857 3 is_stmt 1 view .LVU3454 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9714 .loc 1 5857 14 is_stmt 0 view .LVU3455 9715 0004 0023 movs r3, #0 9716 0006 80F84230 strb r3, [r0, #66] 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9717 .loc 1 5861 3 is_stmt 1 view .LVU3456 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9718 .loc 1 5861 11 is_stmt 0 view .LVU3457 9719 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 9720 000e DBB2 uxtb r3, r3 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9721 .loc 1 5861 6 view .LVU3458 9722 0010 212B cmp r3, #33 9723 0012 0FD0 beq .L635 5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 9724 .loc 1 5883 5 is_stmt 1 view .LVU3459 5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 9725 .loc 1 5883 25 is_stmt 0 view .LVU3460 9726 0014 2023 movs r3, #32 9727 0016 80F84130 strb r3, [r0, #65] 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9728 .loc 1 5884 5 is_stmt 1 view .LVU3461 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9729 .loc 1 5884 25 is_stmt 0 view .LVU3462 9730 001a 1223 movs r3, #18 9731 001c 0363 str r3, [r0, #48] 5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9732 .loc 1 5885 5 is_stmt 1 view .LVU3463 5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9733 .loc 1 5885 25 is_stmt 0 view .LVU3464 9734 001e 0025 movs r5, #0 9735 0020 4563 str r5, [r0, #52] 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9736 .loc 1 5888 5 is_stmt 1 view .LVU3465 9737 0022 0221 movs r1, #2 9738 0024 FFF7FEFF bl I2C_Disable_IRQ 9739 .LVL663: 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9740 .loc 1 5891 5 view .LVU3466 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9741 .loc 1 5891 5 view .LVU3467 9742 0028 84F84050 strb r5, [r4, #64] 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9743 .loc 1 5891 5 view .LVU3468 5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 9744 .loc 1 5897 5 view .LVU3469 9745 002c 2046 mov r0, r4 9746 002e FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 9747 .LVL664: 9748 .L631: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 357 5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9749 .loc 1 5900 1 is_stmt 0 view .LVU3470 9750 0032 38BD pop {r3, r4, r5, pc} 9751 .LVL665: 9752 .L635: 5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 9753 .loc 1 5863 5 is_stmt 1 view .LVU3471 5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 9754 .loc 1 5863 25 is_stmt 0 view .LVU3472 9755 0034 2023 movs r3, #32 9756 0036 80F84130 strb r3, [r0, #65] 5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9757 .loc 1 5864 5 is_stmt 1 view .LVU3473 5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 9758 .loc 1 5864 25 is_stmt 0 view .LVU3474 9759 003a 1123 movs r3, #17 9760 003c 0363 str r3, [r0, #48] 5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9761 .loc 1 5865 5 is_stmt 1 view .LVU3475 5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9762 .loc 1 5865 25 is_stmt 0 view .LVU3476 9763 003e 0025 movs r5, #0 9764 0040 4563 str r5, [r0, #52] 5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9765 .loc 1 5868 5 is_stmt 1 view .LVU3477 9766 0042 0121 movs r1, #1 9767 0044 FFF7FEFF bl I2C_Disable_IRQ 9768 .LVL666: 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9769 .loc 1 5871 5 view .LVU3478 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9770 .loc 1 5871 5 view .LVU3479 9771 0048 84F84050 strb r5, [r4, #64] 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9772 .loc 1 5871 5 view .LVU3480 5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 9773 .loc 1 5877 5 view .LVU3481 9774 004c 2046 mov r0, r4 9775 004e FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 9776 .LVL667: 9777 0052 EEE7 b .L631 9778 .cfi_endproc 9779 .LFE188: 9781 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits 9782 .align 1 9783 .weak HAL_I2C_SlaveTxCpltCallback 9784 .syntax unified 9785 .thumb 9786 .thumb_func 9788 HAL_I2C_SlaveTxCpltCallback: 9789 .LVL668: 9790 .LFB168: 4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 9791 .loc 1 4609 1 view -0 9792 .cfi_startproc 9793 @ args = 0, pretend = 0, frame = 0 9794 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 358 9795 @ link register save eliminated. 4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9796 .loc 1 4611 3 view .LVU3483 4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9797 .loc 1 4616 1 is_stmt 0 view .LVU3484 9798 0000 7047 bx lr 9799 .cfi_endproc 9800 .LFE168: 9802 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits 9803 .align 1 9804 .weak HAL_I2C_SlaveRxCpltCallback 9805 .syntax unified 9806 .thumb 9807 .thumb_func 9809 HAL_I2C_SlaveRxCpltCallback: 9810 .LVL669: 9811 .LFB169: 4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 9812 .loc 1 4625 1 is_stmt 1 view -0 9813 .cfi_startproc 9814 @ args = 0, pretend = 0, frame = 0 9815 @ frame_needed = 0, uses_anonymous_args = 0 9816 @ link register save eliminated. 4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9817 .loc 1 4627 3 view .LVU3486 4632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9818 .loc 1 4632 1 is_stmt 0 view .LVU3487 9819 0000 7047 bx lr 9820 .cfi_endproc 9821 .LFE169: 9823 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits 9824 .align 1 9825 .syntax unified 9826 .thumb 9827 .thumb_func 9829 I2C_ITSlaveSeqCplt: 9830 .LVL670: 9831 .LFB189: 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 9832 .loc 1 5908 1 is_stmt 1 view -0 9833 .cfi_startproc 9834 @ args = 0, pretend = 0, frame = 0 9835 @ frame_needed = 0, uses_anonymous_args = 0 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 9836 .loc 1 5908 1 is_stmt 0 view .LVU3489 9837 0000 10B5 push {r4, lr} 9838 .cfi_def_cfa_offset 8 9839 .cfi_offset 4, -8 9840 .cfi_offset 14, -4 9841 0002 0446 mov r4, r0 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9842 .loc 1 5909 3 is_stmt 1 view .LVU3490 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9843 .loc 1 5909 26 is_stmt 0 view .LVU3491 9844 0004 0368 ldr r3, [r0] 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9845 .loc 1 5909 12 view .LVU3492 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 359 9846 0006 1A68 ldr r2, [r3] 9847 .LVL671: 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9848 .loc 1 5912 3 is_stmt 1 view .LVU3493 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9849 .loc 1 5912 14 is_stmt 0 view .LVU3494 9850 0008 0021 movs r1, #0 9851 000a 80F84210 strb r1, [r0, #66] 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9852 .loc 1 5915 3 is_stmt 1 view .LVU3495 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9853 .loc 1 5915 6 is_stmt 0 view .LVU3496 9854 000e 12F4804F tst r2, #16384 9855 0012 0ED0 beq .L639 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9856 .loc 1 5918 5 is_stmt 1 view .LVU3497 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9857 .loc 1 5918 19 is_stmt 0 view .LVU3498 9858 0014 1A68 ldr r2, [r3] 9859 .LVL672: 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9860 .loc 1 5918 25 view .LVU3499 9861 0016 22F48042 bic r2, r2, #16384 9862 001a 1A60 str r2, [r3] 9863 .L640: 5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9864 .loc 1 5928 3 is_stmt 1 view .LVU3500 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9865 .loc 1 5930 3 view .LVU3501 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9866 .loc 1 5930 11 is_stmt 0 view .LVU3502 9867 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 9868 0020 DBB2 uxtb r3, r3 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9869 .loc 1 5930 6 view .LVU3503 9870 0022 292B cmp r3, #41 9871 0024 0DD0 beq .L644 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9872 .loc 1 5950 8 is_stmt 1 view .LVU3504 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9873 .loc 1 5950 16 is_stmt 0 view .LVU3505 9874 0026 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 9875 002a DBB2 uxtb r3, r3 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9876 .loc 1 5950 11 view .LVU3506 9877 002c 2A2B cmp r3, #42 9878 002e 18D0 beq .L645 9879 .LVL673: 9880 .L638: 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9881 .loc 1 5973 1 view .LVU3507 9882 0030 10BD pop {r4, pc} 9883 .LVL674: 9884 .L639: 5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9885 .loc 1 5920 8 is_stmt 1 view .LVU3508 5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 360 9886 .loc 1 5920 11 is_stmt 0 view .LVU3509 9887 0032 12F4004F tst r2, #32768 9888 0036 F1D0 beq .L640 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9889 .loc 1 5923 5 is_stmt 1 view .LVU3510 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9890 .loc 1 5923 19 is_stmt 0 view .LVU3511 9891 0038 1A68 ldr r2, [r3] 9892 .LVL675: 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9893 .loc 1 5923 25 view .LVU3512 9894 003a 22F40042 bic r2, r2, #32768 9895 003e 1A60 str r2, [r3] 9896 0040 ECE7 b .L640 9897 .L644: 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 9898 .loc 1 5933 5 is_stmt 1 view .LVU3513 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 9899 .loc 1 5933 25 is_stmt 0 view .LVU3514 9900 0042 2823 movs r3, #40 9901 0044 84F84130 strb r3, [r4, #65] 5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9902 .loc 1 5934 5 is_stmt 1 view .LVU3515 5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9903 .loc 1 5934 25 is_stmt 0 view .LVU3516 9904 0048 2123 movs r3, #33 9905 004a 2363 str r3, [r4, #48] 5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9906 .loc 1 5937 5 is_stmt 1 view .LVU3517 9907 004c 0121 movs r1, #1 9908 004e 2046 mov r0, r4 9909 .LVL676: 5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9910 .loc 1 5937 5 is_stmt 0 view .LVU3518 9911 0050 FFF7FEFF bl I2C_Disable_IRQ 9912 .LVL677: 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9913 .loc 1 5940 5 is_stmt 1 view .LVU3519 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9914 .loc 1 5940 5 view .LVU3520 9915 0054 0023 movs r3, #0 9916 0056 84F84030 strb r3, [r4, #64] 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9917 .loc 1 5940 5 view .LVU3521 5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 9918 .loc 1 5946 5 view .LVU3522 9919 005a 2046 mov r0, r4 9920 005c FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 9921 .LVL678: 9922 0060 E6E7 b .L638 9923 .LVL679: 9924 .L645: 5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 9925 .loc 1 5953 5 view .LVU3523 5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 9926 .loc 1 5953 25 is_stmt 0 view .LVU3524 9927 0062 2823 movs r3, #40 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 361 9928 0064 84F84130 strb r3, [r4, #65] 5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9929 .loc 1 5954 5 is_stmt 1 view .LVU3525 5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9930 .loc 1 5954 25 is_stmt 0 view .LVU3526 9931 0068 2223 movs r3, #34 9932 006a 2363 str r3, [r4, #48] 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9933 .loc 1 5957 5 is_stmt 1 view .LVU3527 9934 006c 0221 movs r1, #2 9935 006e 2046 mov r0, r4 9936 .LVL680: 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9937 .loc 1 5957 5 is_stmt 0 view .LVU3528 9938 0070 FFF7FEFF bl I2C_Disable_IRQ 9939 .LVL681: 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9940 .loc 1 5960 5 is_stmt 1 view .LVU3529 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9941 .loc 1 5960 5 view .LVU3530 9942 0074 0023 movs r3, #0 9943 0076 84F84030 strb r3, [r4, #64] 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9944 .loc 1 5960 5 view .LVU3531 5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 9945 .loc 1 5966 5 view .LVU3532 9946 007a 2046 mov r0, r4 9947 007c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 9948 .LVL682: 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9949 .loc 1 5972 3 view .LVU3533 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9950 .loc 1 5973 1 is_stmt 0 view .LVU3534 9951 0080 D6E7 b .L638 9952 .cfi_endproc 9953 .LFE189: 9955 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits 9956 .align 1 9957 .syntax unified 9958 .thumb 9959 .thumb_func 9961 I2C_DMASlaveTransmitCplt: 9962 .LVL683: 9963 .LFB197: 6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 9964 .loc 1 6576 1 is_stmt 1 view -0 9965 .cfi_startproc 9966 @ args = 0, pretend = 0, frame = 0 9967 @ frame_needed = 0, uses_anonymous_args = 0 6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 9968 .loc 1 6576 1 is_stmt 0 view .LVU3536 9969 0000 08B5 push {r3, lr} 9970 .cfi_def_cfa_offset 8 9971 .cfi_offset 3, -8 9972 .cfi_offset 14, -4 6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 9973 .loc 1 6578 3 is_stmt 1 view .LVU3537 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 362 6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 9974 .loc 1 6578 22 is_stmt 0 view .LVU3538 9975 0002 406A ldr r0, [r0, #36] 9976 .LVL684: 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9977 .loc 1 6579 3 is_stmt 1 view .LVU3539 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9978 .loc 1 6579 12 is_stmt 0 view .LVU3540 9979 0004 C36A ldr r3, [r0, #44] 9980 .LVL685: 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9981 .loc 1 6581 3 is_stmt 1 view .LVU3541 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9982 .loc 1 6581 6 is_stmt 0 view .LVU3542 9983 0006 B3F1807F cmp r3, #16777216 9984 000a 00D0 beq .L647 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9985 .loc 1 6581 38 discriminator 1 view .LVU3543 9986 000c 33B9 cbnz r3, .L646 9987 .L647: 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9988 .loc 1 6584 5 is_stmt 1 view .LVU3544 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9989 .loc 1 6584 9 is_stmt 0 view .LVU3545 9990 000e 0268 ldr r2, [r0] 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9991 .loc 1 6584 19 view .LVU3546 9992 0010 1368 ldr r3, [r2] 9993 .LVL686: 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9994 .loc 1 6584 25 view .LVU3547 9995 0012 23F48043 bic r3, r3, #16384 9996 0016 1360 str r3, [r2] 6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9997 .loc 1 6588 5 is_stmt 1 view .LVU3548 9998 0018 FFF7FEFF bl I2C_ITSlaveSeqCplt 9999 .LVL687: 10000 .L646: 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10001 .loc 1 6596 1 is_stmt 0 view .LVU3549 10002 001c 08BD pop {r3, pc} 10003 .cfi_endproc 10004 .LFE197: 10006 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits 10007 .align 1 10008 .syntax unified 10009 .thumb 10010 .thumb_func 10012 I2C_DMASlaveReceiveCplt: 10013 .LVL688: 10014 .LFB199: 6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 10015 .loc 1 6656 1 is_stmt 1 view -0 10016 .cfi_startproc 10017 @ args = 0, pretend = 0, frame = 0 10018 @ frame_needed = 0, uses_anonymous_args = 0 6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 363 10019 .loc 1 6656 1 is_stmt 0 view .LVU3551 10020 0000 08B5 push {r3, lr} 10021 .cfi_def_cfa_offset 8 10022 .cfi_offset 3, -8 10023 .cfi_offset 14, -4 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 10024 .loc 1 6658 3 is_stmt 1 view .LVU3552 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 10025 .loc 1 6658 22 is_stmt 0 view .LVU3553 10026 0002 406A ldr r0, [r0, #36] 10027 .LVL689: 6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10028 .loc 1 6659 3 is_stmt 1 view .LVU3554 6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10029 .loc 1 6659 12 is_stmt 0 view .LVU3555 10030 0004 C26A ldr r2, [r0, #44] 10031 .LVL690: 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 10032 .loc 1 6661 3 is_stmt 1 view .LVU3556 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 10033 .loc 1 6661 8 is_stmt 0 view .LVU3557 10034 0006 C36B ldr r3, [r0, #60] 10035 0008 1B68 ldr r3, [r3] 10036 000a 5B68 ldr r3, [r3, #4] 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 10037 .loc 1 6661 6 view .LVU3558 10038 000c 13B9 cbnz r3, .L650 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 10039 .loc 1 6661 53 discriminator 1 view .LVU3559 10040 000e 12F5803F cmn r2, #65536 10041 0012 00D1 bne .L653 10042 .LVL691: 10043 .L650: 6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10044 .loc 1 6676 1 view .LVU3560 10045 0014 08BD pop {r3, pc} 10046 .LVL692: 10047 .L653: 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10048 .loc 1 6665 5 is_stmt 1 view .LVU3561 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10049 .loc 1 6665 9 is_stmt 0 view .LVU3562 10050 0016 0268 ldr r2, [r0] 10051 .LVL693: 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10052 .loc 1 6665 19 view .LVU3563 10053 0018 1368 ldr r3, [r2] 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10054 .loc 1 6665 25 view .LVU3564 10055 001a 23F40043 bic r3, r3, #32768 10056 001e 1360 str r3, [r2] 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10057 .loc 1 6668 5 is_stmt 1 view .LVU3565 10058 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt 10059 .LVL694: 6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10060 .loc 1 6675 3 view .LVU3566 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 364 6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10061 .loc 1 6676 1 is_stmt 0 view .LVU3567 10062 0024 F6E7 b .L650 10063 .cfi_endproc 10064 .LFE199: 10066 .section .text.HAL_I2C_AddrCallback,"ax",%progbits 10067 .align 1 10068 .weak HAL_I2C_AddrCallback 10069 .syntax unified 10070 .thumb 10071 .thumb_func 10073 HAL_I2C_AddrCallback: 10074 .LVL695: 10075 .LFB170: 4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10076 .loc 1 4643 1 is_stmt 1 view -0 10077 .cfi_startproc 10078 @ args = 0, pretend = 0, frame = 0 10079 @ frame_needed = 0, uses_anonymous_args = 0 10080 @ link register save eliminated. 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection); 10081 .loc 1 4645 3 view .LVU3569 4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode); 10082 .loc 1 4646 3 view .LVU3570 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10083 .loc 1 4647 3 view .LVU3571 4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10084 .loc 1 4652 1 is_stmt 0 view .LVU3572 10085 0000 7047 bx lr 10086 .cfi_endproc 10087 .LFE170: 10089 .section .text.I2C_ITAddrCplt,"ax",%progbits 10090 .align 1 10091 .syntax unified 10092 .thumb 10093 .thumb_func 10095 I2C_ITAddrCplt: 10096 .LVL696: 10097 .LFB187: 5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection; 10098 .loc 1 5760 1 is_stmt 1 view -0 10099 .cfi_startproc 10100 @ args = 0, pretend = 0, frame = 0 10101 @ frame_needed = 0, uses_anonymous_args = 0 5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection; 10102 .loc 1 5760 1 is_stmt 0 view .LVU3574 10103 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 10104 .cfi_def_cfa_offset 24 10105 .cfi_offset 3, -24 10106 .cfi_offset 4, -20 10107 .cfi_offset 5, -16 10108 .cfi_offset 6, -12 10109 .cfi_offset 7, -8 10110 .cfi_offset 14, -4 10111 0002 0446 mov r4, r0 5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode; 10112 .loc 1 5761 3 is_stmt 1 view .LVU3575 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 365 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code; 10113 .loc 1 5762 3 view .LVU3576 5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code; 10114 .loc 1 5763 3 view .LVU3577 5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10115 .loc 1 5764 3 view .LVU3578 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10116 .loc 1 5767 3 view .LVU3579 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10117 .loc 1 5770 3 view .LVU3580 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10118 .loc 1 5770 22 is_stmt 0 view .LVU3581 10119 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10120 .loc 1 5770 6 view .LVU3582 10121 0008 03F02803 and r3, r3, #40 10122 000c 282B cmp r3, #40 10123 000e 06D0 beq .L661 5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10124 .loc 1 5842 5 is_stmt 1 view .LVU3583 10125 0010 0368 ldr r3, [r0] 10126 0012 0822 movs r2, #8 10127 0014 DA61 str r2, [r3, #28] 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10128 .loc 1 5845 5 view .LVU3584 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10129 .loc 1 5845 5 view .LVU3585 10130 0016 0023 movs r3, #0 10131 0018 80F84030 strb r3, [r0, #64] 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10132 .loc 1 5845 5 view .LVU3586 10133 .LVL697: 10134 .L655: 5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10135 .loc 1 5847 1 is_stmt 0 view .LVU3587 10136 001c F8BD pop {r3, r4, r5, r6, r7, pc} 10137 .LVL698: 10138 .L661: 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 10139 .loc 1 5772 5 is_stmt 1 view .LVU3588 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 10140 .loc 1 5772 25 is_stmt 0 view .LVU3589 10141 001e 0368 ldr r3, [r0] 10142 0020 9E69 ldr r6, [r3, #24] 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 10143 .loc 1 5772 23 view .LVU3590 10144 0022 C6F30046 ubfx r6, r6, #16, #1 10145 .LVL699: 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 10146 .loc 1 5773 5 is_stmt 1 view .LVU3591 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 10147 .loc 1 5773 25 is_stmt 0 view .LVU3592 10148 0026 9A69 ldr r2, [r3, #24] 10149 0028 120C lsrs r2, r2, #16 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 10150 .loc 1 5773 23 view .LVU3593 10151 002a 02F0FE05 and r5, r2, #254 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 366 10152 .LVL700: 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 10153 .loc 1 5774 5 is_stmt 1 view .LVU3594 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 10154 .loc 1 5774 25 is_stmt 0 view .LVU3595 10155 002e 9A68 ldr r2, [r3, #8] 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 10156 .loc 1 5774 23 view .LVU3596 10157 0030 C2F30902 ubfx r2, r2, #0, #10 10158 .LVL701: 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10159 .loc 1 5775 5 is_stmt 1 view .LVU3597 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10160 .loc 1 5775 25 is_stmt 0 view .LVU3598 10161 0034 DF68 ldr r7, [r3, #12] 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10162 .loc 1 5775 23 view .LVU3599 10163 0036 07F0FE07 and r7, r7, #254 10164 .LVL702: 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10165 .loc 1 5778 5 is_stmt 1 view .LVU3600 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10166 .loc 1 5778 19 is_stmt 0 view .LVU3601 10167 003a C168 ldr r1, [r0, #12] 10168 .LVL703: 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10169 .loc 1 5778 8 view .LVU3602 10170 003c 0229 cmp r1, #2 10171 003e 22D1 bne .L657 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10172 .loc 1 5780 7 is_stmt 1 view .LVU3603 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10173 .loc 1 5780 44 is_stmt 0 view .LVU3604 10174 0040 85EAD215 eor r5, r5, r2, lsr #7 10175 .LVL704: 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10176 .loc 1 5780 10 view .LVU3605 10177 0044 15F0060F tst r5, #6 10178 0048 10D1 bne .L658 5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++; 10179 .loc 1 5782 9 is_stmt 1 view .LVU3606 10180 .LVL705: 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 10181 .loc 1 5783 9 view .LVU3607 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 10182 .loc 1 5783 13 is_stmt 0 view .LVU3608 10183 004a 816C ldr r1, [r0, #72] 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 10184 .loc 1 5783 29 view .LVU3609 10185 004c 0131 adds r1, r1, #1 10186 004e 8164 str r1, [r0, #72] 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10187 .loc 1 5784 9 is_stmt 1 view .LVU3610 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10188 .loc 1 5784 17 is_stmt 0 view .LVU3611 10189 0050 816C ldr r1, [r0, #72] 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 367 10190 .loc 1 5784 12 view .LVU3612 10191 0052 0229 cmp r1, #2 10192 0054 E2D1 bne .L655 5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10193 .loc 1 5787 11 is_stmt 1 view .LVU3613 5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10194 .loc 1 5787 32 is_stmt 0 view .LVU3614 10195 0056 0021 movs r1, #0 10196 0058 8164 str r1, [r0, #72] 5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10197 .loc 1 5790 11 is_stmt 1 view .LVU3615 10198 005a 0820 movs r0, #8 10199 .LVL706: 5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10200 .loc 1 5790 11 is_stmt 0 view .LVU3616 10201 005c D861 str r0, [r3, #28] 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10202 .loc 1 5793 11 is_stmt 1 view .LVU3617 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10203 .loc 1 5793 11 view .LVU3618 10204 005e 84F84010 strb r1, [r4, #64] 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10205 .loc 1 5793 11 view .LVU3619 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10206 .loc 1 5799 11 view .LVU3620 10207 0062 3146 mov r1, r6 10208 0064 2046 mov r0, r4 10209 0066 FFF7FEFF bl HAL_I2C_AddrCallback 10210 .LVL707: 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10211 .loc 1 5799 11 is_stmt 0 view .LVU3621 10212 006a D7E7 b .L655 10213 .LVL708: 10214 .L658: 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10215 .loc 1 5805 9 is_stmt 1 view .LVU3622 5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10216 .loc 1 5808 9 view .LVU3623 10217 006c 4FF40041 mov r1, #32768 10218 0070 FFF7FEFF bl I2C_Disable_IRQ 10219 .LVL709: 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10220 .loc 1 5811 9 view .LVU3624 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10221 .loc 1 5811 9 view .LVU3625 10222 0074 0023 movs r3, #0 10223 0076 84F84030 strb r3, [r4, #64] 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10224 .loc 1 5811 9 view .LVU3626 5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10225 .loc 1 5817 9 view .LVU3627 10226 007a 3A46 mov r2, r7 10227 007c 3146 mov r1, r6 10228 007e 2046 mov r0, r4 10229 0080 FFF7FEFF bl HAL_I2C_AddrCallback 10230 .LVL710: 10231 0084 CAE7 b .L655 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 368 10232 .LVL711: 10233 .L657: 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10234 .loc 1 5825 7 view .LVU3628 10235 0086 4FF40041 mov r1, #32768 10236 008a FFF7FEFF bl I2C_Disable_IRQ 10237 .LVL712: 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10238 .loc 1 5828 7 view .LVU3629 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10239 .loc 1 5828 7 view .LVU3630 10240 008e 0023 movs r3, #0 10241 0090 84F84030 strb r3, [r4, #64] 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10242 .loc 1 5828 7 view .LVU3631 5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10243 .loc 1 5834 7 view .LVU3632 10244 0094 2A46 mov r2, r5 10245 0096 3146 mov r1, r6 10246 0098 2046 mov r0, r4 10247 009a FFF7FEFF bl HAL_I2C_AddrCallback 10248 .LVL713: 10249 009e BDE7 b .L655 10250 .cfi_endproc 10251 .LFE187: 10253 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits 10254 .align 1 10255 .weak HAL_I2C_ListenCpltCallback 10256 .syntax unified 10257 .thumb 10258 .thumb_func 10260 HAL_I2C_ListenCpltCallback: 10261 .LVL714: 10262 .LFB171: 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10263 .loc 1 4661 1 view -0 10264 .cfi_startproc 10265 @ args = 0, pretend = 0, frame = 0 10266 @ frame_needed = 0, uses_anonymous_args = 0 10267 @ link register save eliminated. 4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10268 .loc 1 4663 3 view .LVU3634 4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10269 .loc 1 4668 1 is_stmt 0 view .LVU3635 10270 0000 7047 bx lr 10271 .cfi_endproc 10272 .LFE171: 10274 .section .text.I2C_ITListenCplt,"ax",%progbits 10275 .align 1 10276 .syntax unified 10277 .thumb 10278 .thumb_func 10280 I2C_ITListenCplt: 10281 .LVL715: 10282 .LFB192: 6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 10283 .loc 1 6284 1 is_stmt 1 view -0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 369 10284 .cfi_startproc 10285 @ args = 0, pretend = 0, frame = 0 10286 @ frame_needed = 0, uses_anonymous_args = 0 6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 10287 .loc 1 6284 1 is_stmt 0 view .LVU3637 10288 0000 10B5 push {r4, lr} 10289 .cfi_def_cfa_offset 8 10290 .cfi_offset 4, -8 10291 .cfi_offset 14, -4 10292 0002 0446 mov r4, r0 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 10293 .loc 1 6286 3 is_stmt 1 view .LVU3638 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 10294 .loc 1 6286 21 is_stmt 0 view .LVU3639 10295 0004 174B ldr r3, .L666 10296 0006 C362 str r3, [r0, #44] 6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 10297 .loc 1 6287 3 is_stmt 1 view .LVU3640 6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 10298 .loc 1 6287 23 is_stmt 0 view .LVU3641 10299 0008 0023 movs r3, #0 10300 000a 0363 str r3, [r0, #48] 6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10301 .loc 1 6288 3 is_stmt 1 view .LVU3642 6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10302 .loc 1 6288 15 is_stmt 0 view .LVU3643 10303 000c 2022 movs r2, #32 10304 000e 80F84120 strb r2, [r0, #65] 6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 10305 .loc 1 6289 3 is_stmt 1 view .LVU3644 6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 10306 .loc 1 6289 14 is_stmt 0 view .LVU3645 10307 0012 80F84230 strb r3, [r0, #66] 6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10308 .loc 1 6290 3 is_stmt 1 view .LVU3646 6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10309 .loc 1 6290 17 is_stmt 0 view .LVU3647 10310 0016 4363 str r3, [r0, #52] 6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10311 .loc 1 6293 3 is_stmt 1 view .LVU3648 6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10312 .loc 1 6293 6 is_stmt 0 view .LVU3649 10313 0018 11F0040F tst r1, #4 10314 001c 13D0 beq .L664 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10315 .loc 1 6296 5 is_stmt 1 view .LVU3650 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10316 .loc 1 6296 36 is_stmt 0 view .LVU3651 10317 001e 0368 ldr r3, [r0] 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10318 .loc 1 6296 46 view .LVU3652 10319 0020 5A6A ldr r2, [r3, #36] 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10320 .loc 1 6296 10 view .LVU3653 10321 0022 436A ldr r3, [r0, #36] 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10322 .loc 1 6296 21 view .LVU3654 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 370 10323 0024 1A70 strb r2, [r3] 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10324 .loc 1 6299 5 is_stmt 1 view .LVU3655 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10325 .loc 1 6299 9 is_stmt 0 view .LVU3656 10326 0026 436A ldr r3, [r0, #36] 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10327 .loc 1 6299 19 view .LVU3657 10328 0028 0133 adds r3, r3, #1 10329 002a 4362 str r3, [r0, #36] 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10330 .loc 1 6301 5 is_stmt 1 view .LVU3658 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10331 .loc 1 6301 14 is_stmt 0 view .LVU3659 10332 002c 038D ldrh r3, [r0, #40] 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10333 .loc 1 6301 8 view .LVU3660 10334 002e 53B1 cbz r3, .L664 6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 10335 .loc 1 6303 7 is_stmt 1 view .LVU3661 6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 10336 .loc 1 6303 21 is_stmt 0 view .LVU3662 10337 0030 013B subs r3, r3, #1 10338 0032 0385 strh r3, [r0, #40] @ movhi 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10339 .loc 1 6304 7 is_stmt 1 view .LVU3663 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10340 .loc 1 6304 11 is_stmt 0 view .LVU3664 10341 0034 438D ldrh r3, [r0, #42] 10342 0036 9BB2 uxth r3, r3 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10343 .loc 1 6304 22 view .LVU3665 10344 0038 013B subs r3, r3, #1 10345 003a 9BB2 uxth r3, r3 10346 003c 4385 strh r3, [r0, #42] @ movhi 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10347 .loc 1 6307 7 is_stmt 1 view .LVU3666 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10348 .loc 1 6307 11 is_stmt 0 view .LVU3667 10349 003e 436C ldr r3, [r0, #68] 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10350 .loc 1 6307 23 view .LVU3668 10351 0040 43F00403 orr r3, r3, #4 10352 0044 4364 str r3, [r0, #68] 10353 .L664: 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10354 .loc 1 6312 3 is_stmt 1 view .LVU3669 10355 0046 48F20301 movw r1, #32771 10356 .LVL716: 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10357 .loc 1 6312 3 is_stmt 0 view .LVU3670 10358 004a 2046 mov r0, r4 10359 .LVL717: 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10360 .loc 1 6312 3 view .LVU3671 10361 004c FFF7FEFF bl I2C_Disable_IRQ 10362 .LVL718: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 371 6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10363 .loc 1 6315 3 is_stmt 1 view .LVU3672 10364 0050 2368 ldr r3, [r4] 10365 0052 1022 movs r2, #16 10366 0054 DA61 str r2, [r3, #28] 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10367 .loc 1 6318 3 view .LVU3673 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10368 .loc 1 6318 3 view .LVU3674 10369 0056 0023 movs r3, #0 10370 0058 84F84030 strb r3, [r4, #64] 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10371 .loc 1 6318 3 view .LVU3675 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10372 .loc 1 6324 3 view .LVU3676 10373 005c 2046 mov r0, r4 10374 005e FFF7FEFF bl HAL_I2C_ListenCpltCallback 10375 .LVL719: 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10376 .loc 1 6326 1 is_stmt 0 view .LVU3677 10377 0062 10BD pop {r4, pc} 10378 .LVL720: 10379 .L667: 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10380 .loc 1 6326 1 view .LVU3678 10381 .align 2 10382 .L666: 10383 0064 0000FFFF .word -65536 10384 .cfi_endproc 10385 .LFE192: 10387 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits 10388 .align 1 10389 .weak HAL_I2C_MemTxCpltCallback 10390 .syntax unified 10391 .thumb 10392 .thumb_func 10394 HAL_I2C_MemTxCpltCallback: 10395 .LVL721: 10396 .LFB172: 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10397 .loc 1 4677 1 is_stmt 1 view -0 10398 .cfi_startproc 10399 @ args = 0, pretend = 0, frame = 0 10400 @ frame_needed = 0, uses_anonymous_args = 0 10401 @ link register save eliminated. 4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10402 .loc 1 4679 3 view .LVU3680 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10403 .loc 1 4684 1 is_stmt 0 view .LVU3681 10404 0000 7047 bx lr 10405 .cfi_endproc 10406 .LFE172: 10408 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits 10409 .align 1 10410 .weak HAL_I2C_MemRxCpltCallback 10411 .syntax unified 10412 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 372 10413 .thumb_func 10415 HAL_I2C_MemRxCpltCallback: 10416 .LVL722: 10417 .LFB173: 4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10418 .loc 1 4693 1 is_stmt 1 view -0 10419 .cfi_startproc 10420 @ args = 0, pretend = 0, frame = 0 10421 @ frame_needed = 0, uses_anonymous_args = 0 10422 @ link register save eliminated. 4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10423 .loc 1 4695 3 view .LVU3683 4700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10424 .loc 1 4700 1 is_stmt 0 view .LVU3684 10425 0000 7047 bx lr 10426 .cfi_endproc 10427 .LFE173: 10429 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits 10430 .align 1 10431 .weak HAL_I2C_ErrorCallback 10432 .syntax unified 10433 .thumb 10434 .thumb_func 10436 HAL_I2C_ErrorCallback: 10437 .LVL723: 10438 .LFB174: 4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10439 .loc 1 4709 1 is_stmt 1 view -0 10440 .cfi_startproc 10441 @ args = 0, pretend = 0, frame = 0 10442 @ frame_needed = 0, uses_anonymous_args = 0 10443 @ link register save eliminated. 4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10444 .loc 1 4711 3 view .LVU3686 4716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10445 .loc 1 4716 1 is_stmt 0 view .LVU3687 10446 0000 7047 bx lr 10447 .cfi_endproc 10448 .LFE174: 10450 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits 10451 .align 1 10452 .weak HAL_I2C_AbortCpltCallback 10453 .syntax unified 10454 .thumb 10455 .thumb_func 10457 HAL_I2C_AbortCpltCallback: 10458 .LVL724: 10459 .LFB175: 4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 10460 .loc 1 4725 1 is_stmt 1 view -0 10461 .cfi_startproc 10462 @ args = 0, pretend = 0, frame = 0 10463 @ frame_needed = 0, uses_anonymous_args = 0 10464 @ link register save eliminated. 4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10465 .loc 1 4727 3 view .LVU3689 4732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 373 10466 .loc 1 4732 1 is_stmt 0 view .LVU3690 10467 0000 7047 bx lr 10468 .cfi_endproc 10469 .LFE175: 10471 .section .text.I2C_TreatErrorCallback,"ax",%progbits 10472 .align 1 10473 .syntax unified 10474 .thumb 10475 .thumb_func 10477 I2C_TreatErrorCallback: 10478 .LVL725: 10479 .LFB194: 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT) 10480 .loc 1 6466 1 is_stmt 1 view -0 10481 .cfi_startproc 10482 @ args = 0, pretend = 0, frame = 0 10483 @ frame_needed = 0, uses_anonymous_args = 0 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT) 10484 .loc 1 6466 1 is_stmt 0 view .LVU3692 10485 0000 08B5 push {r3, lr} 10486 .cfi_def_cfa_offset 8 10487 .cfi_offset 3, -8 10488 .cfi_offset 14, -4 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10489 .loc 1 6467 3 is_stmt 1 view .LVU3693 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10490 .loc 1 6467 11 is_stmt 0 view .LVU3694 10491 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 10492 0006 DBB2 uxtb r3, r3 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10493 .loc 1 6467 6 view .LVU3695 10494 0008 602B cmp r3, #96 10495 000a 06D0 beq .L676 6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10496 .loc 1 6484 5 is_stmt 1 view .LVU3696 6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10497 .loc 1 6484 25 is_stmt 0 view .LVU3697 10498 000c 0023 movs r3, #0 10499 000e 0363 str r3, [r0, #48] 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10500 .loc 1 6487 5 is_stmt 1 view .LVU3698 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10501 .loc 1 6487 5 view .LVU3699 10502 0010 80F84030 strb r3, [r0, #64] 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10503 .loc 1 6487 5 view .LVU3700 6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10504 .loc 1 6493 5 view .LVU3701 10505 0014 FFF7FEFF bl HAL_I2C_ErrorCallback 10506 .LVL726: 10507 .L672: 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10508 .loc 1 6496 1 is_stmt 0 view .LVU3702 10509 0018 08BD pop {r3, pc} 10510 .LVL727: 10511 .L676: 6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 374 10512 .loc 1 6469 5 is_stmt 1 view .LVU3703 6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 10513 .loc 1 6469 17 is_stmt 0 view .LVU3704 10514 001a 2023 movs r3, #32 10515 001c 80F84130 strb r3, [r0, #65] 6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10516 .loc 1 6470 5 is_stmt 1 view .LVU3705 6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10517 .loc 1 6470 25 is_stmt 0 view .LVU3706 10518 0020 0023 movs r3, #0 10519 0022 0363 str r3, [r0, #48] 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10520 .loc 1 6473 5 is_stmt 1 view .LVU3707 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10521 .loc 1 6473 5 view .LVU3708 10522 0024 80F84030 strb r3, [r0, #64] 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10523 .loc 1 6473 5 view .LVU3709 6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10524 .loc 1 6479 5 view .LVU3710 10525 0028 FFF7FEFF bl HAL_I2C_AbortCpltCallback 10526 .LVL728: 6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 10527 .loc 1 6479 5 is_stmt 0 view .LVU3711 10528 002c F4E7 b .L672 10529 .cfi_endproc 10530 .LFE194: 10532 .section .text.I2C_ITError,"ax",%progbits 10533 .align 1 10534 .syntax unified 10535 .thumb 10536 .thumb_func 10538 I2C_ITError: 10539 .LVL729: 10540 .LFB193: 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 10541 .loc 1 6335 1 is_stmt 1 view -0 10542 .cfi_startproc 10543 @ args = 0, pretend = 0, frame = 0 10544 @ frame_needed = 0, uses_anonymous_args = 0 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 10545 .loc 1 6335 1 is_stmt 0 view .LVU3713 10546 0000 10B5 push {r4, lr} 10547 .cfi_def_cfa_offset 8 10548 .cfi_offset 4, -8 10549 .cfi_offset 14, -4 10550 0002 0446 mov r4, r0 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10551 .loc 1 6336 3 is_stmt 1 view .LVU3714 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10552 .loc 1 6336 24 is_stmt 0 view .LVU3715 10553 0004 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 10554 .LVL730: 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10555 .loc 1 6338 3 is_stmt 1 view .LVU3716 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 10556 .loc 1 6341 3 view .LVU3717 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 375 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 10557 .loc 1 6341 23 is_stmt 0 view .LVU3718 10558 0008 0022 movs r2, #0 10559 000a 80F84220 strb r2, [r0, #66] 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 10560 .loc 1 6342 3 is_stmt 1 view .LVU3719 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 10561 .loc 1 6342 23 is_stmt 0 view .LVU3720 10562 000e 4548 ldr r0, .L692 10563 .LVL731: 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 10564 .loc 1 6342 23 view .LVU3721 10565 0010 E062 str r0, [r4, #44] 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10566 .loc 1 6343 3 is_stmt 1 view .LVU3722 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10567 .loc 1 6343 23 is_stmt 0 view .LVU3723 10568 0012 6285 strh r2, [r4, #42] @ movhi 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10569 .loc 1 6346 3 is_stmt 1 view .LVU3724 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10570 .loc 1 6346 7 is_stmt 0 view .LVU3725 10571 0014 626C ldr r2, [r4, #68] 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10572 .loc 1 6346 19 view .LVU3726 10573 0016 0A43 orrs r2, r2, r1 10574 0018 6264 str r2, [r4, #68] 6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 10575 .loc 1 6349 3 is_stmt 1 view .LVU3727 6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 10576 .loc 1 6350 50 is_stmt 0 view .LVU3728 10577 001a 283B subs r3, r3, #40 10578 .LVL732: 6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 10579 .loc 1 6350 50 view .LVU3729 10580 001c DBB2 uxtb r3, r3 6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 10581 .loc 1 6349 6 view .LVU3730 10582 001e 022B cmp r3, #2 10583 0020 19D8 bhi .L678 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10584 .loc 1 6354 5 is_stmt 1 view .LVU3731 10585 0022 0321 movs r1, #3 10586 .LVL733: 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10587 .loc 1 6354 5 is_stmt 0 view .LVU3732 10588 0024 2046 mov r0, r4 10589 0026 FFF7FEFF bl I2C_Disable_IRQ 10590 .LVL734: 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 10591 .loc 1 6357 5 is_stmt 1 view .LVU3733 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 10592 .loc 1 6357 25 is_stmt 0 view .LVU3734 10593 002a 2823 movs r3, #40 10594 002c 84F84130 strb r3, [r4, #65] 6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10595 .loc 1 6358 5 is_stmt 1 view .LVU3735 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 376 6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10596 .loc 1 6358 25 is_stmt 0 view .LVU3736 10597 0030 3D4B ldr r3, .L692+4 10598 0032 6363 str r3, [r4, #52] 10599 .L679: 6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10600 .loc 1 6393 3 is_stmt 1 view .LVU3737 6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10601 .loc 1 6393 20 is_stmt 0 view .LVU3738 10602 0034 236B ldr r3, [r4, #48] 10603 .LVL735: 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 10604 .loc 1 6395 3 is_stmt 1 view .LVU3739 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 10605 .loc 1 6395 12 is_stmt 0 view .LVU3740 10606 0036 A26B ldr r2, [r4, #56] 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 10607 .loc 1 6395 6 view .LVU3741 10608 0038 1AB1 cbz r2, .L682 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 10609 .loc 1 6395 30 discriminator 1 view .LVU3742 10610 003a 112B cmp r3, #17 10611 003c 30D0 beq .L683 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 10612 .loc 1 6395 81 discriminator 2 view .LVU3743 10613 003e 212B cmp r3, #33 10614 0040 2ED0 beq .L683 10615 .L682: 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 10616 .loc 1 6425 8 is_stmt 1 view .LVU3744 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 10617 .loc 1 6425 17 is_stmt 0 view .LVU3745 10618 0042 E26B ldr r2, [r4, #60] 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 10619 .loc 1 6425 11 view .LVU3746 10620 0044 1AB1 cbz r2, .L687 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 10621 .loc 1 6425 35 discriminator 1 view .LVU3747 10622 0046 122B cmp r3, #18 10623 0048 4BD0 beq .L688 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 10624 .loc 1 6425 86 discriminator 2 view .LVU3748 10625 004a 222B cmp r3, #34 10626 004c 49D0 beq .L688 10627 .L687: 6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10628 .loc 1 6456 5 is_stmt 1 view .LVU3749 10629 004e 2046 mov r0, r4 10630 0050 FFF7FEFF bl I2C_TreatErrorCallback 10631 .LVL736: 10632 .L677: 6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10633 .loc 1 6458 1 is_stmt 0 view .LVU3750 10634 0054 10BD pop {r4, pc} 10635 .LVL737: 10636 .L678: 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 377 10637 .loc 1 6363 5 is_stmt 1 view .LVU3751 10638 0056 48F20301 movw r1, #32771 10639 .LVL738: 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10640 .loc 1 6363 5 is_stmt 0 view .LVU3752 10641 005a 2046 mov r0, r4 10642 005c FFF7FEFF bl I2C_Disable_IRQ 10643 .LVL739: 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10644 .loc 1 6366 5 is_stmt 1 view .LVU3753 10645 0060 2046 mov r0, r4 10646 0062 FFF7FEFF bl I2C_Flush_TXDR 10647 .LVL740: 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10648 .loc 1 6370 5 view .LVU3754 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10649 .loc 1 6370 13 is_stmt 0 view .LVU3755 10650 0066 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 10651 006a DBB2 uxtb r3, r3 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10652 .loc 1 6370 8 view .LVU3756 10653 006c 602B cmp r3, #96 10654 006e 14D0 beq .L680 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10655 .loc 1 6373 7 is_stmt 1 view .LVU3757 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10656 .loc 1 6373 27 is_stmt 0 view .LVU3758 10657 0070 2023 movs r3, #32 10658 0072 84F84130 strb r3, [r4, #65] 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10659 .loc 1 6376 7 is_stmt 1 view .LVU3759 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10660 .loc 1 6376 11 is_stmt 0 view .LVU3760 10661 0076 2368 ldr r3, [r4] 10662 0078 9A69 ldr r2, [r3, #24] 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10663 .loc 1 6376 10 view .LVU3761 10664 007a 12F0200F tst r2, #32 10665 007e 0CD0 beq .L680 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10666 .loc 1 6378 9 is_stmt 1 view .LVU3762 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10667 .loc 1 6378 13 is_stmt 0 view .LVU3763 10668 0080 9A69 ldr r2, [r3, #24] 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10669 .loc 1 6378 12 view .LVU3764 10670 0082 12F0100F tst r2, #16 10671 0086 05D0 beq .L681 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 10672 .loc 1 6380 11 is_stmt 1 view .LVU3765 10673 0088 1022 movs r2, #16 10674 008a DA61 str r2, [r3, #28] 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10675 .loc 1 6381 11 view .LVU3766 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10676 .loc 1 6381 15 is_stmt 0 view .LVU3767 10677 008c 636C ldr r3, [r4, #68] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 378 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10678 .loc 1 6381 27 view .LVU3768 10679 008e 43F00403 orr r3, r3, #4 10680 0092 6364 str r3, [r4, #68] 10681 .L681: 6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10682 .loc 1 6385 9 is_stmt 1 view .LVU3769 10683 0094 2368 ldr r3, [r4] 10684 0096 2022 movs r2, #32 10685 0098 DA61 str r2, [r3, #28] 10686 .L680: 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10687 .loc 1 6389 5 view .LVU3770 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10688 .loc 1 6389 25 is_stmt 0 view .LVU3771 10689 009a 0023 movs r3, #0 10690 009c 6363 str r3, [r4, #52] 10691 009e C9E7 b .L679 10692 .LVL741: 10693 .L683: 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10694 .loc 1 6398 5 is_stmt 1 view .LVU3772 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10695 .loc 1 6398 14 is_stmt 0 view .LVU3773 10696 00a0 2368 ldr r3, [r4] 10697 .LVL742: 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10698 .loc 1 6398 24 view .LVU3774 10699 00a2 1A68 ldr r2, [r3] 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10700 .loc 1 6398 8 view .LVU3775 10701 00a4 12F4804F tst r2, #16384 10702 00a8 03D0 beq .L684 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10703 .loc 1 6400 7 is_stmt 1 view .LVU3776 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10704 .loc 1 6400 21 is_stmt 0 view .LVU3777 10705 00aa 1A68 ldr r2, [r3] 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10706 .loc 1 6400 27 view .LVU3778 10707 00ac 22F48042 bic r2, r2, #16384 10708 00b0 1A60 str r2, [r3] 10709 .L684: 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10710 .loc 1 6403 5 is_stmt 1 view .LVU3779 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10711 .loc 1 6403 9 is_stmt 0 view .LVU3780 10712 00b2 A06B ldr r0, [r4, #56] 10713 00b4 FFF7FEFF bl HAL_DMA_GetState 10714 .LVL743: 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10715 .loc 1 6403 8 view .LVU3781 10716 00b8 0128 cmp r0, #1 10717 00ba 0ED0 beq .L685 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10718 .loc 1 6407 7 is_stmt 1 view .LVU3782 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 379 10719 .loc 1 6407 11 is_stmt 0 view .LVU3783 10720 00bc A36B ldr r3, [r4, #56] 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10721 .loc 1 6407 39 view .LVU3784 10722 00be 1B4A ldr r2, .L692+8 10723 00c0 5A63 str r2, [r3, #52] 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10724 .loc 1 6410 7 is_stmt 1 view .LVU3785 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10725 .loc 1 6410 7 view .LVU3786 10726 00c2 0023 movs r3, #0 10727 00c4 84F84030 strb r3, [r4, #64] 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10728 .loc 1 6410 7 view .LVU3787 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10729 .loc 1 6413 7 view .LVU3788 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10730 .loc 1 6413 11 is_stmt 0 view .LVU3789 10731 00c8 A06B ldr r0, [r4, #56] 10732 00ca FFF7FEFF bl HAL_DMA_Abort_IT 10733 .LVL744: 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10734 .loc 1 6413 10 view .LVU3790 10735 00ce 0028 cmp r0, #0 10736 00d0 C0D0 beq .L677 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10737 .loc 1 6416 9 is_stmt 1 view .LVU3791 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10738 .loc 1 6416 13 is_stmt 0 view .LVU3792 10739 00d2 A06B ldr r0, [r4, #56] 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10740 .loc 1 6416 21 view .LVU3793 10741 00d4 436B ldr r3, [r0, #52] 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10742 .loc 1 6416 9 view .LVU3794 10743 00d6 9847 blx r3 10744 .LVL745: 10745 00d8 BCE7 b .L677 10746 .L685: 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10747 .loc 1 6421 7 is_stmt 1 view .LVU3795 10748 00da 2046 mov r0, r4 10749 00dc FFF7FEFF bl I2C_TreatErrorCallback 10750 .LVL746: 10751 00e0 B8E7 b .L677 10752 .LVL747: 10753 .L688: 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10754 .loc 1 6428 5 view .LVU3796 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10755 .loc 1 6428 14 is_stmt 0 view .LVU3797 10756 00e2 2368 ldr r3, [r4] 10757 .LVL748: 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10758 .loc 1 6428 24 view .LVU3798 10759 00e4 1A68 ldr r2, [r3] 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 380 10760 .loc 1 6428 8 view .LVU3799 10761 00e6 12F4004F tst r2, #32768 10762 00ea 03D0 beq .L689 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10763 .loc 1 6430 7 is_stmt 1 view .LVU3800 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10764 .loc 1 6430 21 is_stmt 0 view .LVU3801 10765 00ec 1A68 ldr r2, [r3] 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10766 .loc 1 6430 27 view .LVU3802 10767 00ee 22F40042 bic r2, r2, #32768 10768 00f2 1A60 str r2, [r3] 10769 .L689: 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10770 .loc 1 6433 5 is_stmt 1 view .LVU3803 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10771 .loc 1 6433 9 is_stmt 0 view .LVU3804 10772 00f4 E06B ldr r0, [r4, #60] 10773 00f6 FFF7FEFF bl HAL_DMA_GetState 10774 .LVL749: 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10775 .loc 1 6433 8 view .LVU3805 10776 00fa 0128 cmp r0, #1 10777 00fc 0ED0 beq .L690 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10778 .loc 1 6437 7 is_stmt 1 view .LVU3806 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10779 .loc 1 6437 11 is_stmt 0 view .LVU3807 10780 00fe E36B ldr r3, [r4, #60] 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10781 .loc 1 6437 39 view .LVU3808 10782 0100 0A4A ldr r2, .L692+8 10783 0102 5A63 str r2, [r3, #52] 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10784 .loc 1 6440 7 is_stmt 1 view .LVU3809 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10785 .loc 1 6440 7 view .LVU3810 10786 0104 0023 movs r3, #0 10787 0106 84F84030 strb r3, [r4, #64] 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10788 .loc 1 6440 7 view .LVU3811 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10789 .loc 1 6443 7 view .LVU3812 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10790 .loc 1 6443 11 is_stmt 0 view .LVU3813 10791 010a E06B ldr r0, [r4, #60] 10792 010c FFF7FEFF bl HAL_DMA_Abort_IT 10793 .LVL750: 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10794 .loc 1 6443 10 view .LVU3814 10795 0110 0028 cmp r0, #0 10796 0112 9FD0 beq .L677 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10797 .loc 1 6446 9 is_stmt 1 view .LVU3815 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10798 .loc 1 6446 13 is_stmt 0 view .LVU3816 10799 0114 E06B ldr r0, [r4, #60] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 381 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10800 .loc 1 6446 21 view .LVU3817 10801 0116 436B ldr r3, [r0, #52] 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10802 .loc 1 6446 9 view .LVU3818 10803 0118 9847 blx r3 10804 .LVL751: 10805 011a 9BE7 b .L677 10806 .L690: 6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10807 .loc 1 6451 7 is_stmt 1 view .LVU3819 10808 011c 2046 mov r0, r4 10809 011e FFF7FEFF bl I2C_TreatErrorCallback 10810 .LVL752: 10811 0122 97E7 b .L677 10812 .L693: 10813 .align 2 10814 .L692: 10815 0124 0000FFFF .word -65536 10816 0128 00000000 .word I2C_Slave_ISR_IT 10817 012c 00000000 .word I2C_DMAAbort 10818 .cfi_endproc 10819 .LFE193: 10821 .section .text.I2C_ITSlaveCplt,"ax",%progbits 10822 .align 1 10823 .syntax unified 10824 .thumb 10825 .thumb_func 10827 I2C_ITSlaveCplt: 10828 .LVL753: 10829 .LFB191: 6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 10830 .loc 1 6125 1 view -0 10831 .cfi_startproc 10832 @ args = 0, pretend = 0, frame = 0 10833 @ frame_needed = 0, uses_anonymous_args = 0 6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 10834 .loc 1 6125 1 is_stmt 0 view .LVU3821 10835 0000 70B5 push {r4, r5, r6, lr} 10836 .cfi_def_cfa_offset 16 10837 .cfi_offset 4, -16 10838 .cfi_offset 5, -12 10839 .cfi_offset 6, -8 10840 .cfi_offset 14, -4 10841 0002 0446 mov r4, r0 10842 0004 0D46 mov r5, r1 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 10843 .loc 1 6126 3 is_stmt 1 view .LVU3822 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 10844 .loc 1 6126 26 is_stmt 0 view .LVU3823 10845 0006 0268 ldr r2, [r0] 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 10846 .loc 1 6126 12 view .LVU3824 10847 0008 1668 ldr r6, [r2] 10848 .LVL754: 6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 10849 .loc 1 6127 3 is_stmt 1 view .LVU3825 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 382 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10850 .loc 1 6128 3 view .LVU3826 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10851 .loc 1 6128 24 is_stmt 0 view .LVU3827 10852 000a 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 10853 000e DBB2 uxtb r3, r3 10854 .LVL755: 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10855 .loc 1 6131 3 is_stmt 1 view .LVU3828 10856 0010 2021 movs r1, #32 10857 .LVL756: 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10858 .loc 1 6131 3 is_stmt 0 view .LVU3829 10859 0012 D161 str r1, [r2, #28] 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10860 .loc 1 6134 3 is_stmt 1 view .LVU3830 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10861 .loc 1 6134 6 is_stmt 0 view .LVU3831 10862 0014 212B cmp r3, #33 10863 0016 0DD0 beq .L695 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10864 .loc 1 6134 43 discriminator 1 view .LVU3832 10865 0018 292B cmp r3, #41 10866 001a 0BD0 beq .L695 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10867 .loc 1 6139 8 is_stmt 1 view .LVU3833 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10868 .loc 1 6139 11 is_stmt 0 view .LVU3834 10869 001c 222B cmp r3, #34 10870 001e 01D0 beq .L698 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10871 .loc 1 6139 48 discriminator 1 view .LVU3835 10872 0020 2A2B cmp r3, #42 10873 0022 0ED1 bne .L697 10874 .L698: 6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 10875 .loc 1 6141 5 is_stmt 1 view .LVU3836 10876 0024 48F20201 movw r1, #32770 10877 0028 2046 mov r0, r4 10878 .LVL757: 6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 10879 .loc 1 6141 5 is_stmt 0 view .LVU3837 10880 002a FFF7FEFF bl I2C_Disable_IRQ 10881 .LVL758: 6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10882 .loc 1 6142 5 is_stmt 1 view .LVU3838 6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10883 .loc 1 6142 25 is_stmt 0 view .LVU3839 10884 002e 2223 movs r3, #34 10885 0030 2363 str r3, [r4, #48] 10886 0032 06E0 b .L697 10887 .LVL759: 10888 .L695: 6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 10889 .loc 1 6136 5 is_stmt 1 view .LVU3840 10890 0034 48F20101 movw r1, #32769 10891 0038 2046 mov r0, r4 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 383 10892 .LVL760: 6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 10893 .loc 1 6136 5 is_stmt 0 view .LVU3841 10894 003a FFF7FEFF bl I2C_Disable_IRQ 10895 .LVL761: 6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10896 .loc 1 6137 5 is_stmt 1 view .LVU3842 6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10897 .loc 1 6137 25 is_stmt 0 view .LVU3843 10898 003e 2123 movs r3, #33 10899 0040 2363 str r3, [r4, #48] 10900 .L697: 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10901 .loc 1 6150 3 is_stmt 1 view .LVU3844 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10902 .loc 1 6150 7 is_stmt 0 view .LVU3845 10903 0042 2268 ldr r2, [r4] 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10904 .loc 1 6150 17 view .LVU3846 10905 0044 5368 ldr r3, [r2, #4] 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10906 .loc 1 6150 23 view .LVU3847 10907 0046 43F40043 orr r3, r3, #32768 10908 004a 5360 str r3, [r2, #4] 6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10909 .loc 1 6153 3 is_stmt 1 view .LVU3848 10910 004c 2268 ldr r2, [r4] 10911 004e 5368 ldr r3, [r2, #4] 10912 0050 23F0FF73 bic r3, r3, #33423360 10913 0054 23F48B33 bic r3, r3, #71168 10914 0058 23F4FF73 bic r3, r3, #510 10915 005c 23F00103 bic r3, r3, #1 10916 0060 5360 str r3, [r2, #4] 6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10917 .loc 1 6156 3 view .LVU3849 10918 0062 2046 mov r0, r4 10919 0064 FFF7FEFF bl I2C_Flush_TXDR 10920 .LVL762: 6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10921 .loc 1 6159 3 view .LVU3850 6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10922 .loc 1 6159 6 is_stmt 0 view .LVU3851 10923 0068 16F4804F tst r6, #16384 10924 006c 40D0 beq .L699 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10925 .loc 1 6162 5 is_stmt 1 view .LVU3852 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10926 .loc 1 6162 9 is_stmt 0 view .LVU3853 10927 006e 2268 ldr r2, [r4] 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10928 .loc 1 6162 19 view .LVU3854 10929 0070 1368 ldr r3, [r2] 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10930 .loc 1 6162 25 view .LVU3855 10931 0072 23F48043 bic r3, r3, #16384 10932 0076 1360 str r3, [r2] 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 384 10933 .loc 1 6164 5 is_stmt 1 view .LVU3856 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10934 .loc 1 6164 13 is_stmt 0 view .LVU3857 10935 0078 A36B ldr r3, [r4, #56] 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10936 .loc 1 6164 8 view .LVU3858 10937 007a 1BB1 cbz r3, .L700 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10938 .loc 1 6166 7 is_stmt 1 view .LVU3859 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10939 .loc 1 6166 35 is_stmt 0 view .LVU3860 10940 007c 1B68 ldr r3, [r3] 10941 007e 5B68 ldr r3, [r3, #4] 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10942 .loc 1 6166 25 view .LVU3861 10943 0080 9BB2 uxth r3, r3 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10944 .loc 1 6166 23 view .LVU3862 10945 0082 6385 strh r3, [r4, #42] @ movhi 10946 .L700: 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10947 .loc 1 6182 3 is_stmt 1 view .LVU3863 6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10948 .loc 1 6185 3 view .LVU3864 6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10949 .loc 1 6185 6 is_stmt 0 view .LVU3865 10950 0084 15F0040F tst r5, #4 10951 0088 11D0 beq .L701 6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10952 .loc 1 6188 5 is_stmt 1 view .LVU3866 6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10953 .loc 1 6188 16 is_stmt 0 view .LVU3867 10954 008a 25F00405 bic r5, r5, #4 10955 .LVL763: 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10956 .loc 1 6191 5 is_stmt 1 view .LVU3868 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10957 .loc 1 6191 36 is_stmt 0 view .LVU3869 10958 008e 2368 ldr r3, [r4] 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10959 .loc 1 6191 46 view .LVU3870 10960 0090 5A6A ldr r2, [r3, #36] 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10961 .loc 1 6191 10 view .LVU3871 10962 0092 636A ldr r3, [r4, #36] 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10963 .loc 1 6191 21 view .LVU3872 10964 0094 1A70 strb r2, [r3] 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10965 .loc 1 6194 5 is_stmt 1 view .LVU3873 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10966 .loc 1 6194 9 is_stmt 0 view .LVU3874 10967 0096 636A ldr r3, [r4, #36] 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10968 .loc 1 6194 19 view .LVU3875 10969 0098 0133 adds r3, r3, #1 10970 009a 6362 str r3, [r4, #36] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 385 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10971 .loc 1 6196 5 is_stmt 1 view .LVU3876 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10972 .loc 1 6196 14 is_stmt 0 view .LVU3877 10973 009c 238D ldrh r3, [r4, #40] 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10974 .loc 1 6196 8 view .LVU3878 10975 009e 33B1 cbz r3, .L701 6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 10976 .loc 1 6198 7 is_stmt 1 view .LVU3879 6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 10977 .loc 1 6198 21 is_stmt 0 view .LVU3880 10978 00a0 013B subs r3, r3, #1 10979 00a2 2385 strh r3, [r4, #40] @ movhi 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10980 .loc 1 6199 7 is_stmt 1 view .LVU3881 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10981 .loc 1 6199 11 is_stmt 0 view .LVU3882 10982 00a4 638D ldrh r3, [r4, #42] 10983 00a6 9BB2 uxth r3, r3 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10984 .loc 1 6199 22 view .LVU3883 10985 00a8 013B subs r3, r3, #1 10986 00aa 9BB2 uxth r3, r3 10987 00ac 6385 strh r3, [r4, #42] @ movhi 10988 .L701: 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10989 .loc 1 6204 3 is_stmt 1 view .LVU3884 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10990 .loc 1 6204 11 is_stmt 0 view .LVU3885 10991 00ae 638D ldrh r3, [r4, #42] 10992 00b0 9BB2 uxth r3, r3 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10993 .loc 1 6204 6 view .LVU3886 10994 00b2 1BB1 cbz r3, .L702 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10995 .loc 1 6207 5 is_stmt 1 view .LVU3887 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10996 .loc 1 6207 9 is_stmt 0 view .LVU3888 10997 00b4 636C ldr r3, [r4, #68] 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10998 .loc 1 6207 21 view .LVU3889 10999 00b6 43F00403 orr r3, r3, #4 11000 00ba 6364 str r3, [r4, #68] 11001 .L702: 6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 11002 .loc 1 6210 3 is_stmt 1 view .LVU3890 6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 11003 .loc 1 6210 14 is_stmt 0 view .LVU3891 11004 00bc 0023 movs r3, #0 11005 00be 84F84230 strb r3, [r4, #66] 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11006 .loc 1 6211 3 is_stmt 1 view .LVU3892 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11007 .loc 1 6211 17 is_stmt 0 view .LVU3893 11008 00c2 6363 str r3, [r4, #52] 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 386 11009 .loc 1 6213 3 is_stmt 1 view .LVU3894 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11010 .loc 1 6213 11 is_stmt 0 view .LVU3895 11011 00c4 636C ldr r3, [r4, #68] 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11012 .loc 1 6213 6 view .LVU3896 11013 00c6 1BBB cbnz r3, .L708 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11014 .loc 1 6225 8 is_stmt 1 view .LVU3897 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11015 .loc 1 6225 16 is_stmt 0 view .LVU3898 11016 00c8 E36A ldr r3, [r4, #44] 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11017 .loc 1 6225 11 view .LVU3899 11018 00ca 13F5803F cmn r3, #65536 11019 00ce 2DD1 bne .L709 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11020 .loc 1 6245 8 is_stmt 1 view .LVU3900 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11021 .loc 1 6245 16 is_stmt 0 view .LVU3901 11022 00d0 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11023 00d4 DBB2 uxtb r3, r3 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11024 .loc 1 6245 11 view .LVU3902 11025 00d6 222B cmp r3, #34 11026 00d8 38D0 beq .L710 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11027 .loc 1 6262 5 is_stmt 1 view .LVU3903 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11028 .loc 1 6262 17 is_stmt 0 view .LVU3904 11029 00da 2023 movs r3, #32 11030 00dc 84F84130 strb r3, [r4, #65] 6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11031 .loc 1 6263 5 is_stmt 1 view .LVU3905 6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11032 .loc 1 6263 25 is_stmt 0 view .LVU3906 11033 00e0 0023 movs r3, #0 11034 00e2 2363 str r3, [r4, #48] 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11035 .loc 1 6266 5 is_stmt 1 view .LVU3907 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11036 .loc 1 6266 5 view .LVU3908 11037 00e4 84F84030 strb r3, [r4, #64] 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11038 .loc 1 6266 5 view .LVU3909 6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11039 .loc 1 6272 5 view .LVU3910 11040 00e8 2046 mov r0, r4 11041 00ea FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 11042 .LVL764: 6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11043 .loc 1 6275 1 is_stmt 0 view .LVU3911 11044 00ee 2CE0 b .L694 11045 .LVL765: 11046 .L699: 6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11047 .loc 1 6169 8 is_stmt 1 view .LVU3912 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 387 6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11048 .loc 1 6169 11 is_stmt 0 view .LVU3913 11049 00f0 16F4004F tst r6, #32768 11050 00f4 C6D0 beq .L700 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11051 .loc 1 6172 5 is_stmt 1 view .LVU3914 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11052 .loc 1 6172 9 is_stmt 0 view .LVU3915 11053 00f6 2268 ldr r2, [r4] 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11054 .loc 1 6172 19 view .LVU3916 11055 00f8 1368 ldr r3, [r2] 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11056 .loc 1 6172 25 view .LVU3917 11057 00fa 23F40043 bic r3, r3, #32768 11058 00fe 1360 str r3, [r2] 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11059 .loc 1 6174 5 is_stmt 1 view .LVU3918 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11060 .loc 1 6174 13 is_stmt 0 view .LVU3919 11061 0100 E36B ldr r3, [r4, #60] 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11062 .loc 1 6174 8 view .LVU3920 11063 0102 002B cmp r3, #0 11064 0104 BED0 beq .L700 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11065 .loc 1 6176 7 is_stmt 1 view .LVU3921 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11066 .loc 1 6176 35 is_stmt 0 view .LVU3922 11067 0106 1B68 ldr r3, [r3] 11068 0108 5B68 ldr r3, [r3, #4] 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11069 .loc 1 6176 25 view .LVU3923 11070 010a 9BB2 uxth r3, r3 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11071 .loc 1 6176 23 view .LVU3924 11072 010c 6385 strh r3, [r4, #42] @ movhi 11073 010e B9E7 b .L700 11074 .LVL766: 11075 .L708: 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11076 .loc 1 6216 5 is_stmt 1 view .LVU3925 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11077 .loc 1 6216 27 is_stmt 0 view .LVU3926 11078 0110 616C ldr r1, [r4, #68] 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11079 .loc 1 6216 5 view .LVU3927 11080 0112 2046 mov r0, r4 11081 0114 FFF7FEFF bl I2C_ITError 11082 .LVL767: 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11083 .loc 1 6219 5 is_stmt 1 view .LVU3928 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11084 .loc 1 6219 13 is_stmt 0 view .LVU3929 11085 0118 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11086 011c DBB2 uxtb r3, r3 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 388 11087 .loc 1 6219 8 view .LVU3930 11088 011e 282B cmp r3, #40 11089 0120 13D1 bne .L694 6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11090 .loc 1 6222 7 is_stmt 1 view .LVU3931 11091 0122 2946 mov r1, r5 11092 0124 2046 mov r0, r4 11093 0126 FFF7FEFF bl I2C_ITListenCplt 11094 .LVL768: 11095 012a 0EE0 b .L694 11096 .L709: 6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11097 .loc 1 6228 5 view .LVU3932 11098 012c 2046 mov r0, r4 11099 012e FFF7FEFF bl I2C_ITSlaveSeqCplt 11100 .LVL769: 6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11101 .loc 1 6230 5 view .LVU3933 6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11102 .loc 1 6230 23 is_stmt 0 view .LVU3934 11103 0132 0C4B ldr r3, .L711 11104 0134 E362 str r3, [r4, #44] 6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11105 .loc 1 6231 5 is_stmt 1 view .LVU3935 6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11106 .loc 1 6231 17 is_stmt 0 view .LVU3936 11107 0136 2023 movs r3, #32 11108 0138 84F84130 strb r3, [r4, #65] 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11109 .loc 1 6232 5 is_stmt 1 view .LVU3937 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11110 .loc 1 6232 25 is_stmt 0 view .LVU3938 11111 013c 0023 movs r3, #0 11112 013e 2363 str r3, [r4, #48] 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11113 .loc 1 6235 5 is_stmt 1 view .LVU3939 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11114 .loc 1 6235 5 view .LVU3940 11115 0140 84F84030 strb r3, [r4, #64] 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11116 .loc 1 6235 5 view .LVU3941 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11117 .loc 1 6241 5 view .LVU3942 11118 0144 2046 mov r0, r4 11119 0146 FFF7FEFF bl HAL_I2C_ListenCpltCallback 11120 .LVL770: 11121 .L694: 6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11122 .loc 1 6275 1 is_stmt 0 view .LVU3943 11123 014a 70BD pop {r4, r5, r6, pc} 11124 .LVL771: 11125 .L710: 6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11126 .loc 1 6247 5 is_stmt 1 view .LVU3944 6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11127 .loc 1 6247 17 is_stmt 0 view .LVU3945 11128 014c 2023 movs r3, #32 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 389 11129 014e 84F84130 strb r3, [r4, #65] 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11130 .loc 1 6248 5 is_stmt 1 view .LVU3946 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11131 .loc 1 6248 25 is_stmt 0 view .LVU3947 11132 0152 0023 movs r3, #0 11133 0154 2363 str r3, [r4, #48] 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11134 .loc 1 6251 5 is_stmt 1 view .LVU3948 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11135 .loc 1 6251 5 view .LVU3949 11136 0156 84F84030 strb r3, [r4, #64] 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11137 .loc 1 6251 5 view .LVU3950 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11138 .loc 1 6257 5 view .LVU3951 11139 015a 2046 mov r0, r4 11140 015c FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 11141 .LVL772: 11142 0160 F3E7 b .L694 11143 .L712: 11144 0162 00BF .align 2 11145 .L711: 11146 0164 0000FFFF .word -65536 11147 .cfi_endproc 11148 .LFE191: 11150 .section .text.I2C_Slave_ISR_IT,"ax",%progbits 11151 .align 1 11152 .syntax unified 11153 .thumb 11154 .thumb_func 11156 I2C_Slave_ISR_IT: 11157 .LVL773: 11158 .LFB181: 5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 11159 .loc 1 5092 1 view -0 11160 .cfi_startproc 11161 @ args = 0, pretend = 0, frame = 0 11162 @ frame_needed = 0, uses_anonymous_args = 0 5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 11163 .loc 1 5092 1 is_stmt 0 view .LVU3953 11164 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 11165 .cfi_def_cfa_offset 24 11166 .cfi_offset 3, -24 11167 .cfi_offset 4, -20 11168 .cfi_offset 5, -16 11169 .cfi_offset 6, -12 11170 .cfi_offset 7, -8 11171 .cfi_offset 14, -4 5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 11172 .loc 1 5093 3 is_stmt 1 view .LVU3954 5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 11173 .loc 1 5093 12 is_stmt 0 view .LVU3955 11174 0002 C76A ldr r7, [r0, #44] 11175 .LVL774: 5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11176 .loc 1 5094 3 is_stmt 1 view .LVU3956 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 390 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11177 .loc 1 5097 3 view .LVU3957 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11178 .loc 1 5097 3 view .LVU3958 11179 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 11180 0008 012B cmp r3, #1 11181 000a 00F09E80 beq .L727 11182 000e 0446 mov r4, r0 11183 0010 0D46 mov r5, r1 11184 0012 1646 mov r6, r2 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11185 .loc 1 5097 3 discriminator 2 view .LVU3959 11186 0014 0123 movs r3, #1 11187 0016 80F84030 strb r3, [r0, #64] 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11188 .loc 1 5097 3 discriminator 2 view .LVU3960 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11189 .loc 1 5100 3 discriminator 2 view .LVU3961 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11190 .loc 1 5100 6 is_stmt 0 discriminator 2 view .LVU3962 11191 001a 11F0200F tst r1, #32 11192 001e 02D0 beq .L715 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11193 .loc 1 5100 61 discriminator 1 view .LVU3963 11194 0020 12F0200F tst r2, #32 11195 0024 19D1 bne .L729 11196 .LVL775: 11197 .L715: 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11198 .loc 1 5107 3 is_stmt 1 view .LVU3964 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11199 .loc 1 5107 6 is_stmt 0 view .LVU3965 11200 0026 15F0100F tst r5, #16 11201 002a 3ED0 beq .L716 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11202 .loc 1 5107 58 discriminator 1 view .LVU3966 11203 002c 16F0100F tst r6, #16 11204 0030 3BD0 beq .L716 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11205 .loc 1 5114 5 is_stmt 1 view .LVU3967 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11206 .loc 1 5114 13 is_stmt 0 view .LVU3968 11207 0032 638D ldrh r3, [r4, #42] 11208 0034 9BB2 uxth r3, r3 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11209 .loc 1 5114 8 view .LVU3969 11210 0036 43BB cbnz r3, .L717 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 11211 .loc 1 5116 7 is_stmt 1 view .LVU3970 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 11212 .loc 1 5116 16 is_stmt 0 view .LVU3971 11213 0038 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11214 003c DBB2 uxtb r3, r3 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 11215 .loc 1 5116 10 view .LVU3972 11216 003e 282B cmp r3, #40 11217 0040 0ED0 beq .L730 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 391 11218 .L718: 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11219 .loc 1 5123 12 is_stmt 1 view .LVU3973 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11220 .loc 1 5123 21 is_stmt 0 view .LVU3974 11221 0042 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11222 0046 DBB2 uxtb r3, r3 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11223 .loc 1 5123 15 view .LVU3975 11224 0048 292B cmp r3, #41 11225 004a 11D0 beq .L731 11226 .L720: 5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11227 .loc 1 5138 9 is_stmt 1 view .LVU3976 11228 004c 2368 ldr r3, [r4] 11229 004e 1022 movs r2, #16 11230 0050 DA61 str r2, [r3, #28] 11231 .L719: 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11232 .loc 1 5215 3 view .LVU3977 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11233 .loc 1 5218 3 view .LVU3978 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11234 .loc 1 5218 3 view .LVU3979 11235 0052 0020 movs r0, #0 11236 0054 84F84000 strb r0, [r4, #64] 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11237 .loc 1 5218 3 view .LVU3980 5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11238 .loc 1 5220 3 view .LVU3981 11239 .LVL776: 11240 .L714: 5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11241 .loc 1 5221 1 is_stmt 0 view .LVU3982 11242 0058 F8BD pop {r3, r4, r5, r6, r7, pc} 11243 .LVL777: 11244 .L729: 5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11245 .loc 1 5104 5 is_stmt 1 view .LVU3983 11246 005a FFF7FEFF bl I2C_ITSlaveCplt 11247 .LVL778: 5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11248 .loc 1 5104 5 is_stmt 0 view .LVU3984 11249 005e E2E7 b .L715 11250 .L730: 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 11251 .loc 1 5116 49 discriminator 1 view .LVU3985 11252 0060 B7F1007F cmp r7, #33554432 11253 0064 EDD1 bne .L718 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11254 .loc 1 5121 9 is_stmt 1 view .LVU3986 11255 0066 2946 mov r1, r5 11256 0068 2046 mov r0, r4 11257 006a FFF7FEFF bl I2C_ITListenCplt 11258 .LVL779: 11259 006e F0E7 b .L719 11260 .L731: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 392 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11261 .loc 1 5123 62 is_stmt 0 discriminator 1 view .LVU3987 11262 0070 17F5803F cmn r7, #65536 11263 0074 EAD0 beq .L720 5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11264 .loc 1 5126 9 is_stmt 1 view .LVU3988 11265 0076 2368 ldr r3, [r4] 11266 0078 1022 movs r2, #16 11267 007a DA61 str r2, [r3, #28] 5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11268 .loc 1 5129 9 view .LVU3989 11269 007c 2046 mov r0, r4 11270 007e FFF7FEFF bl I2C_Flush_TXDR 11271 .LVL780: 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11272 .loc 1 5133 9 view .LVU3990 11273 0082 2046 mov r0, r4 11274 0084 FFF7FEFF bl I2C_ITSlaveSeqCplt 11275 .LVL781: 11276 0088 E3E7 b .L719 11277 .L717: 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11278 .loc 1 5145 7 view .LVU3991 11279 008a 2368 ldr r3, [r4] 11280 008c 1022 movs r2, #16 11281 008e DA61 str r2, [r3, #28] 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11282 .loc 1 5148 7 view .LVU3992 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11283 .loc 1 5148 11 is_stmt 0 view .LVU3993 11284 0090 636C ldr r3, [r4, #68] 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11285 .loc 1 5148 23 view .LVU3994 11286 0092 43F00403 orr r3, r3, #4 11287 0096 6364 str r3, [r4, #68] 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11288 .loc 1 5150 7 is_stmt 1 view .LVU3995 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11289 .loc 1 5150 10 is_stmt 0 view .LVU3996 11290 0098 17B1 cbz r7, .L721 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11291 .loc 1 5150 43 discriminator 1 view .LVU3997 11292 009a B7F1807F cmp r7, #16777216 11293 009e D8D1 bne .L719 11294 .L721: 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11295 .loc 1 5153 9 is_stmt 1 view .LVU3998 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11296 .loc 1 5153 31 is_stmt 0 view .LVU3999 11297 00a0 616C ldr r1, [r4, #68] 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11298 .loc 1 5153 9 view .LVU4000 11299 00a2 2046 mov r0, r4 11300 00a4 FFF7FEFF bl I2C_ITError 11301 .LVL782: 11302 00a8 D3E7 b .L719 11303 .L716: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 393 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11304 .loc 1 5157 8 is_stmt 1 view .LVU4001 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11305 .loc 1 5157 11 is_stmt 0 view .LVU4002 11306 00aa 15F0040F tst r5, #4 11307 00ae 1FD0 beq .L722 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11308 .loc 1 5157 65 discriminator 1 view .LVU4003 11309 00b0 16F0040F tst r6, #4 11310 00b4 1CD0 beq .L722 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11311 .loc 1 5160 5 is_stmt 1 view .LVU4004 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11312 .loc 1 5160 13 is_stmt 0 view .LVU4005 11313 00b6 638D ldrh r3, [r4, #42] 11314 00b8 9BB2 uxth r3, r3 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11315 .loc 1 5160 8 view .LVU4006 11316 00ba 73B1 cbz r3, .L723 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11317 .loc 1 5163 7 is_stmt 1 view .LVU4007 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11318 .loc 1 5163 38 is_stmt 0 view .LVU4008 11319 00bc 2368 ldr r3, [r4] 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11320 .loc 1 5163 48 view .LVU4009 11321 00be 5A6A ldr r2, [r3, #36] 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11322 .loc 1 5163 12 view .LVU4010 11323 00c0 636A ldr r3, [r4, #36] 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11324 .loc 1 5163 23 view .LVU4011 11325 00c2 1A70 strb r2, [r3] 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11326 .loc 1 5166 7 is_stmt 1 view .LVU4012 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11327 .loc 1 5166 11 is_stmt 0 view .LVU4013 11328 00c4 636A ldr r3, [r4, #36] 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11329 .loc 1 5166 21 view .LVU4014 11330 00c6 0133 adds r3, r3, #1 11331 00c8 6362 str r3, [r4, #36] 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11332 .loc 1 5168 7 is_stmt 1 view .LVU4015 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11333 .loc 1 5168 11 is_stmt 0 view .LVU4016 11334 00ca 238D ldrh r3, [r4, #40] 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11335 .loc 1 5168 21 view .LVU4017 11336 00cc 013B subs r3, r3, #1 11337 00ce 2385 strh r3, [r4, #40] @ movhi 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11338 .loc 1 5169 7 is_stmt 1 view .LVU4018 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11339 .loc 1 5169 11 is_stmt 0 view .LVU4019 11340 00d0 638D ldrh r3, [r4, #42] 11341 00d2 9BB2 uxth r3, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 394 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11342 .loc 1 5169 22 view .LVU4020 11343 00d4 013B subs r3, r3, #1 11344 00d6 9BB2 uxth r3, r3 11345 00d8 6385 strh r3, [r4, #42] @ movhi 11346 .L723: 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 11347 .loc 1 5172 5 is_stmt 1 view .LVU4021 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 11348 .loc 1 5172 14 is_stmt 0 view .LVU4022 11349 00da 638D ldrh r3, [r4, #42] 11350 00dc 9BB2 uxth r3, r3 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 11351 .loc 1 5172 8 view .LVU4023 11352 00de 002B cmp r3, #0 11353 00e0 B7D1 bne .L719 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 11354 .loc 1 5172 33 discriminator 1 view .LVU4024 11355 00e2 17F5803F cmn r7, #65536 11356 00e6 B4D0 beq .L719 5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11357 .loc 1 5176 7 is_stmt 1 view .LVU4025 11358 00e8 2046 mov r0, r4 11359 00ea FFF7FEFF bl I2C_ITSlaveSeqCplt 11360 .LVL783: 11361 00ee B0E7 b .L719 11362 .L722: 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 11363 .loc 1 5179 8 view .LVU4026 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 11364 .loc 1 5179 11 is_stmt 0 view .LVU4027 11365 00f0 15F0080F tst r5, #8 11366 00f4 02D0 beq .L724 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 11367 .loc 1 5179 65 discriminator 1 view .LVU4028 11368 00f6 16F0080F tst r6, #8 11369 00fa 18D1 bne .L732 11370 .L724: 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11371 .loc 1 5184 8 is_stmt 1 view .LVU4029 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11372 .loc 1 5184 11 is_stmt 0 view .LVU4030 11373 00fc 15F0020F tst r5, #2 11374 0100 A7D0 beq .L719 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11375 .loc 1 5184 65 discriminator 1 view .LVU4031 11376 0102 16F0020F tst r6, #2 11377 0106 A4D0 beq .L719 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11378 .loc 1 5191 5 is_stmt 1 view .LVU4032 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11379 .loc 1 5191 13 is_stmt 0 view .LVU4033 11380 0108 638D ldrh r3, [r4, #42] 11381 010a 9BB2 uxth r3, r3 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11382 .loc 1 5191 8 view .LVU4034 11383 010c A3B1 cbz r3, .L725 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 395 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11384 .loc 1 5194 7 is_stmt 1 view .LVU4035 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11385 .loc 1 5194 35 is_stmt 0 view .LVU4036 11386 010e 626A ldr r2, [r4, #36] 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11387 .loc 1 5194 11 view .LVU4037 11388 0110 2368 ldr r3, [r4] 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11389 .loc 1 5194 30 view .LVU4038 11390 0112 1278 ldrb r2, [r2] @ zero_extendqisi2 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11391 .loc 1 5194 28 view .LVU4039 11392 0114 9A62 str r2, [r3, #40] 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11393 .loc 1 5197 7 is_stmt 1 view .LVU4040 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11394 .loc 1 5197 11 is_stmt 0 view .LVU4041 11395 0116 636A ldr r3, [r4, #36] 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11396 .loc 1 5197 21 view .LVU4042 11397 0118 0133 adds r3, r3, #1 11398 011a 6362 str r3, [r4, #36] 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 11399 .loc 1 5199 7 is_stmt 1 view .LVU4043 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 11400 .loc 1 5199 11 is_stmt 0 view .LVU4044 11401 011c 638D ldrh r3, [r4, #42] 11402 011e 9BB2 uxth r3, r3 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 11403 .loc 1 5199 22 view .LVU4045 11404 0120 013B subs r3, r3, #1 11405 0122 9BB2 uxth r3, r3 11406 0124 6385 strh r3, [r4, #42] @ movhi 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11407 .loc 1 5200 7 is_stmt 1 view .LVU4046 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11408 .loc 1 5200 11 is_stmt 0 view .LVU4047 11409 0126 238D ldrh r3, [r4, #40] 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11410 .loc 1 5200 21 view .LVU4048 11411 0128 013B subs r3, r3, #1 11412 012a 2385 strh r3, [r4, #40] @ movhi 11413 012c 91E7 b .L719 11414 .L732: 5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11415 .loc 1 5182 5 is_stmt 1 view .LVU4049 11416 012e 2946 mov r1, r5 11417 0130 2046 mov r0, r4 11418 0132 FFF7FEFF bl I2C_ITAddrCplt 11419 .LVL784: 11420 0136 8CE7 b .L719 11421 .L725: 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11422 .loc 1 5204 7 view .LVU4050 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11423 .loc 1 5204 10 is_stmt 0 view .LVU4051 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 396 11424 0138 B7F1807F cmp r7, #16777216 11425 013c 01D0 beq .L726 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11426 .loc 1 5204 42 discriminator 1 view .LVU4052 11427 013e 002F cmp r7, #0 11428 0140 87D1 bne .L719 11429 .L726: 5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11430 .loc 1 5208 9 is_stmt 1 view .LVU4053 11431 0142 2046 mov r0, r4 11432 0144 FFF7FEFF bl I2C_ITSlaveSeqCplt 11433 .LVL785: 11434 0148 83E7 b .L719 11435 .LVL786: 11436 .L727: 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11437 .loc 1 5097 3 is_stmt 0 view .LVU4054 11438 014a 0220 movs r0, #2 11439 .LVL787: 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11440 .loc 1 5097 3 view .LVU4055 11441 014c 84E7 b .L714 11442 .cfi_endproc 11443 .LFE181: 11445 .section .text.I2C_ITMasterCplt,"ax",%progbits 11446 .align 1 11447 .syntax unified 11448 .thumb 11449 .thumb_func 11451 I2C_ITMasterCplt: 11452 .LVL788: 11453 .LFB190: 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 11454 .loc 1 5982 1 is_stmt 1 view -0 11455 .cfi_startproc 11456 @ args = 0, pretend = 0, frame = 8 11457 @ frame_needed = 0, uses_anonymous_args = 0 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 11458 .loc 1 5982 1 is_stmt 0 view .LVU4057 11459 0000 30B5 push {r4, r5, lr} 11460 .cfi_def_cfa_offset 12 11461 .cfi_offset 4, -12 11462 .cfi_offset 5, -8 11463 .cfi_offset 14, -4 11464 0002 83B0 sub sp, sp, #12 11465 .cfi_def_cfa_offset 24 11466 0004 0446 mov r4, r0 11467 0006 0D46 mov r5, r1 5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 11468 .loc 1 5983 3 is_stmt 1 view .LVU4058 5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg; 11469 .loc 1 5984 3 view .LVU4059 11470 .LVL789: 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11471 .loc 1 5985 3 view .LVU4060 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11472 .loc 1 5988 3 view .LVU4061 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 397 11473 0008 0368 ldr r3, [r0] 11474 000a 2022 movs r2, #32 11475 000c DA61 str r2, [r3, #28] 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11476 .loc 1 5991 3 view .LVU4062 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11477 .loc 1 5991 11 is_stmt 0 view .LVU4063 11478 000e 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 11479 0012 DBB2 uxtb r3, r3 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11480 .loc 1 5991 6 view .LVU4064 11481 0014 212B cmp r3, #33 11482 0016 33D0 beq .L745 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11483 .loc 1 5996 8 is_stmt 1 view .LVU4065 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11484 .loc 1 5996 16 is_stmt 0 view .LVU4066 11485 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 11486 001c DBB2 uxtb r3, r3 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11487 .loc 1 5996 11 view .LVU4067 11488 001e 222B cmp r3, #34 11489 0020 34D0 beq .L746 11490 .LVL790: 11491 .L735: 6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11492 .loc 1 6004 3 is_stmt 1 view .LVU4068 6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11493 .loc 1 6007 3 view .LVU4069 11494 0022 2268 ldr r2, [r4] 11495 0024 5368 ldr r3, [r2, #4] 11496 0026 23F0FF73 bic r3, r3, #33423360 11497 002a 23F48B33 bic r3, r3, #71168 11498 002e 23F4FF73 bic r3, r3, #510 11499 0032 23F00103 bic r3, r3, #1 11500 0036 5360 str r3, [r2, #4] 6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 11501 .loc 1 6010 3 view .LVU4070 6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 11502 .loc 1 6010 23 is_stmt 0 view .LVU4071 11503 0038 0023 movs r3, #0 11504 003a 6363 str r3, [r4, #52] 6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11505 .loc 1 6011 3 is_stmt 1 view .LVU4072 6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11506 .loc 1 6011 23 is_stmt 0 view .LVU4073 11507 003c A3F58033 sub r3, r3, #65536 11508 0040 E362 str r3, [r4, #44] 6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11509 .loc 1 6013 3 is_stmt 1 view .LVU4074 6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11510 .loc 1 6013 6 is_stmt 0 view .LVU4075 11511 0042 15F0100F tst r5, #16 11512 0046 06D0 beq .L736 6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11513 .loc 1 6016 5 is_stmt 1 view .LVU4076 11514 0048 2368 ldr r3, [r4] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 398 11515 004a 1022 movs r2, #16 11516 004c DA61 str r2, [r3, #28] 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11517 .loc 1 6019 5 view .LVU4077 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11518 .loc 1 6019 9 is_stmt 0 view .LVU4078 11519 004e 636C ldr r3, [r4, #68] 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11520 .loc 1 6019 21 view .LVU4079 11521 0050 43F00403 orr r3, r3, #4 11522 0054 6364 str r3, [r4, #68] 11523 .L736: 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11524 .loc 1 6023 3 is_stmt 1 view .LVU4080 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11525 .loc 1 6023 12 is_stmt 0 view .LVU4081 11526 0056 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11527 005a DBB2 uxtb r3, r3 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11528 .loc 1 6023 6 view .LVU4082 11529 005c 602B cmp r3, #96 11530 005e 1BD0 beq .L747 11531 .L737: 6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11532 .loc 1 6031 3 is_stmt 1 view .LVU4083 11533 0060 2046 mov r0, r4 11534 0062 FFF7FEFF bl I2C_Flush_TXDR 11535 .LVL791: 6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11536 .loc 1 6034 3 view .LVU4084 6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11537 .loc 1 6034 12 is_stmt 0 view .LVU4085 11538 0066 626C ldr r2, [r4, #68] 11539 .LVL792: 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11540 .loc 1 6037 3 is_stmt 1 view .LVU4086 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11541 .loc 1 6037 12 is_stmt 0 view .LVU4087 11542 0068 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11543 006c DBB2 uxtb r3, r3 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11544 .loc 1 6037 6 view .LVU4088 11545 006e 602B cmp r3, #96 11546 0070 00D0 beq .L738 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11547 .loc 1 6037 44 discriminator 1 view .LVU4089 11548 0072 D2B1 cbz r2, .L739 11549 .L738: 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11550 .loc 1 6040 5 is_stmt 1 view .LVU4090 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11551 .loc 1 6040 27 is_stmt 0 view .LVU4091 11552 0074 616C ldr r1, [r4, #68] 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11553 .loc 1 6040 5 view .LVU4092 11554 0076 2046 mov r0, r4 11555 0078 FFF7FEFF bl I2C_ITError ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 399 11556 .LVL793: 11557 .L733: 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11558 .loc 1 6116 1 view .LVU4093 11559 007c 03B0 add sp, sp, #12 11560 .cfi_remember_state 11561 .cfi_def_cfa_offset 12 11562 @ sp needed 11563 007e 30BD pop {r4, r5, pc} 11564 .LVL794: 11565 .L745: 11566 .cfi_restore_state 5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 11567 .loc 1 5993 5 is_stmt 1 view .LVU4094 11568 0080 0121 movs r1, #1 11569 .LVL795: 5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 11570 .loc 1 5993 5 is_stmt 0 view .LVU4095 11571 0082 FFF7FEFF bl I2C_Disable_IRQ 11572 .LVL796: 5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11573 .loc 1 5994 5 is_stmt 1 view .LVU4096 5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11574 .loc 1 5994 25 is_stmt 0 view .LVU4097 11575 0086 1123 movs r3, #17 11576 0088 2363 str r3, [r4, #48] 11577 008a CAE7 b .L735 11578 .LVL797: 11579 .L746: 5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 11580 .loc 1 5998 5 is_stmt 1 view .LVU4098 11581 008c 0221 movs r1, #2 11582 .LVL798: 5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 11583 .loc 1 5998 5 is_stmt 0 view .LVU4099 11584 008e FFF7FEFF bl I2C_Disable_IRQ 11585 .LVL799: 5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11586 .loc 1 5999 5 is_stmt 1 view .LVU4100 5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11587 .loc 1 5999 25 is_stmt 0 view .LVU4101 11588 0092 1223 movs r3, #18 11589 0094 2363 str r3, [r4, #48] 11590 0096 C4E7 b .L735 11591 .L747: 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11592 .loc 1 6023 44 discriminator 1 view .LVU4102 11593 0098 15F0040F tst r5, #4 11594 009c E0D0 beq .L737 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 11595 .loc 1 6026 5 is_stmt 1 view .LVU4103 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 11596 .loc 1 6026 27 is_stmt 0 view .LVU4104 11597 009e 2368 ldr r3, [r4] 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 11598 .loc 1 6026 37 view .LVU4105 11599 00a0 5B6A ldr r3, [r3, #36] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 400 11600 00a2 DBB2 uxtb r3, r3 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 11601 .loc 1 6026 12 view .LVU4106 11602 00a4 0193 str r3, [sp, #4] 6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11603 .loc 1 6027 5 is_stmt 1 view .LVU4107 11604 00a6 019B ldr r3, [sp, #4] 11605 00a8 DAE7 b .L737 11606 .LVL800: 11607 .L739: 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11608 .loc 1 6043 8 view .LVU4108 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11609 .loc 1 6043 16 is_stmt 0 view .LVU4109 11610 00aa 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11611 00ae DBB2 uxtb r3, r3 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11612 .loc 1 6043 11 view .LVU4110 11613 00b0 212B cmp r3, #33 11614 00b2 17D0 beq .L748 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11615 .loc 1 6078 8 is_stmt 1 view .LVU4111 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11616 .loc 1 6078 16 is_stmt 0 view .LVU4112 11617 00b4 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 11618 00b8 DBB2 uxtb r3, r3 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11619 .loc 1 6078 11 view .LVU4113 11620 00ba 222B cmp r3, #34 11621 00bc DED1 bne .L733 6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11622 .loc 1 6080 5 is_stmt 1 view .LVU4114 6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11623 .loc 1 6080 17 is_stmt 0 view .LVU4115 11624 00be 2023 movs r3, #32 11625 00c0 84F84130 strb r3, [r4, #65] 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11626 .loc 1 6081 5 is_stmt 1 view .LVU4116 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11627 .loc 1 6081 25 is_stmt 0 view .LVU4117 11628 00c4 0023 movs r3, #0 11629 00c6 2363 str r3, [r4, #48] 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11630 .loc 1 6083 5 is_stmt 1 view .LVU4118 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11631 .loc 1 6083 13 is_stmt 0 view .LVU4119 11632 00c8 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2 11633 00cc DBB2 uxtb r3, r3 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11634 .loc 1 6083 8 view .LVU4120 11635 00ce 402B cmp r3, #64 11636 00d0 24D0 beq .L749 6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11637 .loc 1 6099 7 is_stmt 1 view .LVU4121 6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11638 .loc 1 6099 18 is_stmt 0 view .LVU4122 11639 00d2 0023 movs r3, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 401 11640 00d4 84F84230 strb r3, [r4, #66] 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11641 .loc 1 6102 7 is_stmt 1 view .LVU4123 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11642 .loc 1 6102 7 view .LVU4124 11643 00d8 84F84030 strb r3, [r4, #64] 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11644 .loc 1 6102 7 view .LVU4125 6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11645 .loc 1 6108 7 view .LVU4126 11646 00dc 2046 mov r0, r4 11647 00de FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 11648 .LVL801: 6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11649 .loc 1 6115 3 view .LVU4127 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11650 .loc 1 6116 1 is_stmt 0 view .LVU4128 11651 00e2 CBE7 b .L733 11652 .LVL802: 11653 .L748: 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11654 .loc 1 6045 5 is_stmt 1 view .LVU4129 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 11655 .loc 1 6045 17 is_stmt 0 view .LVU4130 11656 00e4 2023 movs r3, #32 11657 00e6 84F84130 strb r3, [r4, #65] 6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11658 .loc 1 6046 5 is_stmt 1 view .LVU4131 6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11659 .loc 1 6046 25 is_stmt 0 view .LVU4132 11660 00ea 0023 movs r3, #0 11661 00ec 2363 str r3, [r4, #48] 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11662 .loc 1 6048 5 is_stmt 1 view .LVU4133 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11663 .loc 1 6048 13 is_stmt 0 view .LVU4134 11664 00ee 94F84230 ldrb r3, [r4, #66] @ zero_extendqisi2 11665 00f2 DBB2 uxtb r3, r3 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11666 .loc 1 6048 8 view .LVU4135 11667 00f4 402B cmp r3, #64 11668 00f6 08D0 beq .L750 6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11669 .loc 1 6064 7 is_stmt 1 view .LVU4136 6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11670 .loc 1 6064 18 is_stmt 0 view .LVU4137 11671 00f8 0023 movs r3, #0 11672 00fa 84F84230 strb r3, [r4, #66] 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11673 .loc 1 6067 7 is_stmt 1 view .LVU4138 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11674 .loc 1 6067 7 view .LVU4139 11675 00fe 84F84030 strb r3, [r4, #64] 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11676 .loc 1 6067 7 view .LVU4140 6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11677 .loc 1 6073 7 view .LVU4141 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 402 11678 0102 2046 mov r0, r4 11679 0104 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 11680 .LVL803: 6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11681 .loc 1 6073 7 is_stmt 0 view .LVU4142 11682 0108 B8E7 b .L733 11683 .LVL804: 11684 .L750: 6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11685 .loc 1 6050 7 is_stmt 1 view .LVU4143 6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11686 .loc 1 6050 18 is_stmt 0 view .LVU4144 11687 010a 0023 movs r3, #0 11688 010c 84F84230 strb r3, [r4, #66] 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11689 .loc 1 6053 7 is_stmt 1 view .LVU4145 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11690 .loc 1 6053 7 view .LVU4146 11691 0110 84F84030 strb r3, [r4, #64] 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11692 .loc 1 6053 7 view .LVU4147 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11693 .loc 1 6059 7 view .LVU4148 11694 0114 2046 mov r0, r4 11695 0116 FFF7FEFF bl HAL_I2C_MemTxCpltCallback 11696 .LVL805: 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11697 .loc 1 6059 7 is_stmt 0 view .LVU4149 11698 011a AFE7 b .L733 11699 .LVL806: 11700 .L749: 6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11701 .loc 1 6085 7 is_stmt 1 view .LVU4150 6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11702 .loc 1 6085 18 is_stmt 0 view .LVU4151 11703 011c 0023 movs r3, #0 11704 011e 84F84230 strb r3, [r4, #66] 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11705 .loc 1 6088 7 is_stmt 1 view .LVU4152 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11706 .loc 1 6088 7 view .LVU4153 11707 0122 84F84030 strb r3, [r4, #64] 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11708 .loc 1 6088 7 view .LVU4154 6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11709 .loc 1 6094 7 view .LVU4155 11710 0126 2046 mov r0, r4 11711 0128 FFF7FEFF bl HAL_I2C_MemRxCpltCallback 11712 .LVL807: 6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 11713 .loc 1 6094 7 is_stmt 0 view .LVU4156 11714 012c A6E7 b .L733 11715 .cfi_endproc 11716 .LFE190: 11718 .section .text.I2C_Master_ISR_IT,"ax",%progbits 11719 .align 1 11720 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 403 11721 .thumb 11722 .thumb_func 11724 I2C_Master_ISR_IT: 11725 .LVL808: 11726 .LFB179: 4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 11727 .loc 1 4809 1 is_stmt 1 view -0 11728 .cfi_startproc 11729 @ args = 0, pretend = 0, frame = 0 11730 @ frame_needed = 0, uses_anonymous_args = 0 4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 11731 .loc 1 4810 3 view .LVU4158 4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11732 .loc 1 4811 3 view .LVU4159 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11733 .loc 1 4814 3 view .LVU4160 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11734 .loc 1 4814 3 view .LVU4161 11735 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 11736 0004 012B cmp r3, #1 11737 0006 00F0B980 beq .L765 4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 11738 .loc 1 4809 1 is_stmt 0 discriminator 2 view .LVU4162 11739 000a 70B5 push {r4, r5, r6, lr} 11740 .cfi_def_cfa_offset 16 11741 .cfi_offset 4, -16 11742 .cfi_offset 5, -12 11743 .cfi_offset 6, -8 11744 .cfi_offset 14, -4 11745 000c 82B0 sub sp, sp, #8 11746 .cfi_def_cfa_offset 24 11747 000e 0446 mov r4, r0 11748 0010 0D46 mov r5, r1 11749 0012 1646 mov r6, r2 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11750 .loc 1 4814 3 is_stmt 1 discriminator 2 view .LVU4163 11751 0014 0123 movs r3, #1 11752 0016 80F84030 strb r3, [r0, #64] 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11753 .loc 1 4814 3 discriminator 2 view .LVU4164 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11754 .loc 1 4816 3 discriminator 2 view .LVU4165 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11755 .loc 1 4816 6 is_stmt 0 discriminator 2 view .LVU4166 11756 001a 11F0100F tst r1, #16 11757 001e 02D0 beq .L753 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 11758 .loc 1 4816 58 discriminator 1 view .LVU4167 11759 0020 12F0100F tst r2, #16 11760 0024 22D1 bne .L770 11761 .L753: 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11762 .loc 1 4830 8 is_stmt 1 view .LVU4168 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11763 .loc 1 4830 11 is_stmt 0 view .LVU4169 11764 0026 15F0040F tst r5, #4 11765 002a 29D0 beq .L755 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 404 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 11766 .loc 1 4830 65 discriminator 1 view .LVU4170 11767 002c 16F0040F tst r6, #4 11768 0030 26D0 beq .L755 4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11769 .loc 1 4834 5 is_stmt 1 view .LVU4171 4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11770 .loc 1 4834 16 is_stmt 0 view .LVU4172 11771 0032 25F00405 bic r5, r5, #4 11772 .LVL809: 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11773 .loc 1 4837 5 is_stmt 1 view .LVU4173 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11774 .loc 1 4837 36 is_stmt 0 view .LVU4174 11775 0036 2368 ldr r3, [r4] 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11776 .loc 1 4837 46 view .LVU4175 11777 0038 5A6A ldr r2, [r3, #36] 11778 .LVL810: 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11779 .loc 1 4837 10 view .LVU4176 11780 003a 636A ldr r3, [r4, #36] 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11781 .loc 1 4837 21 view .LVU4177 11782 003c 1A70 strb r2, [r3] 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11783 .loc 1 4840 5 is_stmt 1 view .LVU4178 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11784 .loc 1 4840 9 is_stmt 0 view .LVU4179 11785 003e 636A ldr r3, [r4, #36] 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11786 .loc 1 4840 19 view .LVU4180 11787 0040 0133 adds r3, r3, #1 11788 0042 6362 str r3, [r4, #36] 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11789 .loc 1 4842 5 is_stmt 1 view .LVU4181 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11790 .loc 1 4842 9 is_stmt 0 view .LVU4182 11791 0044 238D ldrh r3, [r4, #40] 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11792 .loc 1 4842 19 view .LVU4183 11793 0046 013B subs r3, r3, #1 11794 0048 2385 strh r3, [r4, #40] @ movhi 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11795 .loc 1 4843 5 is_stmt 1 view .LVU4184 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11796 .loc 1 4843 9 is_stmt 0 view .LVU4185 11797 004a 638D ldrh r3, [r4, #42] 11798 004c 9BB2 uxth r3, r3 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11799 .loc 1 4843 20 view .LVU4186 11800 004e 013B subs r3, r3, #1 11801 0050 9BB2 uxth r3, r3 11802 0052 6385 strh r3, [r4, #42] @ movhi 11803 .LVL811: 11804 .L754: 4930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 405 11805 .loc 1 4930 3 is_stmt 1 view .LVU4187 4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11806 .loc 1 4932 3 view .LVU4188 4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11807 .loc 1 4932 6 is_stmt 0 view .LVU4189 11808 0054 15F0200F tst r5, #32 11809 0058 03D0 beq .L764 4932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 11810 .loc 1 4932 61 discriminator 1 view .LVU4190 11811 005a 16F0200F tst r6, #32 11812 005e 40F08880 bne .L771 11813 .L764: 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11814 .loc 1 4940 3 is_stmt 1 view .LVU4191 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11815 .loc 1 4940 3 view .LVU4192 11816 0062 0020 movs r0, #0 11817 0064 84F84000 strb r0, [r4, #64] 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11818 .loc 1 4940 3 view .LVU4193 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11819 .loc 1 4942 3 view .LVU4194 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11820 .loc 1 4943 1 is_stmt 0 view .LVU4195 11821 0068 02B0 add sp, sp, #8 11822 .cfi_remember_state 11823 .cfi_def_cfa_offset 16 11824 @ sp needed 11825 006a 70BD pop {r4, r5, r6, pc} 11826 .LVL812: 11827 .L770: 11828 .cfi_restore_state 4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11829 .loc 1 4820 5 is_stmt 1 view .LVU4196 11830 006c 0368 ldr r3, [r0] 11831 006e 1022 movs r2, #16 11832 .LVL813: 4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11833 .loc 1 4820 5 is_stmt 0 view .LVU4197 11834 0070 DA61 str r2, [r3, #28] 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11835 .loc 1 4825 5 is_stmt 1 view .LVU4198 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11836 .loc 1 4825 9 is_stmt 0 view .LVU4199 11837 0072 436C ldr r3, [r0, #68] 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11838 .loc 1 4825 21 view .LVU4200 11839 0074 43F00403 orr r3, r3, #4 11840 0078 4364 str r3, [r0, #68] 4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11841 .loc 1 4828 5 is_stmt 1 view .LVU4201 11842 007a FFF7FEFF bl I2C_Flush_TXDR 11843 .LVL814: 4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11844 .loc 1 4828 5 is_stmt 0 view .LVU4202 11845 007e E9E7 b .L754 11846 .LVL815: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 406 11847 .L755: 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11848 .loc 1 4845 8 is_stmt 1 view .LVU4203 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11849 .loc 1 4845 11 is_stmt 0 view .LVU4204 11850 0080 15F0020F tst r5, #2 11851 0084 12D0 beq .L756 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 11852 .loc 1 4845 65 discriminator 1 view .LVU4205 11853 0086 16F0020F tst r6, #2 11854 008a 0FD0 beq .L756 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11855 .loc 1 4849 5 is_stmt 1 view .LVU4206 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11856 .loc 1 4849 33 is_stmt 0 view .LVU4207 11857 008c 626A ldr r2, [r4, #36] 11858 .LVL816: 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11859 .loc 1 4849 9 view .LVU4208 11860 008e 2368 ldr r3, [r4] 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11861 .loc 1 4849 28 view .LVU4209 11862 0090 1278 ldrb r2, [r2] @ zero_extendqisi2 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11863 .loc 1 4849 26 view .LVU4210 11864 0092 9A62 str r2, [r3, #40] 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11865 .loc 1 4852 5 is_stmt 1 view .LVU4211 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11866 .loc 1 4852 9 is_stmt 0 view .LVU4212 11867 0094 636A ldr r3, [r4, #36] 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11868 .loc 1 4852 19 view .LVU4213 11869 0096 0133 adds r3, r3, #1 11870 0098 6362 str r3, [r4, #36] 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11871 .loc 1 4854 5 is_stmt 1 view .LVU4214 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11872 .loc 1 4854 9 is_stmt 0 view .LVU4215 11873 009a 238D ldrh r3, [r4, #40] 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 11874 .loc 1 4854 19 view .LVU4216 11875 009c 013B subs r3, r3, #1 11876 009e 2385 strh r3, [r4, #40] @ movhi 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11877 .loc 1 4855 5 is_stmt 1 view .LVU4217 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11878 .loc 1 4855 9 is_stmt 0 view .LVU4218 11879 00a0 638D ldrh r3, [r4, #42] 11880 00a2 9BB2 uxth r3, r3 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11881 .loc 1 4855 20 view .LVU4219 11882 00a4 013B subs r3, r3, #1 11883 00a6 9BB2 uxth r3, r3 11884 00a8 6385 strh r3, [r4, #42] @ movhi 11885 00aa D3E7 b .L754 11886 .LVL817: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 407 11887 .L756: 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 11888 .loc 1 4857 8 is_stmt 1 view .LVU4220 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 11889 .loc 1 4857 11 is_stmt 0 view .LVU4221 11890 00ac 15F0800F tst r5, #128 11891 00b0 3FD0 beq .L757 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 11892 .loc 1 4857 64 discriminator 1 view .LVU4222 11893 00b2 16F0400F tst r6, #64 11894 00b6 3CD0 beq .L757 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11895 .loc 1 4860 5 is_stmt 1 view .LVU4223 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11896 .loc 1 4860 14 is_stmt 0 view .LVU4224 11897 00b8 638D ldrh r3, [r4, #42] 11898 00ba 9BB2 uxth r3, r3 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11899 .loc 1 4860 8 view .LVU4225 11900 00bc 5BB3 cbz r3, .L758 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11901 .loc 1 4860 41 discriminator 1 view .LVU4226 11902 00be 238D ldrh r3, [r4, #40] 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11903 .loc 1 4860 33 discriminator 1 view .LVU4227 11904 00c0 4BBB cbnz r3, .L758 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11905 .loc 1 4862 7 is_stmt 1 view .LVU4228 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11906 .loc 1 4862 35 is_stmt 0 view .LVU4229 11907 00c2 2368 ldr r3, [r4] 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11908 .loc 1 4862 45 view .LVU4230 11909 00c4 5968 ldr r1, [r3, #4] 11910 .LVL818: 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11911 .loc 1 4862 18 view .LVU4231 11912 00c6 C1F30901 ubfx r1, r1, #0, #10 11913 .LVL819: 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11914 .loc 1 4864 7 is_stmt 1 view .LVU4232 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11915 .loc 1 4864 15 is_stmt 0 view .LVU4233 11916 00ca 638D ldrh r3, [r4, #42] 11917 00cc 9BB2 uxth r3, r3 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11918 .loc 1 4864 10 view .LVU4234 11919 00ce FF2B cmp r3, #255 11920 00d0 0ED8 bhi .L772 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 11921 .loc 1 4871 9 is_stmt 1 view .LVU4235 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 11922 .loc 1 4871 30 is_stmt 0 view .LVU4236 11923 00d2 628D ldrh r2, [r4, #42] 11924 .LVL820: 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 11925 .loc 1 4871 30 view .LVU4237 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 408 11926 00d4 92B2 uxth r2, r2 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 11927 .loc 1 4871 24 view .LVU4238 11928 00d6 2285 strh r2, [r4, #40] @ movhi 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11929 .loc 1 4872 9 is_stmt 1 view .LVU4239 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11930 .loc 1 4872 17 is_stmt 0 view .LVU4240 11931 00d8 E36A ldr r3, [r4, #44] 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11932 .loc 1 4872 12 view .LVU4241 11933 00da 13F5803F cmn r3, #65536 11934 00de 11D0 beq .L760 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 11935 .loc 1 4874 11 is_stmt 1 view .LVU4242 4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11936 .loc 1 4875 34 is_stmt 0 view .LVU4243 11937 00e0 E36A ldr r3, [r4, #44] 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 11938 .loc 1 4874 11 view .LVU4244 11939 00e2 0020 movs r0, #0 11940 .LVL821: 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 11941 .loc 1 4874 11 view .LVU4245 11942 00e4 0090 str r0, [sp] 11943 00e6 D2B2 uxtb r2, r2 11944 00e8 2046 mov r0, r4 11945 00ea FFF7FEFF bl I2C_TransferConfig 11946 .LVL822: 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 11947 .loc 1 4874 11 view .LVU4246 11948 00ee B1E7 b .L754 11949 .LVL823: 11950 .L772: 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START 11951 .loc 1 4866 9 is_stmt 1 view .LVU4247 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START 11952 .loc 1 4866 24 is_stmt 0 view .LVU4248 11953 00f0 FF22 movs r2, #255 11954 .LVL824: 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START 11955 .loc 1 4866 24 view .LVU4249 11956 00f2 2285 strh r2, [r4, #40] @ movhi 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11957 .loc 1 4867 9 is_stmt 1 view .LVU4250 11958 00f4 0023 movs r3, #0 11959 00f6 0093 str r3, [sp] 11960 00f8 4FF08073 mov r3, #16777216 11961 00fc 2046 mov r0, r4 11962 .LVL825: 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11963 .loc 1 4867 9 is_stmt 0 view .LVU4251 11964 00fe FFF7FEFF bl I2C_TransferConfig 11965 .LVL826: 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11966 .loc 1 4867 9 view .LVU4252 11967 0102 A7E7 b .L754 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 409 11968 .LVL827: 11969 .L760: 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 11970 .loc 1 4879 11 is_stmt 1 view .LVU4253 11971 0104 0023 movs r3, #0 11972 0106 0093 str r3, [sp] 11973 0108 4FF00073 mov r3, #33554432 11974 010c D2B2 uxtb r2, r2 11975 010e 2046 mov r0, r4 11976 .LVL828: 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 11977 .loc 1 4879 11 is_stmt 0 view .LVU4254 11978 0110 FFF7FEFF bl I2C_TransferConfig 11979 .LVL829: 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 11980 .loc 1 4879 11 view .LVU4255 11981 0114 9EE7 b .L754 11982 .LVL830: 11983 .L758: 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11984 .loc 1 4887 7 is_stmt 1 view .LVU4256 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11985 .loc 1 4887 11 is_stmt 0 view .LVU4257 11986 0116 2368 ldr r3, [r4] 11987 0118 5B68 ldr r3, [r3, #4] 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11988 .loc 1 4887 10 view .LVU4258 11989 011a 13F0007F tst r3, #33554432 11990 011e 03D1 bne .L761 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11991 .loc 1 4890 9 is_stmt 1 view .LVU4259 11992 0120 2046 mov r0, r4 11993 .LVL831: 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11994 .loc 1 4890 9 is_stmt 0 view .LVU4260 11995 0122 FFF7FEFF bl I2C_ITMasterSeqCplt 11996 .LVL832: 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11997 .loc 1 4890 9 view .LVU4261 11998 0126 95E7 b .L754 11999 .LVL833: 12000 .L761: 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12001 .loc 1 4896 9 is_stmt 1 view .LVU4262 12002 0128 4021 movs r1, #64 12003 .LVL834: 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12004 .loc 1 4896 9 is_stmt 0 view .LVU4263 12005 012a 2046 mov r0, r4 12006 .LVL835: 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12007 .loc 1 4896 9 view .LVU4264 12008 012c FFF7FEFF bl I2C_ITError 12009 .LVL836: 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12010 .loc 1 4896 9 view .LVU4265 12011 0130 90E7 b .L754 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 410 12012 .LVL837: 12013 .L757: 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12014 .loc 1 4900 8 is_stmt 1 view .LVU4266 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12015 .loc 1 4900 11 is_stmt 0 view .LVU4267 12016 0132 15F0400F tst r5, #64 12017 0136 8DD0 beq .L754 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12018 .loc 1 4900 63 discriminator 1 view .LVU4268 12019 0138 16F0400F tst r6, #64 12020 013c 8AD0 beq .L754 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12021 .loc 1 4903 5 is_stmt 1 view .LVU4269 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12022 .loc 1 4903 13 is_stmt 0 view .LVU4270 12023 013e 638D ldrh r3, [r4, #42] 12024 0140 9BB2 uxth r3, r3 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12025 .loc 1 4903 8 view .LVU4271 12026 0142 8BB9 cbnz r3, .L762 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12027 .loc 1 4905 7 is_stmt 1 view .LVU4272 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12028 .loc 1 4905 11 is_stmt 0 view .LVU4273 12029 0144 2368 ldr r3, [r4] 12030 0146 5A68 ldr r2, [r3, #4] 12031 .LVL838: 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12032 .loc 1 4905 10 view .LVU4274 12033 0148 12F0007F tst r2, #33554432 12034 014c 82D1 bne .L754 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12035 .loc 1 4908 9 is_stmt 1 view .LVU4275 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12036 .loc 1 4908 17 is_stmt 0 view .LVU4276 12037 014e E26A ldr r2, [r4, #44] 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12038 .loc 1 4908 12 view .LVU4277 12039 0150 12F5803F cmn r2, #65536 12040 0154 04D1 bne .L763 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12041 .loc 1 4911 11 is_stmt 1 view .LVU4278 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12042 .loc 1 4911 25 is_stmt 0 view .LVU4279 12043 0156 5A68 ldr r2, [r3, #4] 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12044 .loc 1 4911 31 view .LVU4280 12045 0158 42F48042 orr r2, r2, #16384 12046 015c 5A60 str r2, [r3, #4] 12047 015e 79E7 b .L754 12048 .L763: 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12049 .loc 1 4916 11 is_stmt 1 view .LVU4281 12050 0160 2046 mov r0, r4 12051 .LVL839: 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 411 12052 .loc 1 4916 11 is_stmt 0 view .LVU4282 12053 0162 FFF7FEFF bl I2C_ITMasterSeqCplt 12054 .LVL840: 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12055 .loc 1 4916 11 view .LVU4283 12056 0166 75E7 b .L754 12057 .LVL841: 12058 .L762: 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12059 .loc 1 4924 7 is_stmt 1 view .LVU4284 12060 0168 4021 movs r1, #64 12061 .LVL842: 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12062 .loc 1 4924 7 is_stmt 0 view .LVU4285 12063 016a 2046 mov r0, r4 12064 .LVL843: 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12065 .loc 1 4924 7 view .LVU4286 12066 016c FFF7FEFF bl I2C_ITError 12067 .LVL844: 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12068 .loc 1 4924 7 view .LVU4287 12069 0170 70E7 b .L754 12070 .LVL845: 12071 .L771: 4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12072 .loc 1 4936 5 is_stmt 1 view .LVU4288 12073 0172 2946 mov r1, r5 12074 0174 2046 mov r0, r4 12075 0176 FFF7FEFF bl I2C_ITMasterCplt 12076 .LVL846: 12077 017a 72E7 b .L764 12078 .LVL847: 12079 .L765: 12080 .cfi_def_cfa_offset 0 12081 .cfi_restore 4 12082 .cfi_restore 5 12083 .cfi_restore 6 12084 .cfi_restore 14 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12085 .loc 1 4814 3 is_stmt 0 view .LVU4289 12086 017c 0220 movs r0, #2 12087 .LVL848: 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12088 .loc 1 4943 1 view .LVU4290 12089 017e 7047 bx lr 12090 .cfi_endproc 12091 .LFE179: 12093 .section .text.I2C_Mem_ISR_DMA,"ax",%progbits 12094 .align 1 12095 .syntax unified 12096 .thumb 12097 .thumb_func 12099 I2C_Mem_ISR_DMA: 12100 .LVL849: 12101 .LFB183: 5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 412 12102 .loc 1 5373 1 is_stmt 1 view -0 12103 .cfi_startproc 12104 @ args = 0, pretend = 0, frame = 0 12105 @ frame_needed = 0, uses_anonymous_args = 0 5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12106 .loc 1 5374 3 view .LVU4292 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12107 .loc 1 5377 3 view .LVU4293 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12108 .loc 1 5377 3 view .LVU4294 12109 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 12110 0004 012B cmp r3, #1 12111 0006 00F0BE80 beq .L788 5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 12112 .loc 1 5373 1 is_stmt 0 discriminator 2 view .LVU4295 12113 000a 10B5 push {r4, lr} 12114 .cfi_def_cfa_offset 8 12115 .cfi_offset 4, -8 12116 .cfi_offset 14, -4 12117 000c 82B0 sub sp, sp, #8 12118 .cfi_def_cfa_offset 16 12119 000e 0446 mov r4, r0 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12120 .loc 1 5377 3 is_stmt 1 discriminator 2 view .LVU4296 12121 0010 0123 movs r3, #1 12122 0012 80F84030 strb r3, [r0, #64] 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12123 .loc 1 5377 3 discriminator 2 view .LVU4297 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12124 .loc 1 5379 3 discriminator 2 view .LVU4298 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12125 .loc 1 5379 6 is_stmt 0 discriminator 2 view .LVU4299 12126 0016 11F0100F tst r1, #16 12127 001a 02D0 beq .L775 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12128 .loc 1 5379 55 discriminator 1 view .LVU4300 12129 001c 12F0100F tst r2, #16 12130 0020 10D1 bne .L794 12131 .L775: 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 12132 .loc 1 5396 8 is_stmt 1 view .LVU4301 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 12133 .loc 1 5396 11 is_stmt 0 view .LVU4302 12134 0022 11F0020F tst r1, #2 12135 0026 1BD0 beq .L777 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 12136 .loc 1 5396 62 discriminator 1 view .LVU4303 12137 0028 12F0020F tst r2, #2 12138 002c 18D0 beq .L777 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12139 .loc 1 5400 5 is_stmt 1 view .LVU4304 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12140 .loc 1 5400 9 is_stmt 0 view .LVU4305 12141 002e 2368 ldr r3, [r4] 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12142 .loc 1 5400 32 view .LVU4306 12143 0030 226D ldr r2, [r4, #80] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 413 12144 .LVL850: 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12145 .loc 1 5400 26 view .LVU4307 12146 0032 9A62 str r2, [r3, #40] 5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12147 .loc 1 5403 5 is_stmt 1 view .LVU4308 5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12148 .loc 1 5403 22 is_stmt 0 view .LVU4309 12149 0034 4FF0FF33 mov r3, #-1 12150 0038 2365 str r3, [r4, #80] 12151 .LVL851: 12152 .L776: 5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12153 .loc 1 5494 3 is_stmt 1 view .LVU4310 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12154 .loc 1 5497 3 view .LVU4311 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12155 .loc 1 5497 3 view .LVU4312 12156 003a 0020 movs r0, #0 12157 003c 84F84000 strb r0, [r4, #64] 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12158 .loc 1 5497 3 view .LVU4313 5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12159 .loc 1 5499 3 view .LVU4314 5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12160 .loc 1 5500 1 is_stmt 0 view .LVU4315 12161 0040 02B0 add sp, sp, #8 12162 .cfi_remember_state 12163 .cfi_def_cfa_offset 8 12164 @ sp needed 12165 0042 10BD pop {r4, pc} 12166 .LVL852: 12167 .L794: 12168 .cfi_restore_state 5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12169 .loc 1 5383 5 is_stmt 1 view .LVU4316 12170 0044 0368 ldr r3, [r0] 12171 0046 1022 movs r2, #16 12172 .LVL853: 5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12173 .loc 1 5383 5 is_stmt 0 view .LVU4317 12174 0048 DA61 str r2, [r3, #28] 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12175 .loc 1 5386 5 is_stmt 1 view .LVU4318 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12176 .loc 1 5386 9 is_stmt 0 view .LVU4319 12177 004a 436C ldr r3, [r0, #68] 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12178 .loc 1 5386 21 view .LVU4320 12179 004c 43F00403 orr r3, r3, #4 12180 0050 4364 str r3, [r0, #68] 5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12181 .loc 1 5391 5 is_stmt 1 view .LVU4321 12182 0052 2021 movs r1, #32 12183 .LVL854: 5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12184 .loc 1 5391 5 is_stmt 0 view .LVU4322 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 414 12185 0054 FFF7FEFF bl I2C_Enable_IRQ 12186 .LVL855: 5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12187 .loc 1 5394 5 is_stmt 1 view .LVU4323 12188 0058 2046 mov r0, r4 12189 005a FFF7FEFF bl I2C_Flush_TXDR 12190 .LVL856: 12191 005e ECE7 b .L776 12192 .LVL857: 12193 .L777: 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12194 .loc 1 5405 8 view .LVU4324 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12195 .loc 1 5405 11 is_stmt 0 view .LVU4325 12196 0060 11F0800F tst r1, #128 12197 0064 02D0 beq .L778 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12198 .loc 1 5405 61 discriminator 1 view .LVU4326 12199 0066 12F0400F tst r2, #64 12200 006a 2AD1 bne .L795 12201 .L778: 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12202 .loc 1 5447 8 is_stmt 1 view .LVU4327 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12203 .loc 1 5447 11 is_stmt 0 view .LVU4328 12204 006c 11F0400F tst r1, #64 12205 0070 7DD0 beq .L783 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12206 .loc 1 5447 60 discriminator 1 view .LVU4329 12207 0072 12F0400F tst r2, #64 12208 0076 7AD0 beq .L783 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12209 .loc 1 5450 5 is_stmt 1 view .LVU4330 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12210 .loc 1 5450 13 is_stmt 0 view .LVU4331 12211 0078 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12212 007c DBB2 uxtb r3, r3 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12213 .loc 1 5450 8 view .LVU4332 12214 007e 222B cmp r3, #34 12215 0080 60D0 beq .L789 5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12216 .loc 1 5374 12 view .LVU4333 12217 0082 4248 ldr r0, .L798 12218 .LVL858: 12219 .L784: 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12220 .loc 1 5455 5 is_stmt 1 view .LVU4334 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12221 .loc 1 5455 13 is_stmt 0 view .LVU4335 12222 0084 638D ldrh r3, [r4, #42] 12223 0086 9BB2 uxth r3, r3 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12224 .loc 1 5455 8 view .LVU4336 12225 0088 FF2B cmp r3, #255 12226 008a 5DD9 bls .L785 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 415 12227 .loc 1 5457 7 is_stmt 1 view .LVU4337 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12228 .loc 1 5457 22 is_stmt 0 view .LVU4338 12229 008c FF22 movs r2, #255 12230 .LVL859: 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12231 .loc 1 5457 22 view .LVU4339 12232 008e 2285 strh r2, [r4, #40] @ movhi 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 12233 .loc 1 5460 7 is_stmt 1 view .LVU4340 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 12234 .loc 1 5460 46 is_stmt 0 view .LVU4341 12235 0090 E16C ldr r1, [r4, #76] 12236 .LVL860: 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 12237 .loc 1 5460 7 view .LVU4342 12238 0092 0090 str r0, [sp] 12239 0094 4FF08073 mov r3, #16777216 12240 0098 89B2 uxth r1, r1 12241 009a 2046 mov r0, r4 12242 .LVL861: 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 12243 .loc 1 5460 7 view .LVU4343 12244 009c FFF7FEFF bl I2C_TransferConfig 12245 .LVL862: 12246 .L786: 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12247 .loc 1 5473 5 is_stmt 1 view .LVU4344 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12248 .loc 1 5473 9 is_stmt 0 view .LVU4345 12249 00a0 638D ldrh r3, [r4, #42] 12250 00a2 9BB2 uxth r3, r3 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12251 .loc 1 5473 28 view .LVU4346 12252 00a4 228D ldrh r2, [r4, #40] 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12253 .loc 1 5473 21 view .LVU4347 12254 00a6 9B1A subs r3, r3, r2 12255 00a8 9BB2 uxth r3, r3 12256 00aa 6385 strh r3, [r4, #42] @ movhi 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12257 .loc 1 5476 5 is_stmt 1 view .LVU4348 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12258 .loc 1 5476 13 is_stmt 0 view .LVU4349 12259 00ac 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12260 00b0 DBB2 uxtb r3, r3 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12261 .loc 1 5476 8 view .LVU4350 12262 00b2 222B cmp r3, #34 12263 00b4 55D0 beq .L796 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12264 .loc 1 5482 7 is_stmt 1 view .LVU4351 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12265 .loc 1 5482 11 is_stmt 0 view .LVU4352 12266 00b6 2268 ldr r2, [r4] 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12267 .loc 1 5482 21 view .LVU4353 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 416 12268 00b8 1368 ldr r3, [r2] 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12269 .loc 1 5482 27 view .LVU4354 12270 00ba 43F48043 orr r3, r3, #16384 12271 00be 1360 str r3, [r2] 12272 00c0 BBE7 b .L776 12273 .LVL863: 12274 .L795: 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12275 .loc 1 5409 5 is_stmt 1 view .LVU4355 12276 00c2 1021 movs r1, #16 12277 .LVL864: 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12278 .loc 1 5409 5 is_stmt 0 view .LVU4356 12279 00c4 2046 mov r0, r4 12280 .LVL865: 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12281 .loc 1 5409 5 view .LVU4357 12282 00c6 FFF7FEFF bl I2C_Enable_IRQ 12283 .LVL866: 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12284 .loc 1 5411 5 is_stmt 1 view .LVU4358 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12285 .loc 1 5411 13 is_stmt 0 view .LVU4359 12286 00ca 638D ldrh r3, [r4, #42] 12287 00cc 9BB2 uxth r3, r3 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12288 .loc 1 5411 8 view .LVU4360 12289 00ce 002B cmp r3, #0 12290 00d0 33D0 beq .L779 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12291 .loc 1 5414 7 is_stmt 1 view .LVU4361 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12292 .loc 1 5414 15 is_stmt 0 view .LVU4362 12293 00d2 638D ldrh r3, [r4, #42] 12294 00d4 9BB2 uxth r3, r3 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12295 .loc 1 5414 10 view .LVU4363 12296 00d6 FF2B cmp r3, #255 12297 00d8 1BD9 bls .L780 5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 12298 .loc 1 5416 9 is_stmt 1 view .LVU4364 5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 12299 .loc 1 5416 24 is_stmt 0 view .LVU4365 12300 00da FF22 movs r2, #255 12301 00dc 2285 strh r2, [r4, #40] @ movhi 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 12302 .loc 1 5417 9 is_stmt 1 view .LVU4366 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 12303 .loc 1 5417 48 is_stmt 0 view .LVU4367 12304 00de E16C ldr r1, [r4, #76] 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 12305 .loc 1 5417 9 view .LVU4368 12306 00e0 0023 movs r3, #0 12307 00e2 0093 str r3, [sp] 12308 00e4 4FF08073 mov r3, #16777216 12309 00e8 89B2 uxth r1, r1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 417 12310 00ea 2046 mov r0, r4 12311 00ec FFF7FEFF bl I2C_TransferConfig 12312 .LVL867: 12313 .L781: 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12314 .loc 1 5428 7 is_stmt 1 view .LVU4369 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12315 .loc 1 5428 11 is_stmt 0 view .LVU4370 12316 00f0 638D ldrh r3, [r4, #42] 12317 00f2 9BB2 uxth r3, r3 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12318 .loc 1 5428 30 view .LVU4371 12319 00f4 228D ldrh r2, [r4, #40] 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12320 .loc 1 5428 23 view .LVU4372 12321 00f6 9B1A subs r3, r3, r2 12322 00f8 9BB2 uxth r3, r3 12323 00fa 6385 strh r3, [r4, #42] @ movhi 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12324 .loc 1 5431 7 is_stmt 1 view .LVU4373 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12325 .loc 1 5431 15 is_stmt 0 view .LVU4374 12326 00fc 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12327 0100 DBB2 uxtb r3, r3 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12328 .loc 1 5431 10 view .LVU4375 12329 0102 222B cmp r3, #34 12330 0104 13D0 beq .L797 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12331 .loc 1 5437 9 is_stmt 1 view .LVU4376 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12332 .loc 1 5437 13 is_stmt 0 view .LVU4377 12333 0106 2268 ldr r2, [r4] 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12334 .loc 1 5437 23 view .LVU4378 12335 0108 1368 ldr r3, [r2] 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12336 .loc 1 5437 29 view .LVU4379 12337 010a 43F48043 orr r3, r3, #16384 12338 010e 1360 str r3, [r2] 12339 0110 93E7 b .L776 12340 .L780: 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 12341 .loc 1 5422 9 is_stmt 1 view .LVU4380 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 12342 .loc 1 5422 30 is_stmt 0 view .LVU4381 12343 0112 628D ldrh r2, [r4, #42] 12344 0114 92B2 uxth r2, r2 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 12345 .loc 1 5422 24 view .LVU4382 12346 0116 2285 strh r2, [r4, #40] @ movhi 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 12347 .loc 1 5423 9 is_stmt 1 view .LVU4383 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 12348 .loc 1 5423 48 is_stmt 0 view .LVU4384 12349 0118 E16C ldr r1, [r4, #76] 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 418 12350 .loc 1 5423 9 view .LVU4385 12351 011a 0023 movs r3, #0 12352 011c 0093 str r3, [sp] 12353 011e 4FF00073 mov r3, #33554432 12354 0122 D2B2 uxtb r2, r2 12355 0124 89B2 uxth r1, r1 12356 0126 2046 mov r0, r4 12357 0128 FFF7FEFF bl I2C_TransferConfig 12358 .LVL868: 12359 012c E0E7 b .L781 12360 .L797: 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12361 .loc 1 5433 9 is_stmt 1 view .LVU4386 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12362 .loc 1 5433 13 is_stmt 0 view .LVU4387 12363 012e 2268 ldr r2, [r4] 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12364 .loc 1 5433 23 view .LVU4388 12365 0130 1368 ldr r3, [r2] 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12366 .loc 1 5433 29 view .LVU4389 12367 0132 43F40043 orr r3, r3, #32768 12368 0136 1360 str r3, [r2] 12369 0138 7FE7 b .L776 12370 .L779: 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12371 .loc 1 5444 7 is_stmt 1 view .LVU4390 12372 013a 4021 movs r1, #64 12373 013c 2046 mov r0, r4 12374 013e FFF7FEFF bl I2C_ITError 12375 .LVL869: 12376 0142 7AE7 b .L776 12377 .LVL870: 12378 .L789: 5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12379 .loc 1 5452 17 is_stmt 0 view .LVU4391 12380 0144 1248 ldr r0, .L798+4 12381 .LVL871: 5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12382 .loc 1 5452 17 view .LVU4392 12383 0146 9DE7 b .L784 12384 .LVL872: 12385 .L785: 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12386 .loc 1 5465 7 is_stmt 1 view .LVU4393 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12387 .loc 1 5465 28 is_stmt 0 view .LVU4394 12388 0148 628D ldrh r2, [r4, #42] 12389 .LVL873: 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12390 .loc 1 5465 28 view .LVU4395 12391 014a 92B2 uxth r2, r2 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12392 .loc 1 5465 22 view .LVU4396 12393 014c 2285 strh r2, [r4, #40] @ movhi 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 12394 .loc 1 5468 7 is_stmt 1 view .LVU4397 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 419 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 12395 .loc 1 5468 46 is_stmt 0 view .LVU4398 12396 014e E16C ldr r1, [r4, #76] 12397 .LVL874: 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 12398 .loc 1 5468 7 view .LVU4399 12399 0150 0090 str r0, [sp] 12400 0152 4FF00073 mov r3, #33554432 12401 0156 D2B2 uxtb r2, r2 12402 0158 89B2 uxth r1, r1 12403 015a 2046 mov r0, r4 12404 .LVL875: 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 12405 .loc 1 5468 7 view .LVU4400 12406 015c FFF7FEFF bl I2C_TransferConfig 12407 .LVL876: 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 12408 .loc 1 5468 7 view .LVU4401 12409 0160 9EE7 b .L786 12410 .L796: 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12411 .loc 1 5478 7 is_stmt 1 view .LVU4402 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12412 .loc 1 5478 11 is_stmt 0 view .LVU4403 12413 0162 2268 ldr r2, [r4] 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12414 .loc 1 5478 21 view .LVU4404 12415 0164 1368 ldr r3, [r2] 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12416 .loc 1 5478 27 view .LVU4405 12417 0166 43F40043 orr r3, r3, #32768 12418 016a 1360 str r3, [r2] 12419 016c 65E7 b .L776 12420 .LVL877: 12421 .L783: 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12422 .loc 1 5485 8 is_stmt 1 view .LVU4406 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12423 .loc 1 5485 11 is_stmt 0 view .LVU4407 12424 016e 11F0200F tst r1, #32 12425 0172 3FF462AF beq .L776 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12426 .loc 1 5485 63 discriminator 1 view .LVU4408 12427 0176 12F0200F tst r2, #32 12428 017a 3FF45EAF beq .L776 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12429 .loc 1 5489 5 is_stmt 1 view .LVU4409 12430 017e 2046 mov r0, r4 12431 .LVL878: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12432 .loc 1 5489 5 is_stmt 0 view .LVU4410 12433 0180 FFF7FEFF bl I2C_ITMasterCplt 12434 .LVL879: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12435 .loc 1 5489 5 view .LVU4411 12436 0184 59E7 b .L776 12437 .LVL880: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 420 12438 .L788: 12439 .cfi_def_cfa_offset 0 12440 .cfi_restore 4 12441 .cfi_restore 14 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12442 .loc 1 5377 3 view .LVU4412 12443 0186 0220 movs r0, #2 12444 .LVL881: 5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12445 .loc 1 5500 1 view .LVU4413 12446 0188 7047 bx lr 12447 .L799: 12448 018a 00BF .align 2 12449 .L798: 12450 018c 00200080 .word -2147475456 12451 0190 00240080 .word -2147474432 12452 .cfi_endproc 12453 .LFE183: 12455 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits 12456 .align 1 12457 .syntax unified 12458 .thumb 12459 .thumb_func 12461 I2C_Slave_ISR_DMA: 12462 .LVL882: 12463 .LFB184: 5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12464 .loc 1 5512 1 is_stmt 1 view -0 12465 .cfi_startproc 12466 @ args = 0, pretend = 0, frame = 0 12467 @ frame_needed = 0, uses_anonymous_args = 0 5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12468 .loc 1 5512 1 is_stmt 0 view .LVU4415 12469 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 12470 .cfi_def_cfa_offset 24 12471 .cfi_offset 3, -24 12472 .cfi_offset 4, -20 12473 .cfi_offset 5, -16 12474 .cfi_offset 6, -12 12475 .cfi_offset 7, -8 12476 .cfi_offset 14, -4 5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 12477 .loc 1 5513 3 is_stmt 1 view .LVU4416 5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 12478 .loc 1 5513 12 is_stmt 0 view .LVU4417 12479 0002 C76A ldr r7, [r0, #44] 12480 .LVL883: 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 12481 .loc 1 5514 3 is_stmt 1 view .LVU4418 5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12482 .loc 1 5515 3 view .LVU4419 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12483 .loc 1 5518 3 view .LVU4420 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12484 .loc 1 5518 3 view .LVU4421 12485 0004 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 12486 0008 012B cmp r3, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 421 12487 000a 00F08780 beq .L817 12488 000e 0446 mov r4, r0 12489 0010 0D46 mov r5, r1 12490 0012 1646 mov r6, r2 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12491 .loc 1 5518 3 discriminator 2 view .LVU4422 12492 0014 0123 movs r3, #1 12493 0016 80F84030 strb r3, [r0, #64] 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12494 .loc 1 5518 3 discriminator 2 view .LVU4423 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12495 .loc 1 5521 3 discriminator 2 view .LVU4424 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12496 .loc 1 5521 6 is_stmt 0 discriminator 2 view .LVU4425 12497 001a 11F0200F tst r1, #32 12498 001e 02D0 beq .L802 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 12499 .loc 1 5521 58 discriminator 1 view .LVU4426 12500 0020 12F0200F tst r2, #32 12501 0024 12D1 bne .L822 12502 .LVL884: 12503 .L802: 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12504 .loc 1 5528 3 is_stmt 1 view .LVU4427 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12505 .loc 1 5528 6 is_stmt 0 view .LVU4428 12506 0026 15F0100F tst r5, #16 12507 002a 68D0 beq .L803 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12508 .loc 1 5528 55 discriminator 1 view .LVU4429 12509 002c 16F0100F tst r6, #16 12510 0030 65D0 beq .L803 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 12511 .loc 1 5535 5 is_stmt 1 view .LVU4430 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 12512 .loc 1 5535 8 is_stmt 0 view .LVU4431 12513 0032 16F4404F tst r6, #49152 12514 0036 5ED0 beq .L804 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12515 .loc 1 5539 7 is_stmt 1 view .LVU4432 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12516 .loc 1 5539 15 is_stmt 0 view .LVU4433 12517 0038 E36B ldr r3, [r4, #60] 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12518 .loc 1 5539 10 view .LVU4434 12519 003a 53B1 cbz r3, .L818 5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12520 .loc 1 5541 9 is_stmt 1 view .LVU4435 5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12521 .loc 1 5541 12 is_stmt 0 view .LVU4436 12522 003c 16F40042 ands r2, r6, #32768 12523 0040 08D0 beq .L805 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12524 .loc 1 5543 11 is_stmt 1 view .LVU4437 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12525 .loc 1 5543 15 is_stmt 0 view .LVU4438 12526 0042 1B68 ldr r3, [r3] ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 422 12527 0044 5B68 ldr r3, [r3, #4] 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12528 .loc 1 5543 14 view .LVU4439 12529 0046 3BB3 cbz r3, .L819 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 12530 .loc 1 5514 12 view .LVU4440 12531 0048 0022 movs r2, #0 12532 004a 03E0 b .L805 12533 .LVL885: 12534 .L822: 5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12535 .loc 1 5525 5 is_stmt 1 view .LVU4441 12536 004c FFF7FEFF bl I2C_ITSlaveCplt 12537 .LVL886: 5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12538 .loc 1 5525 5 is_stmt 0 view .LVU4442 12539 0050 E9E7 b .L802 12540 .L818: 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 12541 .loc 1 5514 12 view .LVU4443 12542 0052 0022 movs r2, #0 12543 .L805: 12544 .LVL887: 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12545 .loc 1 5551 7 is_stmt 1 view .LVU4444 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12546 .loc 1 5551 15 is_stmt 0 view .LVU4445 12547 0054 A36B ldr r3, [r4, #56] 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12548 .loc 1 5551 10 view .LVU4446 12549 0056 2BB1 cbz r3, .L806 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12550 .loc 1 5553 9 is_stmt 1 view .LVU4447 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12551 .loc 1 5553 12 is_stmt 0 view .LVU4448 12552 0058 16F4804F tst r6, #16384 12553 005c 02D0 beq .L806 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12554 .loc 1 5555 11 is_stmt 1 view .LVU4449 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12555 .loc 1 5555 15 is_stmt 0 view .LVU4450 12556 005e 1B68 ldr r3, [r3] 12557 0060 5B68 ldr r3, [r3, #4] 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12558 .loc 1 5555 14 view .LVU4451 12559 0062 DBB1 cbz r3, .L807 12560 .L806: 5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12561 .loc 1 5562 7 is_stmt 1 view .LVU4452 5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12562 .loc 1 5562 10 is_stmt 0 view .LVU4453 12563 0064 012A cmp r2, #1 12564 0066 19D0 beq .L807 5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12565 .loc 1 5593 9 is_stmt 1 view .LVU4454 12566 0068 2368 ldr r3, [r4] 12567 006a 1022 movs r2, #16 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 423 12568 .LVL888: 5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12569 .loc 1 5593 9 is_stmt 0 view .LVU4455 12570 006c DA61 str r2, [r3, #28] 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12571 .loc 1 5596 9 is_stmt 1 view .LVU4456 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12572 .loc 1 5596 13 is_stmt 0 view .LVU4457 12573 006e 636C ldr r3, [r4, #68] 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12574 .loc 1 5596 25 view .LVU4458 12575 0070 43F00403 orr r3, r3, #4 12576 0074 6364 str r3, [r4, #68] 5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12577 .loc 1 5599 9 is_stmt 1 view .LVU4459 5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12578 .loc 1 5599 18 is_stmt 0 view .LVU4460 12579 0076 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12580 007a DBB2 uxtb r3, r3 12581 .LVL889: 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12582 .loc 1 5601 9 is_stmt 1 view .LVU4461 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12583 .loc 1 5601 12 is_stmt 0 view .LVU4462 12584 007c 17B1 cbz r7, .L812 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12585 .loc 1 5601 45 discriminator 1 view .LVU4463 12586 007e B7F1807F cmp r7, #16777216 12587 0082 42D1 bne .L810 12588 .L812: 5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12589 .loc 1 5603 11 is_stmt 1 view .LVU4464 12590 0084 213B subs r3, r3, #33 12591 .LVL890: 5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12592 .loc 1 5603 11 is_stmt 0 view .LVU4465 12593 0086 092B cmp r3, #9 12594 0088 2DD8 bhi .L813 12595 008a DFE803F0 tbb [pc, r3] 12596 .L815: 12597 008e 2A .byte (.L816-.L815)/2 12598 008f 31 .byte (.L814-.L815)/2 12599 0090 2C .byte (.L813-.L815)/2 12600 0091 2C .byte (.L813-.L815)/2 12601 0092 2C .byte (.L813-.L815)/2 12602 0093 2C .byte (.L813-.L815)/2 12603 0094 2C .byte (.L813-.L815)/2 12604 0095 2C .byte (.L813-.L815)/2 12605 0096 2A .byte (.L816-.L815)/2 12606 0097 31 .byte (.L814-.L815)/2 12607 .LVL891: 12608 .p2align 1 12609 .L819: 5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12610 .loc 1 5545 26 view .LVU4466 12611 0098 0122 movs r2, #1 12612 009a DBE7 b .L805 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 424 12613 .LVL892: 12614 .L807: 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 12615 .loc 1 5564 9 is_stmt 1 view .LVU4467 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 12616 .loc 1 5564 18 is_stmt 0 view .LVU4468 12617 009c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12618 00a0 DBB2 uxtb r3, r3 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 12619 .loc 1 5564 12 view .LVU4469 12620 00a2 282B cmp r3, #40 12621 00a4 08D0 beq .L823 12622 .L809: 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12623 .loc 1 5571 14 is_stmt 1 view .LVU4470 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12624 .loc 1 5571 23 is_stmt 0 view .LVU4471 12625 00a6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12626 00aa DBB2 uxtb r3, r3 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12627 .loc 1 5571 17 view .LVU4472 12628 00ac 292B cmp r3, #41 12629 00ae 0BD0 beq .L824 12630 .L811: 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12631 .loc 1 5586 11 is_stmt 1 view .LVU4473 12632 00b0 2368 ldr r3, [r4] 12633 00b2 1022 movs r2, #16 12634 00b4 DA61 str r2, [r3, #28] 12635 00b6 28E0 b .L810 12636 .L823: 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 12637 .loc 1 5564 51 is_stmt 0 discriminator 1 view .LVU4474 12638 00b8 B7F1007F cmp r7, #33554432 12639 00bc F3D1 bne .L809 5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12640 .loc 1 5569 11 is_stmt 1 view .LVU4475 12641 00be 2946 mov r1, r5 12642 00c0 2046 mov r0, r4 12643 00c2 FFF7FEFF bl I2C_ITListenCplt 12644 .LVL893: 12645 00c6 20E0 b .L810 12646 .L824: 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12647 .loc 1 5571 64 is_stmt 0 discriminator 1 view .LVU4476 12648 00c8 17F5803F cmn r7, #65536 12649 00cc F0D0 beq .L811 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12650 .loc 1 5574 11 is_stmt 1 view .LVU4477 12651 00ce 2368 ldr r3, [r4] 12652 00d0 1022 movs r2, #16 12653 00d2 DA61 str r2, [r3, #28] 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12654 .loc 1 5577 11 view .LVU4478 12655 00d4 2046 mov r0, r4 12656 00d6 FFF7FEFF bl I2C_Flush_TXDR 12657 .LVL894: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 425 5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12658 .loc 1 5581 11 view .LVU4479 12659 00da 2046 mov r0, r4 12660 00dc FFF7FEFF bl I2C_ITSlaveSeqCplt 12661 .LVL895: 12662 00e0 13E0 b .L810 12663 .LVL896: 12664 .L816: 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12665 .loc 1 5605 13 view .LVU4480 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12666 .loc 1 5605 33 is_stmt 0 view .LVU4481 12667 00e2 2123 movs r3, #33 12668 .LVL897: 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12669 .loc 1 5605 33 view .LVU4482 12670 00e4 2363 str r3, [r4, #48] 12671 .L813: 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12672 .loc 1 5617 11 is_stmt 1 view .LVU4483 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12673 .loc 1 5617 33 is_stmt 0 view .LVU4484 12674 00e6 616C ldr r1, [r4, #68] 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12675 .loc 1 5617 11 view .LVU4485 12676 00e8 2046 mov r0, r4 12677 00ea FFF7FEFF bl I2C_ITError 12678 .LVL898: 12679 00ee 0CE0 b .L810 12680 .LVL899: 12681 .L814: 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12682 .loc 1 5609 13 is_stmt 1 view .LVU4486 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12683 .loc 1 5609 33 is_stmt 0 view .LVU4487 12684 00f0 2223 movs r3, #34 12685 .LVL900: 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12686 .loc 1 5609 33 view .LVU4488 12687 00f2 2363 str r3, [r4, #48] 12688 00f4 F7E7 b .L813 12689 .LVL901: 12690 .L804: 5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12691 .loc 1 5624 7 is_stmt 1 view .LVU4489 12692 00f6 2368 ldr r3, [r4] 12693 00f8 1022 movs r2, #16 12694 00fa DA61 str r2, [r3, #28] 12695 00fc 05E0 b .L810 12696 .L803: 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 12697 .loc 1 5627 8 view .LVU4490 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 12698 .loc 1 5627 11 is_stmt 0 view .LVU4491 12699 00fe 15F0080F tst r5, #8 12700 0102 02D0 beq .L810 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 426 12701 .loc 1 5627 62 discriminator 1 view .LVU4492 12702 0104 16F0080F tst r6, #8 12703 0108 03D1 bne .L825 12704 .LVL902: 12705 .L810: 5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12706 .loc 1 5635 3 is_stmt 1 view .LVU4493 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12707 .loc 1 5638 3 view .LVU4494 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12708 .loc 1 5638 3 view .LVU4495 12709 010a 0020 movs r0, #0 12710 010c 84F84000 strb r0, [r4, #64] 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12711 .loc 1 5638 3 view .LVU4496 5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12712 .loc 1 5640 3 view .LVU4497 12713 .LVL903: 12714 .L801: 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12715 .loc 1 5641 1 is_stmt 0 view .LVU4498 12716 0110 F8BD pop {r3, r4, r5, r6, r7, pc} 12717 .LVL904: 12718 .L825: 5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12719 .loc 1 5630 5 is_stmt 1 view .LVU4499 12720 0112 2946 mov r1, r5 12721 0114 2046 mov r0, r4 12722 0116 FFF7FEFF bl I2C_ITAddrCplt 12723 .LVL905: 12724 011a F6E7 b .L810 12725 .LVL906: 12726 .L817: 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12727 .loc 1 5518 3 is_stmt 0 view .LVU4500 12728 011c 0220 movs r0, #2 12729 .LVL907: 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12730 .loc 1 5518 3 view .LVU4501 12731 011e F7E7 b .L801 12732 .cfi_endproc 12733 .LFE184: 12735 .section .text.I2C_Master_ISR_DMA,"ax",%progbits 12736 .align 1 12737 .syntax unified 12738 .thumb 12739 .thumb_func 12741 I2C_Master_ISR_DMA: 12742 .LVL908: 12743 .LFB182: 5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 12744 .loc 1 5233 1 is_stmt 1 view -0 12745 .cfi_startproc 12746 @ args = 0, pretend = 0, frame = 0 12747 @ frame_needed = 0, uses_anonymous_args = 0 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 12748 .loc 1 5234 3 view .LVU4503 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 427 5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12749 .loc 1 5235 3 view .LVU4504 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12750 .loc 1 5238 3 view .LVU4505 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12751 .loc 1 5238 3 view .LVU4506 12752 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 12753 0004 012B cmp r3, #1 12754 0006 00F09A80 beq .L839 5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 12755 .loc 1 5233 1 is_stmt 0 discriminator 2 view .LVU4507 12756 000a 10B5 push {r4, lr} 12757 .cfi_def_cfa_offset 8 12758 .cfi_offset 4, -8 12759 .cfi_offset 14, -4 12760 000c 82B0 sub sp, sp, #8 12761 .cfi_def_cfa_offset 16 12762 000e 0446 mov r4, r0 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12763 .loc 1 5238 3 is_stmt 1 discriminator 2 view .LVU4508 12764 0010 0123 movs r3, #1 12765 0012 80F84030 strb r3, [r0, #64] 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12766 .loc 1 5238 3 discriminator 2 view .LVU4509 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12767 .loc 1 5240 3 discriminator 2 view .LVU4510 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12768 .loc 1 5240 6 is_stmt 0 discriminator 2 view .LVU4511 12769 0016 11F0100F tst r1, #16 12770 001a 02D0 beq .L828 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 12771 .loc 1 5240 55 discriminator 1 view .LVU4512 12772 001c 12F0100F tst r2, #16 12773 0020 32D1 bne .L845 12774 .L828: 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12775 .loc 1 5257 8 is_stmt 1 view .LVU4513 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12776 .loc 1 5257 11 is_stmt 0 view .LVU4514 12777 0022 11F0800F tst r1, #128 12778 0026 60D0 beq .L830 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12779 .loc 1 5257 61 discriminator 1 view .LVU4515 12780 0028 12F0400F tst r2, #64 12781 002c 5DD0 beq .L830 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12782 .loc 1 5261 5 is_stmt 1 view .LVU4516 12783 002e 2268 ldr r2, [r4] 12784 .LVL909: 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12785 .loc 1 5261 5 is_stmt 0 view .LVU4517 12786 0030 1368 ldr r3, [r2] 12787 0032 23F04003 bic r3, r3, #64 12788 0036 1360 str r3, [r2] 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12789 .loc 1 5263 5 is_stmt 1 view .LVU4518 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 428 12790 .loc 1 5263 13 is_stmt 0 view .LVU4519 12791 0038 638D ldrh r3, [r4, #42] 12792 003a 9BB2 uxth r3, r3 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12793 .loc 1 5263 8 view .LVU4520 12794 003c 002B cmp r3, #0 12795 003e 46D0 beq .L831 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12796 .loc 1 5266 7 is_stmt 1 view .LVU4521 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12797 .loc 1 5266 35 is_stmt 0 view .LVU4522 12798 0040 2368 ldr r3, [r4] 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12799 .loc 1 5266 45 view .LVU4523 12800 0042 5968 ldr r1, [r3, #4] 12801 .LVL910: 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12802 .loc 1 5266 18 view .LVU4524 12803 0044 C1F30901 ubfx r1, r1, #0, #10 12804 .LVL911: 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12805 .loc 1 5269 7 is_stmt 1 view .LVU4525 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12806 .loc 1 5269 15 is_stmt 0 view .LVU4526 12807 0048 638D ldrh r3, [r4, #42] 12808 004a 9BB2 uxth r3, r3 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12809 .loc 1 5269 10 view .LVU4527 12810 004c FF2B cmp r3, #255 12811 004e 2DD9 bls .L832 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 12812 .loc 1 5271 9 is_stmt 1 view .LVU4528 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 12813 .loc 1 5271 24 is_stmt 0 view .LVU4529 12814 0050 FF23 movs r3, #255 12815 0052 2385 strh r3, [r4, #40] @ movhi 5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12816 .loc 1 5272 9 is_stmt 1 view .LVU4530 12817 .LVL912: 5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12818 .loc 1 5272 18 is_stmt 0 view .LVU4531 12819 0054 4FF08073 mov r3, #16777216 12820 .LVL913: 12821 .L833: 5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12822 .loc 1 5288 7 is_stmt 1 view .LVU4532 12823 0058 0022 movs r2, #0 12824 005a 0092 str r2, [sp] 12825 005c 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 12826 0060 2046 mov r0, r4 12827 .LVL914: 5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12828 .loc 1 5288 7 is_stmt 0 view .LVU4533 12829 0062 FFF7FEFF bl I2C_TransferConfig 12830 .LVL915: 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12831 .loc 1 5291 7 is_stmt 1 view .LVU4534 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 429 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12832 .loc 1 5291 11 is_stmt 0 view .LVU4535 12833 0066 638D ldrh r3, [r4, #42] 12834 0068 9BB2 uxth r3, r3 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12835 .loc 1 5291 30 view .LVU4536 12836 006a 228D ldrh r2, [r4, #40] 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12837 .loc 1 5291 23 view .LVU4537 12838 006c 9B1A subs r3, r3, r2 12839 006e 9BB2 uxth r3, r3 12840 0070 6385 strh r3, [r4, #42] @ movhi 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12841 .loc 1 5294 7 is_stmt 1 view .LVU4538 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12842 .loc 1 5294 15 is_stmt 0 view .LVU4539 12843 0072 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 12844 0076 DBB2 uxtb r3, r3 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12845 .loc 1 5294 10 view .LVU4540 12846 0078 222B cmp r3, #34 12847 007a 22D0 beq .L846 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12848 .loc 1 5300 9 is_stmt 1 view .LVU4541 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12849 .loc 1 5300 13 is_stmt 0 view .LVU4542 12850 007c 2268 ldr r2, [r4] 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12851 .loc 1 5300 23 view .LVU4543 12852 007e 1368 ldr r3, [r2] 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12853 .loc 1 5300 29 view .LVU4544 12854 0080 43F48043 orr r3, r3, #16384 12855 0084 1360 str r3, [r2] 12856 0086 0CE0 b .L829 12857 .LVL916: 12858 .L845: 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12859 .loc 1 5244 5 is_stmt 1 view .LVU4545 12860 0088 0368 ldr r3, [r0] 12861 008a 1022 movs r2, #16 12862 .LVL917: 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12863 .loc 1 5244 5 is_stmt 0 view .LVU4546 12864 008c DA61 str r2, [r3, #28] 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12865 .loc 1 5247 5 is_stmt 1 view .LVU4547 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12866 .loc 1 5247 9 is_stmt 0 view .LVU4548 12867 008e 436C ldr r3, [r0, #68] 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12868 .loc 1 5247 21 view .LVU4549 12869 0090 43F00403 orr r3, r3, #4 12870 0094 4364 str r3, [r0, #68] 5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12871 .loc 1 5252 5 is_stmt 1 view .LVU4550 12872 0096 2021 movs r1, #32 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 430 12873 .LVL918: 5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12874 .loc 1 5252 5 is_stmt 0 view .LVU4551 12875 0098 FFF7FEFF bl I2C_Enable_IRQ 12876 .LVL919: 5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12877 .loc 1 5255 5 is_stmt 1 view .LVU4552 12878 009c 2046 mov r0, r4 12879 009e FFF7FEFF bl I2C_Flush_TXDR 12880 .LVL920: 12881 .L829: 5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12882 .loc 1 5355 3 view .LVU4553 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12883 .loc 1 5358 3 view .LVU4554 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12884 .loc 1 5358 3 view .LVU4555 12885 00a2 0020 movs r0, #0 12886 00a4 84F84000 strb r0, [r4, #64] 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12887 .loc 1 5358 3 view .LVU4556 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12888 .loc 1 5360 3 view .LVU4557 5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12889 .loc 1 5361 1 is_stmt 0 view .LVU4558 12890 00a8 02B0 add sp, sp, #8 12891 .cfi_remember_state 12892 .cfi_def_cfa_offset 8 12893 @ sp needed 12894 00aa 10BD pop {r4, pc} 12895 .LVL921: 12896 .L832: 12897 .cfi_restore_state 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 12898 .loc 1 5276 9 is_stmt 1 view .LVU4559 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 12899 .loc 1 5276 30 is_stmt 0 view .LVU4560 12900 00ac 638D ldrh r3, [r4, #42] 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 12901 .loc 1 5276 24 view .LVU4561 12902 00ae 2385 strh r3, [r4, #40] @ movhi 5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12903 .loc 1 5277 9 is_stmt 1 view .LVU4562 5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12904 .loc 1 5277 17 is_stmt 0 view .LVU4563 12905 00b0 E36A ldr r3, [r4, #44] 5277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12906 .loc 1 5277 12 view .LVU4564 12907 00b2 13F5803F cmn r3, #65536 12908 00b6 01D0 beq .L840 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12909 .loc 1 5279 11 is_stmt 1 view .LVU4565 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12910 .loc 1 5279 20 is_stmt 0 view .LVU4566 12911 00b8 E36A ldr r3, [r4, #44] 12912 .LVL922: 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 431 12913 .loc 1 5279 20 view .LVU4567 12914 00ba CDE7 b .L833 12915 .LVL923: 12916 .L840: 5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12917 .loc 1 5283 20 view .LVU4568 12918 00bc 4FF00073 mov r3, #33554432 12919 00c0 CAE7 b .L833 12920 .LVL924: 12921 .L846: 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12922 .loc 1 5296 9 is_stmt 1 view .LVU4569 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12923 .loc 1 5296 13 is_stmt 0 view .LVU4570 12924 00c2 2268 ldr r2, [r4] 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12925 .loc 1 5296 23 view .LVU4571 12926 00c4 1368 ldr r3, [r2] 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12927 .loc 1 5296 29 view .LVU4572 12928 00c6 43F40043 orr r3, r3, #32768 12929 00ca 1360 str r3, [r2] 12930 00cc E9E7 b .L829 12931 .LVL925: 12932 .L831: 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12933 .loc 1 5306 7 is_stmt 1 view .LVU4573 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12934 .loc 1 5306 11 is_stmt 0 view .LVU4574 12935 00ce 2368 ldr r3, [r4] 12936 00d0 5B68 ldr r3, [r3, #4] 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12937 .loc 1 5306 10 view .LVU4575 12938 00d2 13F0007F tst r3, #33554432 12939 00d6 03D1 bne .L835 5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12940 .loc 1 5309 9 is_stmt 1 view .LVU4576 12941 00d8 2046 mov r0, r4 12942 .LVL926: 5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12943 .loc 1 5309 9 is_stmt 0 view .LVU4577 12944 00da FFF7FEFF bl I2C_ITMasterSeqCplt 12945 .LVL927: 5309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12946 .loc 1 5309 9 view .LVU4578 12947 00de E0E7 b .L829 12948 .LVL928: 12949 .L835: 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12950 .loc 1 5315 9 is_stmt 1 view .LVU4579 12951 00e0 4021 movs r1, #64 12952 .LVL929: 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12953 .loc 1 5315 9 is_stmt 0 view .LVU4580 12954 00e2 2046 mov r0, r4 12955 .LVL930: 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 432 12956 .loc 1 5315 9 view .LVU4581 12957 00e4 FFF7FEFF bl I2C_ITError 12958 .LVL931: 12959 00e8 DBE7 b .L829 12960 .LVL932: 12961 .L830: 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12962 .loc 1 5319 8 is_stmt 1 view .LVU4582 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12963 .loc 1 5319 11 is_stmt 0 view .LVU4583 12964 00ea 11F0400F tst r1, #64 12965 00ee 1CD0 beq .L836 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 12966 .loc 1 5319 60 discriminator 1 view .LVU4584 12967 00f0 12F0400F tst r2, #64 12968 00f4 19D0 beq .L836 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12969 .loc 1 5322 5 is_stmt 1 view .LVU4585 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12970 .loc 1 5322 13 is_stmt 0 view .LVU4586 12971 00f6 638D ldrh r3, [r4, #42] 12972 00f8 9BB2 uxth r3, r3 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12973 .loc 1 5322 8 view .LVU4587 12974 00fa 8BB9 cbnz r3, .L837 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12975 .loc 1 5324 7 is_stmt 1 view .LVU4588 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12976 .loc 1 5324 11 is_stmt 0 view .LVU4589 12977 00fc 2368 ldr r3, [r4] 12978 00fe 5A68 ldr r2, [r3, #4] 12979 .LVL933: 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12980 .loc 1 5324 10 view .LVU4590 12981 0100 12F0007F tst r2, #33554432 12982 0104 CDD1 bne .L829 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12983 .loc 1 5327 9 is_stmt 1 view .LVU4591 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12984 .loc 1 5327 17 is_stmt 0 view .LVU4592 12985 0106 E26A ldr r2, [r4, #44] 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12986 .loc 1 5327 12 view .LVU4593 12987 0108 12F5803F cmn r2, #65536 12988 010c 04D1 bne .L838 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12989 .loc 1 5330 11 is_stmt 1 view .LVU4594 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12990 .loc 1 5330 25 is_stmt 0 view .LVU4595 12991 010e 5A68 ldr r2, [r3, #4] 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12992 .loc 1 5330 31 view .LVU4596 12993 0110 42F48042 orr r2, r2, #16384 12994 0114 5A60 str r2, [r3, #4] 12995 0116 C4E7 b .L829 12996 .L838: 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 433 12997 .loc 1 5335 11 is_stmt 1 view .LVU4597 12998 0118 2046 mov r0, r4 12999 .LVL934: 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13000 .loc 1 5335 11 is_stmt 0 view .LVU4598 13001 011a FFF7FEFF bl I2C_ITMasterSeqCplt 13002 .LVL935: 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13003 .loc 1 5335 11 view .LVU4599 13004 011e C0E7 b .L829 13005 .LVL936: 13006 .L837: 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13007 .loc 1 5343 7 is_stmt 1 view .LVU4600 13008 0120 4021 movs r1, #64 13009 .LVL937: 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13010 .loc 1 5343 7 is_stmt 0 view .LVU4601 13011 0122 2046 mov r0, r4 13012 .LVL938: 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13013 .loc 1 5343 7 view .LVU4602 13014 0124 FFF7FEFF bl I2C_ITError 13015 .LVL939: 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13016 .loc 1 5343 7 view .LVU4603 13017 0128 BBE7 b .L829 13018 .LVL940: 13019 .L836: 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13020 .loc 1 5346 8 is_stmt 1 view .LVU4604 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13021 .loc 1 5346 11 is_stmt 0 view .LVU4605 13022 012a 11F0200F tst r1, #32 13023 012e B8D0 beq .L829 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13024 .loc 1 5346 63 discriminator 1 view .LVU4606 13025 0130 12F0200F tst r2, #32 13026 0134 B5D0 beq .L829 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13027 .loc 1 5350 5 is_stmt 1 view .LVU4607 13028 0136 2046 mov r0, r4 13029 .LVL941: 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13030 .loc 1 5350 5 is_stmt 0 view .LVU4608 13031 0138 FFF7FEFF bl I2C_ITMasterCplt 13032 .LVL942: 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13033 .loc 1 5350 5 view .LVU4609 13034 013c B1E7 b .L829 13035 .LVL943: 13036 .L839: 13037 .cfi_def_cfa_offset 0 13038 .cfi_restore 4 13039 .cfi_restore 14 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13040 .loc 1 5238 3 view .LVU4610 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 434 13041 013e 0220 movs r0, #2 13042 .LVL944: 5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13043 .loc 1 5361 1 view .LVU4611 13044 0140 7047 bx lr 13045 .cfi_endproc 13046 .LFE182: 13048 .section .text.I2C_DMAError,"ax",%progbits 13049 .align 1 13050 .syntax unified 13051 .thumb 13052 .thumb_func 13054 I2C_DMAError: 13055 .LVL945: 13056 .LFB200: 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13057 .loc 1 6685 1 is_stmt 1 view -0 13058 .cfi_startproc 13059 @ args = 0, pretend = 0, frame = 0 13060 @ frame_needed = 0, uses_anonymous_args = 0 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13061 .loc 1 6685 1 is_stmt 0 view .LVU4613 13062 0000 08B5 push {r3, lr} 13063 .cfi_def_cfa_offset 8 13064 .cfi_offset 3, -8 13065 .cfi_offset 14, -4 6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13066 .loc 1 6687 3 is_stmt 1 view .LVU4614 6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13067 .loc 1 6687 22 is_stmt 0 view .LVU4615 13068 0002 406A ldr r0, [r0, #36] 13069 .LVL946: 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13070 .loc 1 6690 3 is_stmt 1 view .LVU4616 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13071 .loc 1 6690 7 is_stmt 0 view .LVU4617 13072 0004 0268 ldr r2, [r0] 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13073 .loc 1 6690 17 view .LVU4618 13074 0006 5368 ldr r3, [r2, #4] 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13075 .loc 1 6690 23 view .LVU4619 13076 0008 43F40043 orr r3, r3, #32768 13077 000c 5360 str r3, [r2, #4] 6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13078 .loc 1 6693 3 is_stmt 1 view .LVU4620 13079 000e 1021 movs r1, #16 13080 0010 FFF7FEFF bl I2C_ITError 13081 .LVL947: 6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13082 .loc 1 6694 1 is_stmt 0 view .LVU4621 13083 0014 08BD pop {r3, pc} 13084 .cfi_endproc 13085 .LFE200: 13087 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits 13088 .align 1 13089 .syntax unified ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 435 13090 .thumb 13091 .thumb_func 13093 I2C_DMAMasterTransmitCplt: 13094 .LVL948: 13095 .LFB196: 6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13096 .loc 1 6525 1 is_stmt 1 view -0 13097 .cfi_startproc 13098 @ args = 0, pretend = 0, frame = 0 13099 @ frame_needed = 0, uses_anonymous_args = 0 6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13100 .loc 1 6525 1 is_stmt 0 view .LVU4623 13101 0000 10B5 push {r4, lr} 13102 .cfi_def_cfa_offset 8 13103 .cfi_offset 4, -8 13104 .cfi_offset 14, -4 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13105 .loc 1 6527 3 is_stmt 1 view .LVU4624 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13106 .loc 1 6527 22 is_stmt 0 view .LVU4625 13107 0002 446A ldr r4, [r0, #36] 13108 .LVL949: 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13109 .loc 1 6530 3 is_stmt 1 view .LVU4626 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13110 .loc 1 6530 7 is_stmt 0 view .LVU4627 13111 0004 2268 ldr r2, [r4] 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13112 .loc 1 6530 17 view .LVU4628 13113 0006 1368 ldr r3, [r2] 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13114 .loc 1 6530 23 view .LVU4629 13115 0008 23F48043 bic r3, r3, #16384 13116 000c 1360 str r3, [r2] 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13117 .loc 1 6533 3 is_stmt 1 view .LVU4630 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13118 .loc 1 6533 11 is_stmt 0 view .LVU4631 13119 000e 638D ldrh r3, [r4, #42] 13120 0010 9BB2 uxth r3, r3 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13121 .loc 1 6533 6 view .LVU4632 13122 0012 ABB1 cbz r3, .L856 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13123 .loc 1 6542 5 is_stmt 1 view .LVU4633 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13124 .loc 1 6542 9 is_stmt 0 view .LVU4634 13125 0014 616A ldr r1, [r4, #36] 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13126 .loc 1 6542 27 view .LVU4635 13127 0016 238D ldrh r3, [r4, #40] 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13128 .loc 1 6542 20 view .LVU4636 13129 0018 1944 add r1, r1, r3 13130 001a 6162 str r1, [r4, #36] 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13131 .loc 1 6545 5 is_stmt 1 view .LVU4637 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 436 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13132 .loc 1 6545 13 is_stmt 0 view .LVU4638 13133 001c 638D ldrh r3, [r4, #42] 13134 001e 9BB2 uxth r3, r3 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13135 .loc 1 6545 8 view .LVU4639 13136 0020 FF2B cmp r3, #255 13137 0022 12D9 bls .L852 6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13138 .loc 1 6547 7 is_stmt 1 view .LVU4640 6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13139 .loc 1 6547 22 is_stmt 0 view .LVU4641 13140 0024 FF23 movs r3, #255 13141 0026 2385 strh r3, [r4, #40] @ movhi 13142 .L853: 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13143 .loc 1 6555 5 is_stmt 1 view .LVU4642 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13144 .loc 1 6555 81 is_stmt 0 view .LVU4643 13145 0028 2268 ldr r2, [r4] 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13146 .loc 1 6555 9 view .LVU4644 13147 002a 238D ldrh r3, [r4, #40] 13148 002c 2832 adds r2, r2, #40 13149 002e A06B ldr r0, [r4, #56] 13150 .LVL950: 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13151 .loc 1 6555 9 view .LVU4645 13152 0030 FFF7FEFF bl HAL_DMA_Start_IT 13153 .LVL951: 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13154 .loc 1 6555 8 view .LVU4646 13155 0034 60B1 cbz r0, .L854 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13156 .loc 1 6559 7 is_stmt 1 view .LVU4647 13157 0036 1021 movs r1, #16 13158 0038 2046 mov r0, r4 13159 003a FFF7FEFF bl I2C_ITError 13160 .LVL952: 13161 .L849: 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13162 .loc 1 6567 1 is_stmt 0 view .LVU4648 13163 003e 10BD pop {r4, pc} 13164 .LVL953: 13165 .L856: 6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13166 .loc 1 6536 5 is_stmt 1 view .LVU4649 13167 0040 2021 movs r1, #32 13168 0042 2046 mov r0, r4 13169 .LVL954: 6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13170 .loc 1 6536 5 is_stmt 0 view .LVU4650 13171 0044 FFF7FEFF bl I2C_Enable_IRQ 13172 .LVL955: 13173 0048 F9E7 b .L849 13174 .LVL956: 13175 .L852: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 437 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13176 .loc 1 6551 7 is_stmt 1 view .LVU4651 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13177 .loc 1 6551 28 is_stmt 0 view .LVU4652 13178 004a 638D ldrh r3, [r4, #42] 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13179 .loc 1 6551 22 view .LVU4653 13180 004c 2385 strh r3, [r4, #40] @ movhi 13181 004e EBE7 b .L853 13182 .LVL957: 13183 .L854: 6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13184 .loc 1 6564 7 is_stmt 1 view .LVU4654 13185 0050 4021 movs r1, #64 13186 0052 2046 mov r0, r4 13187 0054 FFF7FEFF bl I2C_Enable_IRQ 13188 .LVL958: 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13189 .loc 1 6567 1 is_stmt 0 view .LVU4655 13190 0058 F1E7 b .L849 13191 .cfi_endproc 13192 .LFE196: 13194 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits 13195 .align 1 13196 .syntax unified 13197 .thumb 13198 .thumb_func 13200 I2C_DMAMasterReceiveCplt: 13201 .LVL959: 13202 .LFB198: 6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13203 .loc 1 6605 1 is_stmt 1 view -0 13204 .cfi_startproc 13205 @ args = 0, pretend = 0, frame = 0 13206 @ frame_needed = 0, uses_anonymous_args = 0 6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13207 .loc 1 6605 1 is_stmt 0 view .LVU4657 13208 0000 10B5 push {r4, lr} 13209 .cfi_def_cfa_offset 8 13210 .cfi_offset 4, -8 13211 .cfi_offset 14, -4 6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13212 .loc 1 6607 3 is_stmt 1 view .LVU4658 6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13213 .loc 1 6607 22 is_stmt 0 view .LVU4659 13214 0002 446A ldr r4, [r0, #36] 13215 .LVL960: 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13216 .loc 1 6610 3 is_stmt 1 view .LVU4660 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13217 .loc 1 6610 7 is_stmt 0 view .LVU4661 13218 0004 2268 ldr r2, [r4] 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13219 .loc 1 6610 17 view .LVU4662 13220 0006 1368 ldr r3, [r2] 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13221 .loc 1 6610 23 view .LVU4663 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 438 13222 0008 23F40043 bic r3, r3, #32768 13223 000c 1360 str r3, [r2] 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13224 .loc 1 6613 3 is_stmt 1 view .LVU4664 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13225 .loc 1 6613 11 is_stmt 0 view .LVU4665 13226 000e 638D ldrh r3, [r4, #42] 13227 0010 9BB2 uxth r3, r3 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13228 .loc 1 6613 6 view .LVU4666 13229 0012 ABB1 cbz r3, .L864 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13230 .loc 1 6622 5 is_stmt 1 view .LVU4667 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13231 .loc 1 6622 9 is_stmt 0 view .LVU4668 13232 0014 626A ldr r2, [r4, #36] 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13233 .loc 1 6622 27 view .LVU4669 13234 0016 238D ldrh r3, [r4, #40] 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13235 .loc 1 6622 20 view .LVU4670 13236 0018 1A44 add r2, r2, r3 13237 001a 6262 str r2, [r4, #36] 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13238 .loc 1 6625 5 is_stmt 1 view .LVU4671 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13239 .loc 1 6625 13 is_stmt 0 view .LVU4672 13240 001c 638D ldrh r3, [r4, #42] 13241 001e 9BB2 uxth r3, r3 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13242 .loc 1 6625 8 view .LVU4673 13243 0020 FF2B cmp r3, #255 13244 0022 12D9 bls .L860 6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13245 .loc 1 6627 7 is_stmt 1 view .LVU4674 6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13246 .loc 1 6627 22 is_stmt 0 view .LVU4675 13247 0024 FF23 movs r3, #255 13248 0026 2385 strh r3, [r4, #40] @ movhi 13249 .L861: 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13250 .loc 1 6635 5 is_stmt 1 view .LVU4676 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13251 .loc 1 6635 55 is_stmt 0 view .LVU4677 13252 0028 2168 ldr r1, [r4] 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13253 .loc 1 6635 9 view .LVU4678 13254 002a 238D ldrh r3, [r4, #40] 13255 002c 2431 adds r1, r1, #36 13256 002e E06B ldr r0, [r4, #60] 13257 .LVL961: 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13258 .loc 1 6635 9 view .LVU4679 13259 0030 FFF7FEFF bl HAL_DMA_Start_IT 13260 .LVL962: 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 13261 .loc 1 6635 8 view .LVU4680 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 439 13262 0034 60B1 cbz r0, .L862 6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13263 .loc 1 6639 7 is_stmt 1 view .LVU4681 13264 0036 1021 movs r1, #16 13265 0038 2046 mov r0, r4 13266 003a FFF7FEFF bl I2C_ITError 13267 .LVL963: 13268 .L857: 6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13269 .loc 1 6647 1 is_stmt 0 view .LVU4682 13270 003e 10BD pop {r4, pc} 13271 .LVL964: 13272 .L864: 6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13273 .loc 1 6616 5 is_stmt 1 view .LVU4683 13274 0040 2021 movs r1, #32 13275 0042 2046 mov r0, r4 13276 .LVL965: 6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13277 .loc 1 6616 5 is_stmt 0 view .LVU4684 13278 0044 FFF7FEFF bl I2C_Enable_IRQ 13279 .LVL966: 13280 0048 F9E7 b .L857 13281 .LVL967: 13282 .L860: 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13283 .loc 1 6631 7 is_stmt 1 view .LVU4685 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13284 .loc 1 6631 28 is_stmt 0 view .LVU4686 13285 004a 638D ldrh r3, [r4, #42] 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13286 .loc 1 6631 22 view .LVU4687 13287 004c 2385 strh r3, [r4, #40] @ movhi 13288 004e EBE7 b .L861 13289 .LVL968: 13290 .L862: 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13291 .loc 1 6644 7 is_stmt 1 view .LVU4688 13292 0050 4021 movs r1, #64 13293 0052 2046 mov r0, r4 13294 0054 FFF7FEFF bl I2C_Enable_IRQ 13295 .LVL969: 6647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13296 .loc 1 6647 1 is_stmt 0 view .LVU4689 13297 0058 F1E7 b .L857 13298 .cfi_endproc 13299 .LFE198: 13301 .section .text.I2C_Mem_ISR_IT,"ax",%progbits 13302 .align 1 13303 .syntax unified 13304 .thumb 13305 .thumb_func 13307 I2C_Mem_ISR_IT: 13308 .LVL970: 13309 .LFB180: 4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 13310 .loc 1 4955 1 is_stmt 1 view -0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 440 13311 .cfi_startproc 13312 @ args = 0, pretend = 0, frame = 0 13313 @ frame_needed = 0, uses_anonymous_args = 0 4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 13314 .loc 1 4956 3 view .LVU4691 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13315 .loc 1 4957 3 view .LVU4692 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13316 .loc 1 4960 3 view .LVU4693 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13317 .loc 1 4960 3 view .LVU4694 13318 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 13319 0004 012B cmp r3, #1 13320 0006 00F0B980 beq .L878 4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 13321 .loc 1 4955 1 is_stmt 0 discriminator 2 view .LVU4695 13322 000a 70B5 push {r4, r5, r6, lr} 13323 .cfi_def_cfa_offset 16 13324 .cfi_offset 4, -16 13325 .cfi_offset 5, -12 13326 .cfi_offset 6, -8 13327 .cfi_offset 14, -4 13328 000c 82B0 sub sp, sp, #8 13329 .cfi_def_cfa_offset 24 13330 000e 0446 mov r4, r0 13331 0010 0D46 mov r5, r1 13332 0012 1646 mov r6, r2 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13333 .loc 1 4960 3 is_stmt 1 discriminator 2 view .LVU4696 13334 0014 0123 movs r3, #1 13335 0016 80F84030 strb r3, [r0, #64] 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13336 .loc 1 4960 3 discriminator 2 view .LVU4697 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 13337 .loc 1 4962 3 discriminator 2 view .LVU4698 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 13338 .loc 1 4962 6 is_stmt 0 discriminator 2 view .LVU4699 13339 001a 11F0100F tst r1, #16 13340 001e 02D0 beq .L867 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 13341 .loc 1 4962 58 discriminator 1 view .LVU4700 13342 0020 12F0100F tst r2, #16 13343 0024 22D1 bne .L884 13344 .L867: 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 13345 .loc 1 4976 8 is_stmt 1 view .LVU4701 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 13346 .loc 1 4976 11 is_stmt 0 view .LVU4702 13347 0026 15F0040F tst r5, #4 13348 002a 29D0 beq .L869 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 13349 .loc 1 4976 65 discriminator 1 view .LVU4703 13350 002c 16F0040F tst r6, #4 13351 0030 26D0 beq .L869 4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13352 .loc 1 4980 5 is_stmt 1 view .LVU4704 4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 441 13353 .loc 1 4980 16 is_stmt 0 view .LVU4705 13354 0032 25F00405 bic r5, r5, #4 13355 .LVL971: 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13356 .loc 1 4983 5 is_stmt 1 view .LVU4706 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13357 .loc 1 4983 36 is_stmt 0 view .LVU4707 13358 0036 2368 ldr r3, [r4] 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13359 .loc 1 4983 46 view .LVU4708 13360 0038 5A6A ldr r2, [r3, #36] 13361 .LVL972: 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13362 .loc 1 4983 10 view .LVU4709 13363 003a 636A ldr r3, [r4, #36] 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13364 .loc 1 4983 21 view .LVU4710 13365 003c 1A70 strb r2, [r3] 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13366 .loc 1 4986 5 is_stmt 1 view .LVU4711 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13367 .loc 1 4986 9 is_stmt 0 view .LVU4712 13368 003e 636A ldr r3, [r4, #36] 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13369 .loc 1 4986 19 view .LVU4713 13370 0040 0133 adds r3, r3, #1 13371 0042 6362 str r3, [r4, #36] 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13372 .loc 1 4988 5 is_stmt 1 view .LVU4714 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13373 .loc 1 4988 9 is_stmt 0 view .LVU4715 13374 0044 238D ldrh r3, [r4, #40] 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13375 .loc 1 4988 19 view .LVU4716 13376 0046 013B subs r3, r3, #1 13377 0048 2385 strh r3, [r4, #40] @ movhi 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13378 .loc 1 4989 5 is_stmt 1 view .LVU4717 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13379 .loc 1 4989 9 is_stmt 0 view .LVU4718 13380 004a 638D ldrh r3, [r4, #42] 13381 004c 9BB2 uxth r3, r3 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13382 .loc 1 4989 20 view .LVU4719 13383 004e 013B subs r3, r3, #1 13384 0050 9BB2 uxth r3, r3 13385 0052 6385 strh r3, [r4, #42] @ movhi 13386 .LVL973: 13387 .L868: 5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13388 .loc 1 5067 3 is_stmt 1 view .LVU4720 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13389 .loc 1 5069 3 view .LVU4721 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13390 .loc 1 5069 6 is_stmt 0 view .LVU4722 13391 0054 15F0200F tst r5, #32 13392 0058 03D0 beq .L877 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 442 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 13393 .loc 1 5069 61 discriminator 1 view .LVU4723 13394 005a 16F0200F tst r6, #32 13395 005e 40F08880 bne .L885 13396 .L877: 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13397 .loc 1 5077 3 is_stmt 1 view .LVU4724 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13398 .loc 1 5077 3 view .LVU4725 13399 0062 0020 movs r0, #0 13400 0064 84F84000 strb r0, [r4, #64] 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13401 .loc 1 5077 3 view .LVU4726 5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13402 .loc 1 5079 3 view .LVU4727 5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13403 .loc 1 5080 1 is_stmt 0 view .LVU4728 13404 0068 02B0 add sp, sp, #8 13405 .cfi_remember_state 13406 .cfi_def_cfa_offset 16 13407 @ sp needed 13408 006a 70BD pop {r4, r5, r6, pc} 13409 .LVL974: 13410 .L884: 13411 .cfi_restore_state 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13412 .loc 1 4966 5 is_stmt 1 view .LVU4729 13413 006c 0368 ldr r3, [r0] 13414 006e 1022 movs r2, #16 13415 .LVL975: 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13416 .loc 1 4966 5 is_stmt 0 view .LVU4730 13417 0070 DA61 str r2, [r3, #28] 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13418 .loc 1 4971 5 is_stmt 1 view .LVU4731 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13419 .loc 1 4971 9 is_stmt 0 view .LVU4732 13420 0072 436C ldr r3, [r0, #68] 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13421 .loc 1 4971 21 view .LVU4733 13422 0074 43F00403 orr r3, r3, #4 13423 0078 4364 str r3, [r0, #68] 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13424 .loc 1 4974 5 is_stmt 1 view .LVU4734 13425 007a FFF7FEFF bl I2C_Flush_TXDR 13426 .LVL976: 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13427 .loc 1 4974 5 is_stmt 0 view .LVU4735 13428 007e E9E7 b .L868 13429 .LVL977: 13430 .L869: 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 13431 .loc 1 4991 8 is_stmt 1 view .LVU4736 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 13432 .loc 1 4991 11 is_stmt 0 view .LVU4737 13433 0080 15F0020F tst r5, #2 13434 0084 1DD0 beq .L870 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 443 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 13435 .loc 1 4991 65 discriminator 1 view .LVU4738 13436 0086 16F0020F tst r6, #2 13437 008a 1AD0 beq .L870 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13438 .loc 1 4994 5 is_stmt 1 view .LVU4739 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13439 .loc 1 4994 13 is_stmt 0 view .LVU4740 13440 008c 236D ldr r3, [r4, #80] 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13441 .loc 1 4994 8 view .LVU4741 13442 008e B3F1FF3F cmp r3, #-1 13443 0092 06D0 beq .L886 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13444 .loc 1 5008 7 is_stmt 1 view .LVU4742 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13445 .loc 1 5008 11 is_stmt 0 view .LVU4743 13446 0094 2368 ldr r3, [r4] 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13447 .loc 1 5008 34 view .LVU4744 13448 0096 226D ldr r2, [r4, #80] 13449 .LVL978: 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13450 .loc 1 5008 28 view .LVU4745 13451 0098 9A62 str r2, [r3, #40] 5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13452 .loc 1 5011 7 is_stmt 1 view .LVU4746 5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13453 .loc 1 5011 24 is_stmt 0 view .LVU4747 13454 009a 4FF0FF33 mov r3, #-1 13455 009e 2365 str r3, [r4, #80] 13456 00a0 D8E7 b .L868 13457 .LVL979: 13458 .L886: 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13459 .loc 1 4997 7 is_stmt 1 view .LVU4748 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13460 .loc 1 4997 35 is_stmt 0 view .LVU4749 13461 00a2 626A ldr r2, [r4, #36] 13462 .LVL980: 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13463 .loc 1 4997 11 view .LVU4750 13464 00a4 2368 ldr r3, [r4] 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13465 .loc 1 4997 30 view .LVU4751 13466 00a6 1278 ldrb r2, [r2] @ zero_extendqisi2 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13467 .loc 1 4997 28 view .LVU4752 13468 00a8 9A62 str r2, [r3, #40] 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13469 .loc 1 5000 7 is_stmt 1 view .LVU4753 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13470 .loc 1 5000 11 is_stmt 0 view .LVU4754 13471 00aa 636A ldr r3, [r4, #36] 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13472 .loc 1 5000 21 view .LVU4755 13473 00ac 0133 adds r3, r3, #1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 444 13474 00ae 6362 str r3, [r4, #36] 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13475 .loc 1 5002 7 is_stmt 1 view .LVU4756 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13476 .loc 1 5002 11 is_stmt 0 view .LVU4757 13477 00b0 238D ldrh r3, [r4, #40] 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13478 .loc 1 5002 21 view .LVU4758 13479 00b2 013B subs r3, r3, #1 13480 00b4 2385 strh r3, [r4, #40] @ movhi 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13481 .loc 1 5003 7 is_stmt 1 view .LVU4759 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13482 .loc 1 5003 11 is_stmt 0 view .LVU4760 13483 00b6 638D ldrh r3, [r4, #42] 13484 00b8 9BB2 uxth r3, r3 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13485 .loc 1 5003 22 view .LVU4761 13486 00ba 013B subs r3, r3, #1 13487 00bc 9BB2 uxth r3, r3 13488 00be 6385 strh r3, [r4, #42] @ movhi 13489 00c0 C8E7 b .L868 13490 .LVL981: 13491 .L870: 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13492 .loc 1 5014 8 is_stmt 1 view .LVU4762 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13493 .loc 1 5014 11 is_stmt 0 view .LVU4763 13494 00c2 15F0800F tst r5, #128 13495 00c6 2AD0 beq .L872 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13496 .loc 1 5014 64 discriminator 1 view .LVU4764 13497 00c8 16F0400F tst r6, #64 13498 00cc 27D0 beq .L872 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13499 .loc 1 5017 5 is_stmt 1 view .LVU4765 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13500 .loc 1 5017 14 is_stmt 0 view .LVU4766 13501 00ce 638D ldrh r3, [r4, #42] 13502 00d0 9BB2 uxth r3, r3 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13503 .loc 1 5017 8 view .LVU4767 13504 00d2 FBB1 cbz r3, .L873 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13505 .loc 1 5017 41 discriminator 1 view .LVU4768 13506 00d4 238D ldrh r3, [r4, #40] 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13507 .loc 1 5017 33 discriminator 1 view .LVU4769 13508 00d6 EBB9 cbnz r3, .L873 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13509 .loc 1 5019 7 is_stmt 1 view .LVU4770 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13510 .loc 1 5019 15 is_stmt 0 view .LVU4771 13511 00d8 638D ldrh r3, [r4, #42] 13512 00da 9BB2 uxth r3, r3 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13513 .loc 1 5019 10 view .LVU4772 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 445 13514 00dc FF2B cmp r3, #255 13515 00de 0BD9 bls .L874 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13516 .loc 1 5021 9 is_stmt 1 view .LVU4773 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13517 .loc 1 5021 24 is_stmt 0 view .LVU4774 13518 00e0 FF22 movs r2, #255 13519 .LVL982: 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13520 .loc 1 5021 24 view .LVU4775 13521 00e2 2285 strh r2, [r4, #40] @ movhi 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 13522 .loc 1 5022 9 is_stmt 1 view .LVU4776 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 13523 .loc 1 5022 48 is_stmt 0 view .LVU4777 13524 00e4 E16C ldr r1, [r4, #76] 13525 .LVL983: 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 13526 .loc 1 5022 9 view .LVU4778 13527 00e6 0023 movs r3, #0 13528 00e8 0093 str r3, [sp] 13529 00ea 4FF08073 mov r3, #16777216 13530 00ee 89B2 uxth r1, r1 13531 00f0 2046 mov r0, r4 13532 .LVL984: 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 13533 .loc 1 5022 9 view .LVU4779 13534 00f2 FFF7FEFF bl I2C_TransferConfig 13535 .LVL985: 13536 00f6 ADE7 b .L868 13537 .LVL986: 13538 .L874: 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13539 .loc 1 5027 9 is_stmt 1 view .LVU4780 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13540 .loc 1 5027 30 is_stmt 0 view .LVU4781 13541 00f8 628D ldrh r2, [r4, #42] 13542 .LVL987: 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13543 .loc 1 5027 30 view .LVU4782 13544 00fa 92B2 uxth r2, r2 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 13545 .loc 1 5027 24 view .LVU4783 13546 00fc 2285 strh r2, [r4, #40] @ movhi 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 13547 .loc 1 5028 9 is_stmt 1 view .LVU4784 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 13548 .loc 1 5028 48 is_stmt 0 view .LVU4785 13549 00fe E16C ldr r1, [r4, #76] 13550 .LVL988: 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 13551 .loc 1 5028 9 view .LVU4786 13552 0100 0023 movs r3, #0 13553 0102 0093 str r3, [sp] 13554 0104 4FF00073 mov r3, #33554432 13555 0108 D2B2 uxtb r2, r2 13556 010a 89B2 uxth r1, r1 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 446 13557 010c 2046 mov r0, r4 13558 .LVL989: 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 13559 .loc 1 5028 9 view .LVU4787 13560 010e FFF7FEFF bl I2C_TransferConfig 13561 .LVL990: 13562 0112 9FE7 b .L868 13563 .LVL991: 13564 .L873: 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13565 .loc 1 5036 7 is_stmt 1 view .LVU4788 13566 0114 4021 movs r1, #64 13567 .LVL992: 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13568 .loc 1 5036 7 is_stmt 0 view .LVU4789 13569 0116 2046 mov r0, r4 13570 .LVL993: 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13571 .loc 1 5036 7 view .LVU4790 13572 0118 FFF7FEFF bl I2C_ITError 13573 .LVL994: 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13574 .loc 1 5036 7 view .LVU4791 13575 011c 9AE7 b .L868 13576 .LVL995: 13577 .L872: 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13578 .loc 1 5039 8 is_stmt 1 view .LVU4792 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13579 .loc 1 5039 11 is_stmt 0 view .LVU4793 13580 011e 15F0400F tst r5, #64 13581 0122 97D0 beq .L868 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 13582 .loc 1 5039 63 discriminator 1 view .LVU4794 13583 0124 16F0400F tst r6, #64 13584 0128 94D0 beq .L868 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13585 .loc 1 5042 5 is_stmt 1 view .LVU4795 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13586 .loc 1 5042 13 is_stmt 0 view .LVU4796 13587 012a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 13588 012e DBB2 uxtb r3, r3 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13589 .loc 1 5042 8 view .LVU4797 13590 0130 222B cmp r3, #34 13591 0132 0FD0 beq .L879 4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 13592 .loc 1 4956 12 view .LVU4798 13593 0134 1248 ldr r0, .L887 13594 .LVL996: 13595 .L875: 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13596 .loc 1 5047 5 is_stmt 1 view .LVU4799 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13597 .loc 1 5047 13 is_stmt 0 view .LVU4800 13598 0136 638D ldrh r3, [r4, #42] 13599 0138 9BB2 uxth r3, r3 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 447 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13600 .loc 1 5047 8 view .LVU4801 13601 013a FF2B cmp r3, #255 13602 013c 0CD9 bls .L876 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13603 .loc 1 5049 7 is_stmt 1 view .LVU4802 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13604 .loc 1 5049 22 is_stmt 0 view .LVU4803 13605 013e FF22 movs r2, #255 13606 .LVL997: 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13607 .loc 1 5049 22 view .LVU4804 13608 0140 2285 strh r2, [r4, #40] @ movhi 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 13609 .loc 1 5052 7 is_stmt 1 view .LVU4805 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 13610 .loc 1 5052 46 is_stmt 0 view .LVU4806 13611 0142 E16C ldr r1, [r4, #76] 13612 .LVL998: 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 13613 .loc 1 5052 7 view .LVU4807 13614 0144 0090 str r0, [sp] 13615 0146 4FF08073 mov r3, #16777216 13616 014a 89B2 uxth r1, r1 13617 014c 2046 mov r0, r4 13618 .LVL999: 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 13619 .loc 1 5052 7 view .LVU4808 13620 014e FFF7FEFF bl I2C_TransferConfig 13621 .LVL1000: 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 13622 .loc 1 5052 7 view .LVU4809 13623 0152 7FE7 b .L868 13624 .LVL1001: 13625 .L879: 5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13626 .loc 1 5044 17 view .LVU4810 13627 0154 0B48 ldr r0, .L887+4 13628 .LVL1002: 5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13629 .loc 1 5044 17 view .LVU4811 13630 0156 EEE7 b .L875 13631 .LVL1003: 13632 .L876: 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13633 .loc 1 5057 7 is_stmt 1 view .LVU4812 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13634 .loc 1 5057 28 is_stmt 0 view .LVU4813 13635 0158 628D ldrh r2, [r4, #42] 13636 .LVL1004: 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13637 .loc 1 5057 28 view .LVU4814 13638 015a 92B2 uxth r2, r2 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13639 .loc 1 5057 22 view .LVU4815 13640 015c 2285 strh r2, [r4, #40] @ movhi 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 448 13641 .loc 1 5060 7 is_stmt 1 view .LVU4816 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 13642 .loc 1 5060 46 is_stmt 0 view .LVU4817 13643 015e E16C ldr r1, [r4, #76] 13644 .LVL1005: 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 13645 .loc 1 5060 7 view .LVU4818 13646 0160 0090 str r0, [sp] 13647 0162 4FF00073 mov r3, #33554432 13648 0166 D2B2 uxtb r2, r2 13649 0168 89B2 uxth r1, r1 13650 016a 2046 mov r0, r4 13651 .LVL1006: 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 13652 .loc 1 5060 7 view .LVU4819 13653 016c FFF7FEFF bl I2C_TransferConfig 13654 .LVL1007: 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 13655 .loc 1 5060 7 view .LVU4820 13656 0170 70E7 b .L868 13657 .LVL1008: 13658 .L885: 5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13659 .loc 1 5073 5 is_stmt 1 view .LVU4821 13660 0172 2946 mov r1, r5 13661 0174 2046 mov r0, r4 13662 0176 FFF7FEFF bl I2C_ITMasterCplt 13663 .LVL1009: 13664 017a 72E7 b .L877 13665 .LVL1010: 13666 .L878: 13667 .cfi_def_cfa_offset 0 13668 .cfi_restore 4 13669 .cfi_restore 5 13670 .cfi_restore 6 13671 .cfi_restore 14 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13672 .loc 1 4960 3 is_stmt 0 view .LVU4822 13673 017c 0220 movs r0, #2 13674 .LVL1011: 5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13675 .loc 1 5080 1 view .LVU4823 13676 017e 7047 bx lr 13677 .L888: 13678 .align 2 13679 .L887: 13680 0180 00200080 .word -2147475456 13681 0184 00240080 .word -2147474432 13682 .cfi_endproc 13683 .LFE180: 13685 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits 13686 .align 1 13687 .global HAL_I2C_ER_IRQHandler 13688 .syntax unified 13689 .thumb 13690 .thumb_func 13692 HAL_I2C_ER_IRQHandler: ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 449 13693 .LVL1012: 13694 .LFB165: 4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 13695 .loc 1 4526 1 is_stmt 1 view -0 13696 .cfi_startproc 13697 @ args = 0, pretend = 0, frame = 0 13698 @ frame_needed = 0, uses_anonymous_args = 0 4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 13699 .loc 1 4526 1 is_stmt 0 view .LVU4825 13700 0000 10B5 push {r4, lr} 13701 .cfi_def_cfa_offset 8 13702 .cfi_offset 4, -8 13703 .cfi_offset 14, -4 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 13704 .loc 1 4527 3 is_stmt 1 view .LVU4826 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 13705 .loc 1 4527 24 is_stmt 0 view .LVU4827 13706 0002 0268 ldr r2, [r0] 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 13707 .loc 1 4527 12 view .LVU4828 13708 0004 9369 ldr r3, [r2, #24] 13709 .LVL1013: 4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 13710 .loc 1 4528 3 is_stmt 1 view .LVU4829 4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 13711 .loc 1 4528 12 is_stmt 0 view .LVU4830 13712 0006 1168 ldr r1, [r2] 13713 .LVL1014: 4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13714 .loc 1 4529 3 is_stmt 1 view .LVU4831 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13715 .loc 1 4532 3 view .LVU4832 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13716 .loc 1 4532 6 is_stmt 0 view .LVU4833 13717 0008 13F4807F tst r3, #256 13718 000c 09D0 beq .L890 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13719 .loc 1 4532 57 discriminator 1 view .LVU4834 13720 000e 11F0800F tst r1, #128 13721 0012 06D0 beq .L890 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13722 .loc 1 4535 5 is_stmt 1 view .LVU4835 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13723 .loc 1 4535 9 is_stmt 0 view .LVU4836 13724 0014 446C ldr r4, [r0, #68] 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13725 .loc 1 4535 21 view .LVU4837 13726 0016 44F00104 orr r4, r4, #1 13727 001a 4464 str r4, [r0, #68] 4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13728 .loc 1 4538 5 is_stmt 1 view .LVU4838 13729 001c 4FF48074 mov r4, #256 13730 0020 D461 str r4, [r2, #28] 13731 .L890: 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13732 .loc 1 4542 3 view .LVU4839 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 450 13733 .loc 1 4542 6 is_stmt 0 view .LVU4840 13734 0022 13F4806F tst r3, #1024 13735 0026 0AD0 beq .L891 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13736 .loc 1 4542 56 discriminator 1 view .LVU4841 13737 0028 11F0800F tst r1, #128 13738 002c 07D0 beq .L891 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13739 .loc 1 4545 5 is_stmt 1 view .LVU4842 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13740 .loc 1 4545 9 is_stmt 0 view .LVU4843 13741 002e 426C ldr r2, [r0, #68] 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13742 .loc 1 4545 21 view .LVU4844 13743 0030 42F00802 orr r2, r2, #8 13744 0034 4264 str r2, [r0, #68] 4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13745 .loc 1 4548 5 is_stmt 1 view .LVU4845 13746 0036 0268 ldr r2, [r0] 13747 0038 4FF48064 mov r4, #1024 13748 003c D461 str r4, [r2, #28] 13749 .L891: 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13750 .loc 1 4552 3 view .LVU4846 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13751 .loc 1 4552 6 is_stmt 0 view .LVU4847 13752 003e 13F4007F tst r3, #512 13753 0042 0AD0 beq .L892 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 13754 .loc 1 4552 57 discriminator 1 view .LVU4848 13755 0044 11F0800F tst r1, #128 13756 0048 07D0 beq .L892 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13757 .loc 1 4555 5 is_stmt 1 view .LVU4849 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13758 .loc 1 4555 9 is_stmt 0 view .LVU4850 13759 004a 436C ldr r3, [r0, #68] 13760 .LVL1015: 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13761 .loc 1 4555 21 view .LVU4851 13762 004c 43F00203 orr r3, r3, #2 13763 0050 4364 str r3, [r0, #68] 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13764 .loc 1 4558 5 is_stmt 1 view .LVU4852 13765 0052 0368 ldr r3, [r0] 13766 0054 4FF40072 mov r2, #512 13767 0058 DA61 str r2, [r3, #28] 13768 .L892: 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13769 .loc 1 4562 3 view .LVU4853 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13770 .loc 1 4562 12 is_stmt 0 view .LVU4854 13771 005a 416C ldr r1, [r0, #68] 13772 .LVL1016: 4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13773 .loc 1 4565 3 is_stmt 1 view .LVU4855 4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 451 13774 .loc 1 4565 6 is_stmt 0 view .LVU4856 13775 005c 11F00B0F tst r1, #11 13776 0060 00D1 bne .L895 13777 .LVL1017: 13778 .L889: 4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13779 .loc 1 4569 1 view .LVU4857 13780 0062 10BD pop {r4, pc} 13781 .LVL1018: 13782 .L895: 4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13783 .loc 1 4567 5 is_stmt 1 view .LVU4858 13784 0064 FFF7FEFF bl I2C_ITError 13785 .LVL1019: 4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13786 .loc 1 4569 1 is_stmt 0 view .LVU4859 13787 0068 FBE7 b .L889 13788 .cfi_endproc 13789 .LFE165: 13791 .section .text.I2C_DMAAbort,"ax",%progbits 13792 .align 1 13793 .syntax unified 13794 .thumb 13795 .thumb_func 13797 I2C_DMAAbort: 13798 .LVL1020: 13799 .LFB201: 6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13800 .loc 1 6704 1 is_stmt 1 view -0 13801 .cfi_startproc 13802 @ args = 0, pretend = 0, frame = 0 13803 @ frame_needed = 0, uses_anonymous_args = 0 6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13804 .loc 1 6704 1 is_stmt 0 view .LVU4861 13805 0000 08B5 push {r3, lr} 13806 .cfi_def_cfa_offset 8 13807 .cfi_offset 3, -8 13808 .cfi_offset 14, -4 6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13809 .loc 1 6706 3 is_stmt 1 view .LVU4862 6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13810 .loc 1 6706 22 is_stmt 0 view .LVU4863 13811 0002 406A ldr r0, [r0, #36] 13812 .LVL1021: 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13813 .loc 1 6709 3 is_stmt 1 view .LVU4864 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13814 .loc 1 6709 11 is_stmt 0 view .LVU4865 13815 0004 836B ldr r3, [r0, #56] 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13816 .loc 1 6709 6 view .LVU4866 13817 0006 0BB1 cbz r3, .L897 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13818 .loc 1 6711 5 is_stmt 1 view .LVU4867 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13819 .loc 1 6711 37 is_stmt 0 view .LVU4868 13820 0008 0022 movs r2, #0 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 452 13821 000a 5A63 str r2, [r3, #52] 13822 .L897: 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13823 .loc 1 6713 3 is_stmt 1 view .LVU4869 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13824 .loc 1 6713 11 is_stmt 0 view .LVU4870 13825 000c C36B ldr r3, [r0, #60] 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13826 .loc 1 6713 6 view .LVU4871 13827 000e 0BB1 cbz r3, .L898 6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13828 .loc 1 6715 5 is_stmt 1 view .LVU4872 6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13829 .loc 1 6715 37 is_stmt 0 view .LVU4873 13830 0010 0022 movs r2, #0 13831 0012 5A63 str r2, [r3, #52] 13832 .L898: 6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13833 .loc 1 6718 3 is_stmt 1 view .LVU4874 13834 0014 FFF7FEFF bl I2C_TreatErrorCallback 13835 .LVL1022: 6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13836 .loc 1 6719 1 is_stmt 0 view .LVU4875 13837 0018 08BD pop {r3, pc} 13838 .cfi_endproc 13839 .LFE201: 13841 .section .text.HAL_I2C_GetState,"ax",%progbits 13842 .align 1 13843 .global HAL_I2C_GetState 13844 .syntax unified 13845 .thumb 13846 .thumb_func 13848 HAL_I2C_GetState: 13849 .LVL1023: 13850 .LFB176: 4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */ 13851 .loc 1 4760 1 is_stmt 1 view -0 13852 .cfi_startproc 13853 @ args = 0, pretend = 0, frame = 0 13854 @ frame_needed = 0, uses_anonymous_args = 0 13855 @ link register save eliminated. 4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13856 .loc 1 4762 3 view .LVU4877 4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13857 .loc 1 4762 14 is_stmt 0 view .LVU4878 13858 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 13859 .LVL1024: 4763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13860 .loc 1 4763 1 view .LVU4879 13861 0004 7047 bx lr 13862 .cfi_endproc 13863 .LFE176: 13865 .section .text.HAL_I2C_GetMode,"ax",%progbits 13866 .align 1 13867 .global HAL_I2C_GetMode 13868 .syntax unified 13869 .thumb ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 453 13870 .thumb_func 13872 HAL_I2C_GetMode: 13873 .LVL1025: 13874 .LFB177: 4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode; 13875 .loc 1 4772 1 is_stmt 1 view -0 13876 .cfi_startproc 13877 @ args = 0, pretend = 0, frame = 0 13878 @ frame_needed = 0, uses_anonymous_args = 0 13879 @ link register save eliminated. 4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13880 .loc 1 4773 3 view .LVU4881 4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13881 .loc 1 4773 14 is_stmt 0 view .LVU4882 13882 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2 13883 .LVL1026: 4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13884 .loc 1 4774 1 view .LVU4883 13885 0004 7047 bx lr 13886 .cfi_endproc 13887 .LFE177: 13889 .section .text.HAL_I2C_GetError,"ax",%progbits 13890 .align 1 13891 .global HAL_I2C_GetError 13892 .syntax unified 13893 .thumb 13894 .thumb_func 13896 HAL_I2C_GetError: 13897 .LVL1027: 13898 .LFB178: 4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode; 13899 .loc 1 4783 1 is_stmt 1 view -0 13900 .cfi_startproc 13901 @ args = 0, pretend = 0, frame = 0 13902 @ frame_needed = 0, uses_anonymous_args = 0 13903 @ link register save eliminated. 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13904 .loc 1 4784 3 view .LVU4885 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13905 .loc 1 4784 14 is_stmt 0 view .LVU4886 13906 0000 406C ldr r0, [r0, #68] 13907 .LVL1028: 4785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13908 .loc 1 4785 1 view .LVU4887 13909 0002 7047 bx lr 13910 .cfi_endproc 13911 .LFE178: 13913 .text 13914 .Letext0: 13915 .file 2 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 13916 .file 3 "c:\\users\\nived\\appdata\\roaming\\code\\user\\globalstorage\\bmd.stm32-for-vscode\\@xpa 13917 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 13918 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 13919 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 13920 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 13921 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h" 13922 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 454 ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 455 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_i2c.c C:\Users\nived\AppData\Local\Temp\cciO7sng.s:21 .text.I2C_Flush_TXDR:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:26 .text.I2C_Flush_TXDR:00000000 I2C_Flush_TXDR C:\Users\nived\AppData\Local\Temp\cciO7sng.s:64 .text.I2C_TransferConfig:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:69 .text.I2C_TransferConfig:00000000 I2C_TransferConfig C:\Users\nived\AppData\Local\Temp\cciO7sng.s:125 .text.I2C_Enable_IRQ:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:130 .text.I2C_Enable_IRQ:00000000 I2C_Enable_IRQ C:\Users\nived\AppData\Local\Temp\cciO7sng.s:317 .text.I2C_Enable_IRQ:000000a8 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12741 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12461 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12099 .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:324 .text.I2C_Disable_IRQ:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:329 .text.I2C_Disable_IRQ:00000000 I2C_Disable_IRQ C:\Users\nived\AppData\Local\Temp\cciO7sng.s:453 .text.I2C_ConvertOtherXferOptions:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:458 .text.I2C_ConvertOtherXferOptions:00000000 I2C_ConvertOtherXferOptions C:\Users\nived\AppData\Local\Temp\cciO7sng.s:499 .text.I2C_IsErrorOccurred:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:504 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred C:\Users\nived\AppData\Local\Temp\cciO7sng.s:780 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:785 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout C:\Users\nived\AppData\Local\Temp\cciO7sng.s:882 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:887 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout C:\Users\nived\AppData\Local\Temp\cciO7sng.s:983 .text.I2C_RequestMemoryWrite:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:988 .text.I2C_RequestMemoryWrite:00000000 I2C_RequestMemoryWrite C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1103 .text.I2C_RequestMemoryWrite:00000078 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1108 .text.I2C_RequestMemoryRead:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1113 .text.I2C_RequestMemoryRead:00000000 I2C_RequestMemoryRead C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1228 .text.I2C_RequestMemoryRead:00000074 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1233 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1238 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1335 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1340 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1503 .text.HAL_I2C_MspInit:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1509 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1524 .text.HAL_I2C_Init:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1530 .text.HAL_I2C_Init:00000000 HAL_I2C_Init C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1720 .text.HAL_I2C_MspDeInit:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1726 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1741 .text.HAL_I2C_DeInit:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1747 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1810 .text.HAL_I2C_Master_Transmit:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:1816 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2122 .text.HAL_I2C_Master_Transmit:00000178 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2127 .text.HAL_I2C_Master_Receive:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2133 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2438 .text.HAL_I2C_Master_Receive:00000178 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2443 .text.HAL_I2C_Slave_Transmit:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2449 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2855 .text.HAL_I2C_Slave_Receive:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:2861 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3205 .text.HAL_I2C_Master_Transmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3211 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3360 .text.HAL_I2C_Master_Transmit_IT:0000008c $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11724 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3367 .text.HAL_I2C_Master_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3373 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3522 .text.HAL_I2C_Master_Receive_IT:0000008c $d ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 456 C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3529 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3535 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3677 .text.HAL_I2C_Slave_Transmit_IT:00000084 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11156 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3683 .text.HAL_I2C_Slave_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3689 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3791 .text.HAL_I2C_Slave_Receive_IT:0000005c $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3797 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:3803 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4101 .text.HAL_I2C_Master_Transmit_DMA:0000013c $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13093 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13054 .text.I2C_DMAError:00000000 I2C_DMAError C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4111 .text.HAL_I2C_Master_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4117 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4415 .text.HAL_I2C_Master_Receive_DMA:00000138 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13200 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4425 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4431 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4734 .text.HAL_I2C_Slave_Transmit_DMA:00000130 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9961 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4742 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4748 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4970 .text.HAL_I2C_Slave_Receive_DMA:000000e4 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10012 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4978 .text.HAL_I2C_Mem_Write:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:4984 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5338 .text.HAL_I2C_Mem_Read:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5344 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5698 .text.HAL_I2C_Mem_Read:000001ac $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5703 .text.HAL_I2C_Mem_Write_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5709 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5878 .text.HAL_I2C_Mem_Write_IT:000000ac $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13307 .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5885 .text.HAL_I2C_Mem_Read_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:5891 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6060 .text.HAL_I2C_Mem_Read_IT:000000a8 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6067 .text.HAL_I2C_Mem_Write_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6073 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6355 .text.HAL_I2C_Mem_Write_DMA:00000120 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6364 .text.HAL_I2C_Mem_Read_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6370 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6654 .text.HAL_I2C_Mem_Read_DMA:00000120 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6663 .text.HAL_I2C_IsDeviceReady:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6669 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady C:\Users\nived\AppData\Local\Temp\cciO7sng.s:6999 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7005 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7192 .text.HAL_I2C_Master_Seq_Transmit_IT:000000ac $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7198 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7204 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7533 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000160 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7542 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7548 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7735 .text.HAL_I2C_Master_Seq_Receive_IT:000000ac $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7741 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:7747 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8076 .text.HAL_I2C_Master_Seq_Receive_DMA:00000160 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8085 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 457 C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8091 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8301 .text.HAL_I2C_Slave_Seq_Transmit_IT:000000d8 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13797 .text.I2C_DMAAbort:00000000 I2C_DMAAbort C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8307 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8313 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8703 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000019c $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8711 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8717 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8927 .text.HAL_I2C_Slave_Seq_Receive_IT:000000d8 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8933 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:8939 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9326 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000198 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9334 .text.HAL_I2C_EnableListen_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9340 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9386 .text.HAL_I2C_EnableListen_IT:00000028 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9391 .text.HAL_I2C_DisableListen_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9397 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9462 .text.HAL_I2C_Master_Abort_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9468 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9603 .text.HAL_I2C_Master_Abort_IT:00000080 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9608 .text.HAL_I2C_EV_IRQHandler:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9614 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9651 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9657 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9672 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9678 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9693 .text.I2C_ITMasterSeqCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9698 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9782 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9788 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9803 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9809 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9824 .text.I2C_ITSlaveSeqCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9829 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:9956 .text.I2C_DMASlaveTransmitCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10007 .text.I2C_DMASlaveReceiveCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10067 .text.HAL_I2C_AddrCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10073 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10090 .text.I2C_ITAddrCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10095 .text.I2C_ITAddrCplt:00000000 I2C_ITAddrCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10254 .text.HAL_I2C_ListenCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10260 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10275 .text.I2C_ITListenCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10280 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10383 .text.I2C_ITListenCplt:00000064 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10388 .text.HAL_I2C_MemTxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10394 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10409 .text.HAL_I2C_MemRxCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10415 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10430 .text.HAL_I2C_ErrorCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10436 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10451 .text.HAL_I2C_AbortCpltCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10457 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10472 .text.I2C_TreatErrorCallback:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10477 .text.I2C_TreatErrorCallback:00000000 I2C_TreatErrorCallback C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10533 .text.I2C_ITError:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10538 .text.I2C_ITError:00000000 I2C_ITError ARM GAS C:\Users\nived\AppData\Local\Temp\cciO7sng.s page 458 C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10815 .text.I2C_ITError:00000124 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10822 .text.I2C_ITSlaveCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:10827 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11146 .text.I2C_ITSlaveCplt:00000164 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11151 .text.I2C_Slave_ISR_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11446 .text.I2C_ITMasterCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11451 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt C:\Users\nived\AppData\Local\Temp\cciO7sng.s:11719 .text.I2C_Master_ISR_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12094 .text.I2C_Mem_ISR_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12450 .text.I2C_Mem_ISR_DMA:0000018c $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12456 .text.I2C_Slave_ISR_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12597 .text.I2C_Slave_ISR_DMA:0000008e $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12608 .text.I2C_Slave_ISR_DMA:00000098 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:12736 .text.I2C_Master_ISR_DMA:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13049 .text.I2C_DMAError:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13088 .text.I2C_DMAMasterTransmitCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13195 .text.I2C_DMAMasterReceiveCplt:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13302 .text.I2C_Mem_ISR_IT:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13680 .text.I2C_Mem_ISR_IT:00000180 $d C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13686 .text.HAL_I2C_ER_IRQHandler:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13692 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13792 .text.I2C_DMAAbort:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13842 .text.HAL_I2C_GetState:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13848 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13866 .text.HAL_I2C_GetMode:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13872 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13890 .text.HAL_I2C_GetError:00000000 $t C:\Users\nived\AppData\Local\Temp\cciO7sng.s:13896 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError UNDEFINED SYMBOLS HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort_IT HAL_DMA_GetState