ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.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, 2 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 .section .rodata.I2C_TransferConfig.str1.4,"aMS",%progbits,1 20 .align 2 21 .LC0: 22 0000 44726976 .ascii "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c." 22 6572732F 22 53544D33 22 32463378 22 785F4841 23 0033 6300 .ascii "c\000" 24 .section .text.I2C_TransferConfig,"ax",%progbits 25 .align 1 26 .p2align 2,,3 27 .syntax unified 28 .thumb 29 .thumb_func 31 I2C_TransferConfig: 32 .LVL0: 33 .LFB207: 34 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c" 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. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 2 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: 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 **** =================================== ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 3 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() 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 or memory I2C process communication with Interrupt using HAL_I2C_Master_Ab 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 4 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 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 or memory IT or DMA I2C process communication with Interrupt using HAL_I2 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 5 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 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 or memory I2C process communication with Interrupt using HAL_I2C_Master_Ab 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 6 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 **** [..] 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 7 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 **** 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)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 8 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 */ 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 */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 9 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); 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); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 10 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); 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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 11 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 */ 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 */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 12 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); 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 **** SET_BIT(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 **** else 614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear the I2C ADD10 bit */ 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** CLEAR_BIT(hi2c->Instance->CR2, I2C_CR2_ADD10); 617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */ 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK); 620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/ 622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */ 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE; 624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */ 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | \ 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/ 630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */ 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode); 632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the selected I2C peripheral */ 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c); 635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral. 646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 13 648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c) 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c == NULL) 654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */ 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c); 665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL) 668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */ 670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c); 674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */ 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c); 677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Release Lock */ 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Initialize the I2C MSP. 692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file 703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 14 705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP. 708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c) 713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file 719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register a User I2C Callback 725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak predefined callback 726: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 727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * to register callbacks for HAL_I2C_MSPINIT_CB_ID and HAL_I2C_MSPDEINIT_CB_ID. 728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered 731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID 735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Callback function 744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb 747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** pI2C_CallbackTypeDef pCallback) 748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL) 752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 15 762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback; 765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback; 769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback; 773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback; 777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback; 781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback; 785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback; 789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback; 793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback; 797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; 805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 16 819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback; 822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback; 826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Unregister an I2C Callback 851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback 852: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 853: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. 854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered 857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID 860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID 861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID 862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID 863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID 864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID 865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID 866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID 867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID 868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID 869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID 870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal 873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 17 876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID : 881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb 882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID : 885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb 886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID : 889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba 890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID : 893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba 894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID : 897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac 898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID : 901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback 902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID : 905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback 906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID : 909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback 910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID : 913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback 914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 18 933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State) 934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** switch (CallbackID) 936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID : 938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit 939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID : 942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit 943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** default : 946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback 968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback 969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function 972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC 975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (pCallback == NULL) 979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = pCallback; 989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 19 990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback 1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal 1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c) 1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State) 1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */ 1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update the error code */ 1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK; 1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return error status */ 1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 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 **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions 1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Data transfers functions 1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### IO operation functions ##### 1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data 1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transfers. 1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) There are two modes of transfer: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 20 1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode. 1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The status of all data processing is returned by the same function 1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** after finishing transfer. 1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts 1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup. 1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** The end of the data processing will be indicated through the 1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when 1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** using DMA mode. 1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) Blocking mode functions are : 1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit() 1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive() 1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit() 1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive() 1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write() 1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read() 1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady() 1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are : 1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT() 1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT() 1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT() 1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT() 1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT() 1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT() 1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT() 1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT() 1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT() 1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT() 1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT() 1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT() 1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT() 1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are : 1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA() 1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA() 1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA() 1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA() 1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA() 1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA() 1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA() 1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA() 1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA() 1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA() 1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode: 1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback() 1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback() 1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback() 1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback() 1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback() 1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback() 1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback() 1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback() 1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback() 1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback() 1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 21 1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode. 1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD 1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout) 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 22 1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode, 1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, 1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 23 1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */ 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode. 1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa 1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t Timeout) 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 24 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 25 1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** 1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set */ 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode. 1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, 1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t tmpXferCount; 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef error; 1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 26 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bit addressing mode is selected */ 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 27 1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */ 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK) 1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until AF flag is set */ 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error = I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_AF, RESET, Timeout, tickstart); 1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (error != HAL_OK) 1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 1494: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 */ 1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */ 1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpXferCount = hi2c->XferCount; 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U)) 1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset ErrorCode to NONE */ 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 28 1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear AF flag */ 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP flag is set */ 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */ 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) 1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** * @brief Receive in slave mode an amount of data in blocking mode 1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 29 1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, 1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until ADDR flag is set */ 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK) 1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */ 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK) 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 **** return HAL_ERROR; 1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (hi2c->XferCount > 0U) 1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 30 1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) 1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 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 **** /* Wait until STOP flag is set */ 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP flag */ 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until BUSY flag is reset */ 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK) 1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 31 1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt 1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 32 1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), xfermode, 1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, 1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt 1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t * 1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 33 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ 1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 34 1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt 1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1854: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) 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); 1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 35 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt 1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1918: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) 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 36 1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA 1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 37 2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize; 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 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 **** if (hi2c->XferSize > 0U) 2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, 2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)(hi2c->XferSize + 1U), 2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE); 2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 38 2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, I2C_AUTOEND_MODE, 2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA 2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 39 2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t 2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size) 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 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 **** /* Process Locked */ 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; 2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p 2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 40 2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART * 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_ 2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 41 2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA 2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2278: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 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 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 **** /* Process Locked */ 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 42 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX data if no stretch enable */ 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.NoStretchMode == I2C_NOSTRETCH_ENABLE) 2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; 2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 43 2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA 2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2414: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) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 44 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; 2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa 2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 45 2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** * @brief Write an amount of data in blocking mode to a specific memory address 2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre 2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Ti 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 46 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL 2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */ 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 47 2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U); 2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 48 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address 2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres 2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Tim 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Init tickstart for timeout management*/ 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK 2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_ 2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 49 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until RXNE flag is set */ 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK) 2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK) 2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 50 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (hi2c->XferCount > 0U); 2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK) 2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2786: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 2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2797: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 2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 51 2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0U; 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_W 2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 52 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2874: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 2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2885: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 2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 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 **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 53 2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_ 2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 2961: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 2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 2972: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 2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 54 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 55 3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX 3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START 3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 56 3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3107: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. 3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be read 3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3118: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 3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddSize, uint8_t *pData, uint16_t Size) 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize)); 3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 57 3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address */ 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prefetch Memory Address (MSB part, LSB will be manage through interrupt) */ 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare Memaddress buffer for LSB part */ 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = I2C_MEM_ADD_LSB(MemAddress); 3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; 3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa 3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 58 3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and Memory Address */ 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_STAR 3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Checks if target device is ready for communication. 3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This function is used with Memory devices 3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Trials Number of trials 3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria 3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout) 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL; 3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 59 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp1; 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2; 3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET) 3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY; 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do 3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Start */ 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress); 3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */ 3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/ 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET)) 3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF); 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */ 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET) 3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOPF flag is reset */ 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) 3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 60 3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Device is ready */ 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 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 **** /* Wait until STOPF flag is reset */ 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK) 3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/ 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Trials */ 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Trials++; 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); 3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3378: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 3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3383: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\zl835\AppData\Local\Temp\ccLuCofP.s page 61 3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \ 3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize; 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 62 3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \ 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME)) 3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest); 3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA. 3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3497: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\zl835\AppData\Local\Temp\ccLuCofP.s page 63 3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin 3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX; 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U) && ((XferOptions == I2C_FIRST_FRAME) || \ 3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Preload TX register */ 3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** sizetoxfer = hi2c->XferSize; 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 64 3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && \ 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt; 3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 65 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME)) 3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest); 3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */ 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((XferOptions == I2C_FIRST_FRAME) || (XferOptions == I2C_FIRST_AND_LAST_FRAME)) 3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)sizetoxfer, xfermode, xferrequest); 3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 66 3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */ 3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT); 3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3689: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 3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8 3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 67 3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \ 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3776: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 3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 68 3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint 3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t Size, uint32_t XferOptions) 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX; 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */ 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, 3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** do not generate Restart Condition */ 3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean Previous state is same as current state */ 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && \ 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP; 3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */ 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c); 3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */ 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount <= MAX_NBYTE_SIZE) 3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 69 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferSize > 0U) 3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt; 3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p 3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */ 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest); 3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 70 3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 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 **** else 3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Transfer ISR function pointer */ 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Slave Address */ 3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */ 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */ 3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* possible to enable all of these */ 3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | 3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TXI */ 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 3944: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 3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 3953: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 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 71 3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3962: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) 3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 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 **** } 4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 72 4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT); 4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4044: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 4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4053: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 4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4063: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) 4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 73 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */ 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 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 **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 74 4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN; 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt; 4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError; 4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL; 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX 4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 75 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0; 4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */ 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4228: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 4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4237: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 4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 76 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4246: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) 4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 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 **** } 4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 77 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4328: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 4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during 4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param pData Pointer to data buffer 4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Amount of data to be sent 4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS 4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4337: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 4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t XferOptions) 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp; 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions)); 4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4347: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) 4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U)) 4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM; 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 78 4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */ 4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */ 4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */ 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable associated Interrupts */ 4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA Xfer if any */ 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 79 4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN; 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable Address Acknowledge */ 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK; 4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare transfer parameters */ 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */ 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt; 4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the DMA error callback */ 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError; 4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */ 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL; 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, 4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM; 4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK) 4461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 4464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset XferSize */ 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 0; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 80 4467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C state */ 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update I2C error code */ 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA; 4476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_ADDR); 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 4485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */ 4487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */ 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 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 **** /* Process Unlocked */ 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 4496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* REnable ADDR interrupt */ 4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT); 4502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt. 4513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c) 4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 4520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 81 4524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the Address Match interrupt */ 4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 4532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt. 4537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C 4539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c) 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp; 4545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */ 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 4548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK; 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 4554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable the Address Match interrupt */ 4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 4557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_BUSY; 4563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Abort a master or memory I2C IT or DMA process communication with Interrupt. 4568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 4571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 4572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress) 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode; 4577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmp_mode == HAL_I2C_MODE_MASTER) || (tmp_mode == HAL_I2C_MODE_MEM)) 4579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 82 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 4585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 4588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 4590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 4593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */ 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT; 4601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */ 4603: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 4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP); 4605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 4608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process 4610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current 4611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** process unlock */ 4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 4613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 4615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 4617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong usage of abort function */ 4619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */ 4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 4621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks 4629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 4630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 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 **** * @brief This function handles I2C event interrupt request. 4634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 83 4638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c) /* Derogation MISRAC2012-Rule-8.13 */ 4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 4643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/ 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferISR != NULL) 4646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources); 4648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request. 4653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c) 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 4662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/ 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && \ 4665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 4666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR; 4668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */ 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 4671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/ 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && \ 4675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 4676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR; 4678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */ 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 4681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/ 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && \ 4685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 4686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO; 4688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */ 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 4691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 84 4695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */ 4697: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_ 4698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror); 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 **** /** 4704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback. 4705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c) 4710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file 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 **** /** 4720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback. 4721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c) 4726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file 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 **** /** @brief Slave Tx Transfer completed callback. 4736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c) 4741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file 4747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 85 4752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c) 4757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file 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 **** /** 4767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Slave Address Match callback. 4768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE 4771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code 4772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM 4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection); 4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode); 4780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file 4783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** * @brief Listen Complete callback. 4788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c) 4793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file 4799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback. 4804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 86 4809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file 4815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback. 4820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c) 4825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file 4831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C error callback. 4836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c) 4841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file 4847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C abort callback. 4852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 4855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c) 4857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 4859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(hi2c); 4860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed, 4862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file 4863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 87 4866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 4868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions 4871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions 4872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * 4873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @verbatim 4874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 4875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions ##### 4876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** =============================================================================== 4877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** [..] 4878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral 4879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** and the data flow. 4880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** @endverbatim 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 **** 4885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C handle state. 4887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL state 4890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(const I2C_HandleTypeDef *hi2c) 4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */ 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->State; 4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode. 4899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for I2C module 4901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL mode 4902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(const I2C_HandleTypeDef *hi2c) 4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode; 4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Return the I2C error code. 4910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval I2C Error Code 4913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(const I2C_HandleTypeDef *hi2c) 4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode; 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 **** * @} 4921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 88 4923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 4924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @} 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 **** /** @addtogroup I2C_Private_Functions 4928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @{ 4929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 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 **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt. 4933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 4934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 4935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 4936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 4937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 4938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 4939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 4940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 4944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 4947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 4949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 4950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 4953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 4955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 4956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 4958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 4961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 4963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 4964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 4967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 4970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 4973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) == RESET) && \ 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 4979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 89 4980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 4983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 4986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 4989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \ 4995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 4996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 4998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); 5000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START 5013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 5018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, 5020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 5021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, 5025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 5026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 5036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 90 5037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \ 5046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) 5054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 5057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 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 **** } 5065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ 5068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ 5078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags); 5082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with Interrupt. 5092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 91 5094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 5103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 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 **** /* Clear NACK Flag */ 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 5114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 5115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 5122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 5123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 5126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 5129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 5137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 5138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Memaddress == 0xFFFFFFFFU) 5140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 5143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 92 5151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */ 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress; 5154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 5157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && \ 5160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U)) 5163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 5177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 5183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && \ 5193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */ 5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT); 5200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ; 5204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 93 5208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 5221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */ 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 5229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ 5237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags); 5241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt. 5251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 5262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */ 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 94 5265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */ 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && \ 5268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */ 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags); 5272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 5274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 5277: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 */ 5278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/ 5279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */ 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) 5283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 5284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */ 5285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); 5288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME) 5290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 5298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5309: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*/ 5310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) 5317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 5320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 95 5322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && \ 5324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 5325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U) 5327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 5330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 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 **** if ((hi2c->XferCount == 0U) && \ 5339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 5340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && \ 5346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 5347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags); 5349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 5351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 5352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */ 5354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */ 5355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if all Data have already been sent */ 5356: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 */ 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > 0U) 5358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write data to TXDR */ 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr; 5361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 5364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) 5371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 5373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 96 5379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA. 5391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 5402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 5416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */ 5417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 5419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ 5424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC interrupt */ 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI); 5428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Recover Slave address */ 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD); 5433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */ 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 97 5436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 5447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 5452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 5454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 5458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */ 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP); 5463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */ 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 5484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 98 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ 5494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 5497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE) 5499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */ 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME) 5502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 5505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */ 5509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c); 5510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */ 5516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ 5521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags); 5525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Memory Mode with DMA. 5539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Mem_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 5549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 99 5550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Locked */ 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set corresponding Error Code */ 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */ 5563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */ 5564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */ 5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 5566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TXIS) != RESET) && \ 5571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 5572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write LSB part of Memory Address */ 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = hi2c->Memaddress; 5575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Memaddress content */ 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Memaddress = 0xFFFFFFFFU; 5578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && \ 5580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */ 5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error interrupt */ 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 5587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 5589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */ 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 5604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 100 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 5610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */ 5628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE); 5630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && \ 5633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 5634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupt related to address step */ 5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 5637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable only Error and NACK interrupt for data transfer */ 5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT); 5640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** direction = I2C_GENERATE_START_READ; 5644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 5647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 5650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 5652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 5656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */ 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 5661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 101 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set NBYTES to write and generate RESTART */ 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 5668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 5669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update XferCount value */ 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize; 5673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable DMA Request */ 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 5676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN; 5678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN; 5682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ 5685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Master complete process */ 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags); 5689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 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 **** /* Process Unlocked */ 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA. 5703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled. 5707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, 5710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t ITSources) 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 5715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process locked */ 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_LOCK(hi2c); 5718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if STOPF is set */ 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 102 5721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 5722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave complete process */ 5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags); 5725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && \ 5727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 5728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 5730: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 */ 5731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0 */ 5732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */ 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) || 5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 5735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */ 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 5738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET) 5740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) 5742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U; 5744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */ 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 5750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) 5752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx) == 0U) 5754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** treatdmanack = 1U; 5756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (treatdmanack == 1U) 5761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) 5763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 5764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */ 5765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags); 5768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM 5770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 5776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 103 5778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 5780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5789: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*/ 5790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 5795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current hi2c->State, solve MISRA2012-Rule-13.5 */ 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpstate = hi2c->State; 5798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) 5800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) 5802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 5804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN 5806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 5808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 5812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 5816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */ 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 5823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && \ 5826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 5827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags); 5829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 104 5835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques 5843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 5846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 5847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 5848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 5849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 5850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 5851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 5854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t 5855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 5856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI 5858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 5867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */ 5869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 5872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */ 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 5876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */ 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TCR flag is set */ 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK) 5889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 105 5892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 5894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request 5898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 5899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 5900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value 5901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface 5902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddress Internal memory address 5903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address 5904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 5905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 5906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 5907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, 5909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T 5910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 5911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR 5913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 8Bit */ 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT) 5922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send Memory Address */ 5924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If Memory address size is 16Bit */ 5927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 5928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send MSB of Memory Address */ 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress); 5931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TXIS flag is set */ 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK) 5934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Send LSB of Memory Address */ 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress); 5940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until TC flag is set */ 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK) 5944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 106 5949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 5952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Address complete process callback. 5953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 5954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 5955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 5956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 5958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint8_t transferdirection; 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode; 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code; 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code; 5963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(ITFlags); 5966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */ 5968: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) 5969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c); 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 5974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If 10bits addressing mode is selected */ 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT) 5977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((slaveaddrcode & SLAVE_ADDR_MSK) == ((ownadd1code >> SLAVE_ADDR_SHIFT) & SLAVE_ADDR_MSK)) 5979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = ownadd1code; 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++; 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 5983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset Address Event counter */ 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount = 0U; 5986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 5989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 5992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 5994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 5995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 5996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 5998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 5999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** slaveaddrcode = ownadd2code; 6004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 107 6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 6007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 6012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 6014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 6016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */ 6020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR Interrupts */ 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT); 6024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Slave Addr callback */ 6029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode); 6031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode); 6033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Else clear address flag only */ 6037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ADDR flag */ 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR); 6041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master sequential complete process. 6049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c) 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */ 6058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */ 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 6060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 108 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 6067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 6074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 6076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ 6079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 6087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 6094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 6096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave sequential complete process. 6102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c) 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 6108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) 6114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) 6119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 109 6120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) 6129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */ 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 6133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 6136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 6143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 6145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN) 6149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */ 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 6153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 6156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Master complete process. 6175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 110 6177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg; 6184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 6190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT); 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 6193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 6195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT); 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 6198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 6206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) 6212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set acknowledge error code */ 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Fetch Last receive data if any */ 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) && (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)) 6222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpreg = (uint8_t)hi2c->Instance->RXDR; 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 6226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */ 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmperror = hi2c->ErrorCode; 6233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 111 6234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE)) 6236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 6239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */ 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX) 6242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 6247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_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->MemTxCpltCallback(hi2c); 6256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(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->Mode = HAL_I2C_MODE_NONE; 6263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c); 6270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c); 6272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */ 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 6277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM) 6282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 112 6291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c); 6293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c); 6305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c); 6307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 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 **** else 6311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Slave complete process. 6318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 6320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 6328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts and Store Previous state */ 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_BUSY_TX) || (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN)) 6334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT); 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 6337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((tmpstate == HAL_I2C_STATE_BUSY_RX) || (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT); 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 6342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (tmpstate == HAL_I2C_STATE_LISTEN) 6344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT); 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 113 6348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Address Acknowledge */ 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 6355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 6358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */ 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET) 6364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 6369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmatx); 6371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET) 6374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 6379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx); 6381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Do nothing */ 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 **** /* Store Last receive data if any */ 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) 6390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */ 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE; 6393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 6396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 6399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) 6401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 114 6405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */ 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount != 0U) 6409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && \ 6415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) 6416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check that I2C transfer finished */ 6418: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 */ 6419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Mean XferCount == 0*/ 6420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So clear Flag NACKF only */ 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 6422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) 6424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 6425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** Warning[Pa134]: left and right operands are identical */ 6426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); 6429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME) 6431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 6439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6450: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*/ 6451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME)) 6458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 6461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 115 6462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE) 6469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode); 6472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN) 6475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Listen complete process */ 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags); 6478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 6481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Transfer */ 6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ 6493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX) 6501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c); 6511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c); 6513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 116 6519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c); 6526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c); 6528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Listen complete process. 6534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle. 6536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags) 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET) 6549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Read data from RXDR */ 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR; 6552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Increment Buffer pointer */ 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr++; 6555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferSize > 0U)) 6557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */ 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all Interrupts*/ 6567: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); 6568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACK Flag */ 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 117 6576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c); 6578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c); 6580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C interrupts error process. 6585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param ErrorCode Error code to handle. 6587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 6592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmppreviousstate; 6594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 6599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set new error code */ 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode; 6602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Interrupts */ 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) || 6605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 6606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN)) 6607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */ 6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT); 6610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */ 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN; 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 6614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable all interrupts */ 6618: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); 6619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 6622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If state is an abort treatment on going, don't change state */ 6624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* This change will be do later */ 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT) 6626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */ 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a STOPF is detected */ 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) 6632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 118 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) 6634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 6637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 6641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 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 **** /* Abort DMA TX transfer if any */ 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmppreviousstate = hi2c->PreviousState; 6649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->hdmatx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_TX) || \ 6651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 6652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) 6654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmatx) != HAL_DMA_STATE_READY) 6659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort; 6663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA TX */ 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK) 6669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */ 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx); 6672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 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 **** /* Abort DMA RX transfer if any */ 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if ((hi2c->hdmarx != NULL) && ((tmppreviousstate == I2C_STATE_MASTER_BUSY_RX) || \ 6681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 6682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN) 6684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_GetState(hi2c->hdmarx) != HAL_DMA_STATE_READY) 6689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 119 6690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the I2C DMA Abort callback : 6691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */ 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort; 6693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Abort DMA RX */ 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK) 6699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */ 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx); 6702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief I2C Error callback treatment. 6717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TreatErrorCallback(I2C_HandleTypeDef *hi2c) 6721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT) 6723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c); 6733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c); 6735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 6740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 6743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1) 6746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 120 6747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #else 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c); 6749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 6750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** * @brief I2C Tx data register flush process. 6755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 6756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c) 6759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If a pending TXIS flag is set */ 6761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */ 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET) 6763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U; 6765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register if not empty */ 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET) 6769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE); 6771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback. 6776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma) 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 6789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */ 6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 6792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ 6794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */ 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; 6798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */ 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 6801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 6803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 121 6804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 6807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 6810: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, 6811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 6812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); 6820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback. 6827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma) 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 6835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME)) 6837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN; 6840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Last Byte is Transmitted */ 6842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ 6848: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 */ 6849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ 6850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback. 6856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma) 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 122 6861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */ 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount == 0U) 6869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupt */ 6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT); 6872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */ 6874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Buffer pointer */ 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize; 6878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Set the XferSize to transfer */ 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE) 6881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Errata workaround 170323 */ 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) 6884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = 1U; 6886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE; 6890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 6895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable the DMA channel */ 6898: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, 6899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 6900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT); 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 **** 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 **** * @brief DMA I2C slave receive process complete callback. 6915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 123 6918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma) 6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 6923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DMA_REMAIN_DATA(hi2c->hdmarx) == 0U) && \ 6925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 6926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable DMA Request */ 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN; 6929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */ 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c); 6932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 6934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */ 6936: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 */ 6937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */ 6938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication error callback. 6944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle 6945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma) 6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable Acknowledge */ 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK; 6954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */ 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA); 6957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** /** 6961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief DMA I2C communication abort callback 6962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure). 6963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hdma DMA handle. 6964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 6965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma) 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); 6970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset AbortCpltCallback */ 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmatx != NULL) 6973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 124 6975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->hdmarx != NULL) 6977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 6979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TreatErrorCallback(hi2c); 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout. It waits 6987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * until a flag is no longer in the specified status. 6988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 6989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 6990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check. 6991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Status The actual Flag status (SET or RESET). 6992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 6993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 6994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 6995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 6996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta 6997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Timeout, uint32_t Tickstart) 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 7000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 7003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 7009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 7011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)) 7013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** return HAL_OK; 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag. 7030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 125 7032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 7033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 7034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 7035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 7037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 7040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 7043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 7049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 7051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)) 7053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_OK; 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag. 7071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 7074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 7075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 7076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 7078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 7081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 7084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 126 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) 7090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)) 7092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 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 **** return HAL_OK; 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag. 7109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 7112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 7113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 7114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout, 7116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Tickstart) 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 7119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET) && (status == HAL_OK)) 7121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an error is detected */ 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (I2C_IsErrorOccurred(hi2c, Timeout, Tickstart) != HAL_OK) 7124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 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 **** /* Check if a STOPF is detected */ 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET) && (status == HAL_OK)) 7130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an RXNE is pending */ 7132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Store Last receive data if any */ 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U)) 7134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return HAL_OK */ 7136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */ 7137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_OK; 7138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check a no-acknowledge have been detected */ 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET) 7142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 7145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 127 7146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 7148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 7151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 7161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U)) && (status == HAL_OK)) 7168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)) 7170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT; 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief This function handles errors detection during an I2C Communication. 7186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Timeout Timeout duration 7189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Tickstart Tick start value 7190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval HAL status 7191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsErrorOccurred(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_t Ti 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart; 7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1; 7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2; 7200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_AF)) 7202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 128 7203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear NACKF Flag */ 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF); 7205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Wait until STOP Flag is set or timeout occurred */ 7207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */ 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK)) 7209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY) 7212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 7214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp1 = (uint32_t)(hi2c->Instance->CR2 & I2C_CR2_STOP); 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 7217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case of I2C still busy, try to regenerate a STOP manually */ 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) != RESET) && \ 7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 7221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE)) 7222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Generate Stop */ 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP; 7225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Update Tick with new reference */ 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tickstart = HAL_GetTick(); 7228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 7231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check for the Timeout */ 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF) 7234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_TIMEOUT; 7236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** break; 7240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* In case STOP Flag is detected, clear it */ 7247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status == HAL_OK) 7248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear STOP Flag */ 7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF); 7251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_AF; 7254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Refresh Content of Status register */ 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** itflag = hi2c->Instance->ISR; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 129 7260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Then verify if an additional errors occurs */ 7262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if a Bus error occurred */ 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_BERR)) 7264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_BERR; 7266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear BERR flag */ 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR); 7269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Over-Run/Under-Run error occurred */ 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_OVR)) 7275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_OVR; 7277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear OVR flag */ 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR); 7280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check if an Arbitration Loss error occurred */ 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (HAL_IS_BIT_SET(itflag, I2C_FLAG_ARLO)) 7286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** error_code |= HAL_I2C_ERROR_ARLO; 7288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear ARLO flag */ 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO); 7291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** status = HAL_ERROR; 7293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (status != HAL_OK) 7296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Flush TX register */ 7298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c); 7299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Clear Configuration Register 2 */ 7301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RESET_CR2(hi2c); 7302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= error_code; 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Process Unlocked */ 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_UNLOCK(hi2c); 7309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return status; 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar 7316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 130 7317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed. 7318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed. 7319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter must be a value between 0 and 255. 7320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation. 7321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 7322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode . 7323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode. 7324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode. 7325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation. 7326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * This parameter can be one of the following values: 7327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition. 7328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0). 7329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request. 7330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request. 7331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t 7334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 35 .loc 1 7335 1 view -0 36 .cfi_startproc 37 @ args = 4, pretend = 0, frame = 0 38 @ frame_needed = 0, uses_anonymous_args = 0 7336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance)); 39 .loc 1 7337 3 view .LVU1 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 40 .loc 1 7335 1 is_stmt 0 view .LVU2 41 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 42 .LCFI0: 43 .cfi_def_cfa_offset 24 44 .cfi_offset 4, -24 45 .cfi_offset 5, -20 46 .cfi_offset 6, -16 47 .cfi_offset 7, -12 48 .cfi_offset 8, -8 49 .cfi_offset 14, -4 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 50 .loc 1 7335 1 view .LVU3 51 0004 1446 mov r4, r2 52 0006 1E46 mov r6, r3 53 .loc 1 7337 3 view .LVU4 54 0008 214A ldr r2, .L18 55 .LVL1: 56 .loc 1 7337 3 view .LVU5 57 000a 0368 ldr r3, [r0] 58 .LVL2: 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 59 .loc 1 7335 1 view .LVU6 60 000c DDF81880 ldr r8, [sp, #24] 61 .loc 1 7337 3 view .LVU7 62 0010 9342 cmp r3, r2 7335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 63 .loc 1 7335 1 view .LVU8 64 0012 0746 mov r7, r0 65 0014 0D46 mov r5, r1 66 .loc 1 7337 3 view .LVU9 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 131 67 0016 08D0 beq .L2 68 .loc 1 7337 3 discriminator 1 view .LVU10 69 0018 02F58062 add r2, r2, #1024 70 001c 9342 cmp r3, r2 71 001e 04D0 beq .L2 72 .loc 1 7337 3 discriminator 2 view .LVU11 73 0020 1C48 ldr r0, .L18+4 74 .LVL3: 75 .loc 1 7337 3 discriminator 2 view .LVU12 76 0022 41F6A941 movw r1, #7337 77 .LVL4: 78 .loc 1 7337 3 discriminator 2 view .LVU13 79 0026 FFF7FEFF bl assert_failed 80 .LVL5: 81 .L2: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 82 .loc 1 7338 3 is_stmt 1 view .LVU14 83 002a B6F1007F cmp r6, #33554432 84 002e 02D0 beq .L3 85 .loc 1 7338 3 is_stmt 0 discriminator 2 view .LVU15 86 0030 36F08073 bics r3, r6, #16777216 87 0034 20D1 bne .L16 88 .L3: 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 89 .loc 1 7339 3 is_stmt 1 view .LVU16 90 0036 184B ldr r3, .L18+8 91 0038 9845 cmp r8, r3 92 003a 08D0 beq .L4 93 .loc 1 7339 3 is_stmt 0 discriminator 2 view .LVU17 94 003c A3F50053 sub r3, r3, #8192 95 0040 28F48062 bic r2, r8, #1024 96 0044 9A42 cmp r2, r3 97 0046 02D0 beq .L4 98 .loc 1 7339 3 discriminator 3 view .LVU18 99 0048 B8F1000F cmp r8, #0 100 004c 1AD1 bne .L17 101 .L4: 7340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp = ((uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ 102 .loc 1 7342 3 is_stmt 1 view .LVU19 103 .LVL6: 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); 7345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* update CR2 register */ 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, \ 104 .loc 1 7347 3 view .LVU20 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 105 .loc 1 7342 19 is_stmt 0 view .LVU21 106 004e 48EA0442 orr r2, r8, r4, lsl #16 107 .loc 1 7347 3 view .LVU22 108 0052 3868 ldr r0, [r7] 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 109 .loc 1 7342 19 view .LVU23 110 0054 42EA0604 orr r4, r2, r6 111 .LVL7: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 132 112 .loc 1 7347 3 view .LVU24 113 0058 104A ldr r2, .L18+12 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 114 .loc 1 7342 52 view .LVU25 115 005a C5F30903 ubfx r3, r5, #0, #10 116 .loc 1 7347 3 view .LVU26 117 005e 42EA5858 orr r8, r2, r8, lsr #21 118 0062 4268 ldr r2, [r0, #4] 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 119 .loc 1 7342 19 view .LVU27 120 0064 2343 orrs r3, r3, r4 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 121 .loc 1 7342 12 view .LVU28 122 0066 23F00043 bic r3, r3, #-2147483648 123 .loc 1 7347 3 view .LVU29 124 006a 22EA0808 bic r8, r2, r8 125 006e 43EA0803 orr r3, r3, r8 126 0072 4360 str r3, [r0, #4] 7348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31U - I2C_CR2_RD_WRN_Pos))) | \ 7350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_CR2_START | I2C_CR2_STOP)), tmp); 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 127 .loc 1 7351 1 view .LVU30 128 0074 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 129 .LVL8: 130 .L16: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 131 .loc 1 7338 3 discriminator 3 view .LVU31 132 0078 0648 ldr r0, .L18+4 133 007a 41F6AA41 movw r1, #7338 134 007e FFF7FEFF bl assert_failed 135 .LVL9: 136 0082 D8E7 b .L3 137 .L17: 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 138 .loc 1 7339 3 discriminator 4 view .LVU32 139 0084 0348 ldr r0, .L18+4 140 0086 41F6AB41 movw r1, #7339 141 008a FFF7FEFF bl assert_failed 142 .LVL10: 143 008e DEE7 b .L4 144 .L19: 145 .align 2 146 .L18: 147 0090 00540040 .word 1073763328 148 0094 00000000 .word .LC0 149 0098 00400080 .word -2147467264 150 009c FF63FF03 .word 67068927 151 .cfi_endproc 152 .LFE207: 154 .section .text.I2C_IsErrorOccurred,"ax",%progbits 155 .align 1 156 .p2align 2,,3 157 .syntax unified 158 .thumb 159 .thumb_func 161 I2C_IsErrorOccurred: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 133 162 .LVL11: 163 .LFB206: 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 164 .loc 1 7193 1 is_stmt 1 view -0 165 .cfi_startproc 166 @ args = 0, pretend = 0, frame = 0 167 @ frame_needed = 0, uses_anonymous_args = 0 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 168 .loc 1 7193 1 is_stmt 0 view .LVU34 169 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 170 .LCFI1: 171 .cfi_def_cfa_offset 24 172 .cfi_offset 3, -24 173 .cfi_offset 4, -20 174 .cfi_offset 5, -16 175 .cfi_offset 6, -12 176 .cfi_offset 7, -8 177 .cfi_offset 14, -4 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 178 .loc 1 7195 27 view .LVU35 179 0002 0368 ldr r3, [r0] 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 180 .loc 1 7195 12 view .LVU36 181 0004 9D69 ldr r5, [r3, #24] 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 182 .loc 1 7194 3 is_stmt 1 view .LVU37 183 .LVL12: 7195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t error_code = 0; 184 .loc 1 7195 3 view .LVU38 7196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart = Tickstart; 185 .loc 1 7196 3 view .LVU39 7197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmp1; 186 .loc 1 7197 3 view .LVU40 7198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp2; 187 .loc 1 7198 3 view .LVU41 7199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 188 .loc 1 7199 3 view .LVU42 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 189 .loc 1 7201 3 view .LVU43 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 190 .loc 1 7201 6 is_stmt 0 view .LVU44 191 0006 15F01005 ands r5, r5, #16 192 .LVL13: 7193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 193 .loc 1 7193 1 view .LVU45 194 000a 0646 mov r6, r0 7201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 195 .loc 1 7201 6 view .LVU46 196 000c 40D0 beq .L42 197 000e 1746 mov r7, r2 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 198 .loc 1 7204 5 is_stmt 1 view .LVU47 199 0010 1022 movs r2, #16 200 .LVL14: 7204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 201 .loc 1 7204 5 is_stmt 0 view .LVU48 202 0012 0C46 mov r4, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 134 203 0014 DA61 str r2, [r3, #28] 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 204 .loc 1 7208 5 is_stmt 1 view .LVU49 205 .LVL15: 206 .L22: 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 207 .loc 1 7208 11 view .LVU50 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 208 .loc 1 7208 13 is_stmt 0 view .LVU51 209 0016 9A69 ldr r2, [r3, #24] 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 210 .loc 1 7208 11 view .LVU52 211 0018 9506 lsls r5, r2, #26 212 001a 04D4 bmi .L25 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 213 .loc 1 7211 7 is_stmt 1 view .LVU53 7211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 214 .loc 1 7211 10 is_stmt 0 view .LVU54 215 001c 621C adds r2, r4, #1 216 001e 4DD1 bne .L23 217 .L63: 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 218 .loc 1 7208 11 is_stmt 1 view .LVU55 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 219 .loc 1 7208 13 is_stmt 0 view .LVU56 220 0020 9A69 ldr r2, [r3, #24] 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 221 .loc 1 7208 11 view .LVU57 222 0022 9706 lsls r7, r2, #26 223 0024 FCD5 bpl .L63 224 .L25: 7250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 225 .loc 1 7250 7 is_stmt 1 view .LVU58 226 0026 2022 movs r2, #32 227 0028 DA61 str r2, [r3, #28] 228 002a 0025 movs r5, #0 229 .LVL16: 230 .L30: 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 231 .loc 1 7253 5 view .LVU59 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 232 .loc 1 7259 10 is_stmt 0 view .LVU60 233 002c 9A69 ldr r2, [r3, #24] 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 234 .loc 1 7263 6 view .LVU61 235 002e D405 lsls r4, r2, #23 236 .LVL17: 7253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 237 .loc 1 7253 16 view .LVU62 238 0030 45F00405 orr r5, r5, #4 239 .LVL18: 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 240 .loc 1 7255 5 is_stmt 1 view .LVU63 7255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 241 .loc 1 7255 12 is_stmt 0 view .LVU64 242 0034 4FF00100 mov r0, #1 243 .LVL19: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 135 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 244 .loc 1 7259 3 is_stmt 1 view .LVU65 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 245 .loc 1 7263 3 view .LVU66 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 246 .loc 1 7263 6 is_stmt 0 view .LVU67 247 0038 2ED4 bmi .L68 248 .L33: 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 249 .loc 1 7274 3 is_stmt 1 view .LVU68 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 250 .loc 1 7274 6 is_stmt 0 view .LVU69 251 003a 5105 lsls r1, r2, #21 252 003c 39D5 bpl .L37 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 253 .loc 1 7276 5 is_stmt 1 view .LVU70 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 254 .loc 1 7279 5 is_stmt 0 view .LVU71 255 003e 4FF48061 mov r1, #1024 256 0042 D961 str r1, [r3, #28] 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 257 .loc 1 7276 16 view .LVU72 258 0044 45F00805 orr r5, r5, #8 259 .LVL20: 260 .L65: 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 261 .loc 1 7279 5 is_stmt 1 view .LVU73 7281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 262 .loc 1 7281 5 view .LVU74 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 263 .loc 1 7285 3 view .LVU75 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 264 .loc 1 7285 6 is_stmt 0 view .LVU76 265 0048 9705 lsls r7, r2, #22 266 004a 04D5 bpl .L36 267 .LVL21: 268 .L35: 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 269 .loc 1 7287 5 is_stmt 1 view .LVU77 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 270 .loc 1 7290 5 is_stmt 0 view .LVU78 271 004c 4FF40072 mov r2, #512 272 .LVL22: 7287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 273 .loc 1 7287 16 view .LVU79 274 0050 45F00205 orr r5, r5, #2 275 .LVL23: 7290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 276 .loc 1 7290 5 is_stmt 1 view .LVU80 277 0054 DA61 str r2, [r3, #28] 7292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 278 .loc 1 7292 5 view .LVU81 279 .LVL24: 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 280 .loc 1 7295 3 view .LVU82 281 .L36: 7298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 136 282 .loc 1 7298 5 view .LVU83 283 .LBB48: 284 .LBI48: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 285 .loc 1 6758 13 view .LVU84 286 .LBB49: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 287 .loc 1 6762 3 view .LVU85 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 288 .loc 1 6762 7 is_stmt 0 view .LVU86 289 0056 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 290 .loc 1 6762 6 view .LVU87 291 0058 9107 lsls r1, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 292 .loc 1 6764 5 is_stmt 1 view .LVU88 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 293 .loc 1 6768 3 view .LVU89 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 294 .loc 1 6764 26 is_stmt 0 view .LVU90 295 005a 44BF itt mi 296 005c 0022 movmi r2, #0 297 005e 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 298 .loc 1 6768 7 view .LVU91 299 0060 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 300 .loc 1 6768 6 view .LVU92 301 0062 D207 lsls r2, r2, #31 302 0064 03D4 bmi .L41 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 303 .loc 1 6770 5 is_stmt 1 view .LVU93 304 0066 9A69 ldr r2, [r3, #24] 305 0068 42F00102 orr r2, r2, #1 306 006c 9A61 str r2, [r3, #24] 307 .L41: 308 .LVL25: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 309 .loc 1 6770 5 is_stmt 0 view .LVU94 310 .LBE49: 311 .LBE48: 7301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 312 .loc 1 7301 5 is_stmt 1 view .LVU95 313 006e 5A68 ldr r2, [r3, #4] 314 0070 2649 ldr r1, .L69 315 0072 0A40 ands r2, r2, r1 316 0074 5A60 str r2, [r3, #4] 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 317 .loc 1 7303 5 view .LVU96 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 318 .loc 1 7303 21 is_stmt 0 view .LVU97 319 0076 736C ldr r3, [r6, #68] 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 320 .loc 1 7305 16 view .LVU98 321 0078 0022 movs r2, #0 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 322 .loc 1 7303 21 view .LVU99 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 137 323 007a 1D43 orrs r5, r5, r3 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 324 .loc 1 7304 17 view .LVU100 325 007c 2023 movs r3, #32 7303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 326 .loc 1 7303 21 view .LVU101 327 007e 7564 str r5, [r6, #68] 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 328 .loc 1 7304 5 is_stmt 1 view .LVU102 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 329 .loc 1 7308 5 is_stmt 0 view .LVU103 330 0080 86F84020 strb r2, [r6, #64] 7304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 331 .loc 1 7304 17 view .LVU104 332 0084 86F84130 strb r3, [r6, #65] 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 333 .loc 1 7305 5 is_stmt 1 view .LVU105 7305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 334 .loc 1 7305 16 is_stmt 0 view .LVU106 335 0088 86F84220 strb r2, [r6, #66] 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 336 .loc 1 7308 5 is_stmt 1 view .LVU107 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 337 .loc 1 7308 5 view .LVU108 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 338 .loc 1 7308 5 view .LVU109 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 339 .loc 1 7311 3 view .LVU110 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 340 .loc 1 7308 5 is_stmt 0 view .LVU111 341 008c 0120 movs r0, #1 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 342 .loc 1 7312 1 view .LVU112 343 008e F8BD pop {r3, r4, r5, r6, r7, pc} 344 .LVL26: 345 .L42: 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 346 .loc 1 7259 10 view .LVU113 347 0090 9A69 ldr r2, [r3, #24] 348 .LVL27: 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 349 .loc 1 7263 6 view .LVU114 350 0092 D405 lsls r4, r2, #23 7194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflag = hi2c->Instance->ISR; 351 .loc 1 7194 21 view .LVU115 352 0094 2846 mov r0, r5 353 .LVL28: 7259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 354 .loc 1 7259 3 is_stmt 1 view .LVU116 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 355 .loc 1 7263 3 view .LVU117 7263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 356 .loc 1 7263 6 is_stmt 0 view .LVU118 357 0096 D0D5 bpl .L33 358 .LVL29: 359 .L68: 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 138 360 .loc 1 7265 5 is_stmt 1 view .LVU119 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 361 .loc 1 7268 5 is_stmt 0 view .LVU120 362 0098 4FF48071 mov r1, #256 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 363 .loc 1 7274 6 view .LVU121 364 009c 5005 lsls r0, r2, #21 365 .LVL30: 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 366 .loc 1 7268 5 view .LVU122 367 009e D961 str r1, [r3, #28] 7265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 368 .loc 1 7265 16 view .LVU123 369 00a0 45F00105 orr r5, r5, #1 370 .LVL31: 7268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 371 .loc 1 7268 5 is_stmt 1 view .LVU124 7270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 372 .loc 1 7270 5 view .LVU125 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 373 .loc 1 7274 3 view .LVU126 7274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 374 .loc 1 7274 6 is_stmt 0 view .LVU127 375 00a4 D0D5 bpl .L65 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 376 .loc 1 7276 5 is_stmt 1 view .LVU128 7279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 377 .loc 1 7279 5 is_stmt 0 view .LVU129 378 00a6 4FF48061 mov r1, #1024 379 00aa D961 str r1, [r3, #28] 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 380 .loc 1 7276 16 view .LVU130 381 00ac 45F00805 orr r5, r5, #8 382 .LVL32: 7276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 383 .loc 1 7276 16 view .LVU131 384 00b0 CAE7 b .L65 385 .LVL33: 386 .L37: 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 387 .loc 1 7285 3 is_stmt 1 view .LVU132 7285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 388 .loc 1 7285 6 is_stmt 0 view .LVU133 389 00b2 9405 lsls r4, r2, #22 390 00b4 CAD4 bmi .L35 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 391 .loc 1 7295 3 is_stmt 1 view .LVU134 7295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 392 .loc 1 7295 6 is_stmt 0 view .LVU135 393 00b6 0028 cmp r0, #0 394 00b8 CDD1 bne .L36 7308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 395 .loc 1 7308 5 is_stmt 1 view .LVU136 7311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 396 .loc 1 7311 3 view .LVU137 7312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 397 .loc 1 7312 1 is_stmt 0 view .LVU138 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 139 398 00ba F8BD pop {r3, r4, r5, r6, r7, pc} 399 .LVL34: 400 .L23: 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 401 .loc 1 7213 9 is_stmt 1 view .LVU139 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 402 .loc 1 7213 15 is_stmt 0 view .LVU140 403 00bc FFF7FEFF bl HAL_GetTick 404 .LVL35: 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 405 .loc 1 7213 29 view .LVU141 406 00c0 C01B subs r0, r0, r7 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 407 .loc 1 7213 12 view .LVU142 408 00c2 A042 cmp r0, r4 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 409 .loc 1 7215 33 view .LVU143 410 00c4 3368 ldr r3, [r6] 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 411 .loc 1 7213 12 view .LVU144 412 00c6 01D8 bhi .L26 7213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 413 .loc 1 7213 53 discriminator 1 view .LVU145 414 00c8 002C cmp r4, #0 415 00ca A4D1 bne .L22 416 .L26: 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 417 .loc 1 7215 11 is_stmt 1 view .LVU146 7215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = hi2c->Mode; 418 .loc 1 7215 43 is_stmt 0 view .LVU147 419 00cc 5868 ldr r0, [r3, #4] 420 .LVL36: 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 421 .loc 1 7216 11 is_stmt 1 view .LVU148 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 422 .loc 1 7216 16 is_stmt 0 view .LVU149 423 00ce 96F84220 ldrb r2, [r6, #66] @ zero_extendqisi2 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 424 .loc 1 7219 16 view .LVU150 425 00d2 9969 ldr r1, [r3, #24] 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 426 .loc 1 7219 14 view .LVU151 427 00d4 0D04 lsls r5, r1, #16 7216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 428 .loc 1 7216 16 view .LVU152 429 00d6 D2B2 uxtb r2, r2 430 .LVL37: 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 431 .loc 1 7219 11 is_stmt 1 view .LVU153 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 432 .loc 1 7219 14 is_stmt 0 view .LVU154 433 00d8 0BD5 bpl .L31 7219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp1 != I2C_CR2_STOP) && \ 434 .loc 1 7219 66 discriminator 1 view .LVU155 435 00da 4104 lsls r1, r0, #17 436 00dc 09D4 bmi .L31 7220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmp2 != HAL_I2C_MODE_SLAVE)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 140 437 .loc 1 7220 38 view .LVU156 438 00de 202A cmp r2, #32 439 00e0 07D0 beq .L31 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 440 .loc 1 7224 13 is_stmt 1 view .LVU157 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 441 .loc 1 7224 33 is_stmt 0 view .LVU158 442 00e2 5A68 ldr r2, [r3, #4] 443 .LVL38: 7224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 444 .loc 1 7224 33 view .LVU159 445 00e4 42F48042 orr r2, r2, #16384 446 00e8 5A60 str r2, [r3, #4] 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 447 .loc 1 7227 13 is_stmt 1 view .LVU160 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 448 .loc 1 7227 25 is_stmt 0 view .LVU161 449 00ea FFF7FEFF bl HAL_GetTick 450 .LVL39: 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 451 .loc 1 7230 18 view .LVU162 452 00ee 3368 ldr r3, [r6] 7227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 453 .loc 1 7227 25 view .LVU163 454 00f0 0746 mov r7, r0 455 .LVL40: 456 .L31: 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 457 .loc 1 7233 13 is_stmt 1 view .LVU164 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 458 .loc 1 7230 17 view .LVU165 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 459 .loc 1 7230 18 is_stmt 0 view .LVU166 460 00f2 9969 ldr r1, [r3, #24] 7230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 461 .loc 1 7230 17 view .LVU167 462 00f4 8A06 lsls r2, r1, #26 463 00f6 8ED4 bmi .L22 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 464 .loc 1 7233 18 view .LVU168 465 00f8 FFF7FEFF bl HAL_GetTick 466 .LVL41: 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 467 .loc 1 7233 32 view .LVU169 468 00fc C31B subs r3, r0, r7 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 469 .loc 1 7233 16 view .LVU170 470 00fe 192B cmp r3, #25 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 471 .loc 1 7208 13 view .LVU171 472 0100 3368 ldr r3, [r6] 7233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 473 .loc 1 7233 16 view .LVU172 474 0102 F6D9 bls .L31 475 .LVL42: 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 476 .loc 1 7208 11 is_stmt 1 view .LVU173 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 141 7208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 477 .loc 1 7208 13 is_stmt 0 view .LVU174 478 0104 9A69 ldr r2, [r3, #24] 7235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 479 .loc 1 7235 26 view .LVU175 480 0106 2025 movs r5, #32 481 0108 90E7 b .L30 482 .L70: 483 010a 00BF .align 2 484 .L69: 485 010c 00E800FE .word -33495040 486 .cfi_endproc 487 .LFE206: 489 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits 490 .align 1 491 .p2align 2,,3 492 .syntax unified 493 .thumb 494 .thumb_func 496 I2C_WaitOnTXISFlagUntilTimeout: 497 .LVL43: 498 .LFB203: 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 499 .loc 1 7038 1 is_stmt 1 view -0 500 .cfi_startproc 501 @ args = 0, pretend = 0, frame = 0 502 @ frame_needed = 0, uses_anonymous_args = 0 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 503 .loc 1 7039 3 view .LVU177 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 504 .loc 1 7038 1 is_stmt 0 view .LVU178 505 0000 70B5 push {r4, r5, r6, lr} 506 .LCFI2: 507 .cfi_def_cfa_offset 16 508 .cfi_offset 4, -16 509 .cfi_offset 5, -12 510 .cfi_offset 6, -8 511 .cfi_offset 14, -4 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 512 .loc 1 7039 10 view .LVU179 513 0002 0368 ldr r3, [r0] 7038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET) 514 .loc 1 7038 1 view .LVU180 515 0004 0446 mov r4, r0 516 0006 0D46 mov r5, r1 517 0008 1646 mov r6, r2 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 518 .loc 1 7039 9 view .LVU181 519 000a 05E0 b .L75 520 .L79: 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 521 .loc 1 7042 9 view .LVU182 522 000c FFF7FEFF bl I2C_IsErrorOccurred 523 .LVL44: 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 524 .loc 1 7048 5 is_stmt 1 view .LVU183 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 142 525 .loc 1 7042 8 is_stmt 0 view .LVU184 526 0010 50B9 cbnz r0, .L80 7048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 527 .loc 1 7048 8 view .LVU185 528 0012 6A1C adds r2, r5, #1 529 0014 0AD1 bne .L74 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 530 .loc 1 7039 10 view .LVU186 531 0016 2368 ldr r3, [r4] 532 .L75: 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 533 .loc 1 7042 5 is_stmt 1 view .LVU187 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 534 .loc 1 7039 9 view .LVU188 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 535 .loc 1 7039 10 is_stmt 0 view .LVU189 536 0018 9B69 ldr r3, [r3, #24] 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 537 .loc 1 7039 9 view .LVU190 538 001a 9B07 lsls r3, r3, #30 7042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 539 .loc 1 7042 9 view .LVU191 540 001c 3246 mov r2, r6 541 001e 2946 mov r1, r5 542 0020 2046 mov r0, r4 7039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 543 .loc 1 7039 9 view .LVU192 544 0022 F3D5 bpl .L79 545 .LVL45: 7066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 546 .loc 1 7066 10 view .LVU193 547 0024 0020 movs r0, #0 548 .LVL46: 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 549 .loc 1 7067 1 view .LVU194 550 0026 70BD pop {r4, r5, r6, pc} 551 .LVL47: 552 .L80: 7044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 553 .loc 1 7044 14 view .LVU195 554 0028 0120 movs r0, #1 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 555 .loc 1 7067 1 view .LVU196 556 002a 70BD pop {r4, r5, r6, pc} 557 .LVL48: 558 .L74: 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 559 .loc 1 7050 7 is_stmt 1 view .LVU197 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 560 .loc 1 7050 13 is_stmt 0 view .LVU198 561 002c FFF7FEFF bl HAL_GetTick 562 .LVL49: 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 563 .loc 1 7052 9 is_stmt 1 view .LVU199 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 564 .loc 1 7050 27 is_stmt 0 view .LVU200 565 0030 801B subs r0, r0, r6 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 143 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 566 .loc 1 7050 10 view .LVU201 567 0032 A842 cmp r0, r5 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 568 .loc 1 7052 14 view .LVU202 569 0034 2368 ldr r3, [r4] 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 570 .loc 1 7050 10 view .LVU203 571 0036 01D8 bhi .L76 7050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 572 .loc 1 7050 51 discriminator 1 view .LVU204 573 0038 002D cmp r5, #0 574 003a EDD1 bne .L75 575 .L76: 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 576 .loc 1 7052 14 view .LVU205 577 003c 9A69 ldr r2, [r3, #24] 7052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 578 .loc 1 7052 12 view .LVU206 579 003e 12F00202 ands r2, r2, #2 580 0042 E9D1 bne .L75 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 581 .loc 1 7054 11 is_stmt 1 view .LVU207 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 582 .loc 1 7054 27 is_stmt 0 view .LVU208 583 0044 636C ldr r3, [r4, #68] 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 584 .loc 1 7059 11 view .LVU209 585 0046 84F84020 strb r2, [r4, #64] 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 586 .loc 1 7055 23 view .LVU210 587 004a 2021 movs r1, #32 7054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 588 .loc 1 7054 27 view .LVU211 589 004c 0B43 orrs r3, r3, r1 590 004e 6364 str r3, [r4, #68] 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 591 .loc 1 7055 11 is_stmt 1 view .LVU212 7055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 592 .loc 1 7055 23 is_stmt 0 view .LVU213 593 0050 84F84110 strb r1, [r4, #65] 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 594 .loc 1 7056 11 is_stmt 1 view .LVU214 7056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 595 .loc 1 7056 22 is_stmt 0 view .LVU215 596 0054 84F84220 strb r2, [r4, #66] 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 597 .loc 1 7059 11 is_stmt 1 view .LVU216 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 598 .loc 1 7059 11 view .LVU217 7059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 599 .loc 1 7059 11 view .LVU218 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 600 .loc 1 7061 11 view .LVU219 7061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 601 .loc 1 7061 18 is_stmt 0 view .LVU220 602 0058 0120 movs r0, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 144 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 603 .loc 1 7067 1 view .LVU221 604 005a 70BD pop {r4, r5, r6, pc} 7067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 605 .loc 1 7067 1 view .LVU222 606 .cfi_endproc 607 .LFE203: 609 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits 610 .align 1 611 .p2align 2,,3 612 .syntax unified 613 .thumb 614 .thumb_func 616 I2C_WaitOnFlagUntilTimeout: 617 .LVL50: 618 .LFB202: 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 619 .loc 1 6998 1 is_stmt 1 view -0 620 .cfi_startproc 621 @ args = 4, pretend = 0, frame = 0 622 @ frame_needed = 0, uses_anonymous_args = 0 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 623 .loc 1 6999 3 view .LVU224 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 624 .loc 1 6998 1 is_stmt 0 view .LVU225 625 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 626 .LCFI3: 627 .cfi_def_cfa_offset 24 628 .cfi_offset 4, -24 629 .cfi_offset 5, -20 630 .cfi_offset 6, -16 631 .cfi_offset 7, -12 632 .cfi_offset 8, -8 633 .cfi_offset 14, -4 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 634 .loc 1 6998 1 view .LVU226 635 0004 DDF81880 ldr r8, [sp, #24] 636 0008 1D46 mov r5, r3 637 000a 0446 mov r4, r0 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 638 .loc 1 6999 10 view .LVU227 639 000c 0368 ldr r3, [r0] 640 .LVL51: 6998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status) 641 .loc 1 6998 1 view .LVU228 642 000e 0F46 mov r7, r1 643 0010 1646 mov r6, r2 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 644 .loc 1 6999 9 view .LVU229 645 0012 05E0 b .L86 646 .LVL52: 647 .L90: 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 648 .loc 1 7002 9 view .LVU230 649 0014 FFF7FEFF bl I2C_IsErrorOccurred 650 .LVL53: 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 145 651 .loc 1 7008 5 is_stmt 1 view .LVU231 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 652 .loc 1 7002 8 is_stmt 0 view .LVU232 653 0018 80B9 cbnz r0, .L91 7008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 654 .loc 1 7008 8 view .LVU233 655 001a 6B1C adds r3, r5, #1 656 001c 11D1 bne .L85 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 657 .loc 1 6999 10 view .LVU234 658 001e 2368 ldr r3, [r4] 659 .L86: 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 660 .loc 1 7002 5 is_stmt 1 view .LVU235 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 661 .loc 1 6999 9 view .LVU236 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 662 .loc 1 6999 10 is_stmt 0 view .LVU237 663 0020 9B69 ldr r3, [r3, #24] 664 0022 37EA0303 bics r3, r7, r3 665 0026 0CBF ite eq 666 0028 0123 moveq r3, #1 667 002a 0023 movne r3, #0 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 668 .loc 1 6999 9 view .LVU238 669 002c B342 cmp r3, r6 7002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 670 .loc 1 7002 9 view .LVU239 671 002e 4246 mov r2, r8 672 0030 2946 mov r1, r5 673 0032 2046 mov r0, r4 6999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 674 .loc 1 6999 9 view .LVU240 675 0034 EED0 beq .L90 676 .LVL54: 7025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 677 .loc 1 7025 10 view .LVU241 678 0036 0020 movs r0, #0 679 .LVL55: 680 .L84: 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 681 .loc 1 7026 1 view .LVU242 682 0038 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 683 .LVL56: 684 .L91: 7004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 685 .loc 1 7004 14 view .LVU243 686 003c 0120 movs r0, #1 7026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 687 .loc 1 7026 1 view .LVU244 688 003e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 689 .LVL57: 690 .L85: 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 691 .loc 1 7010 7 is_stmt 1 view .LVU245 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 692 .loc 1 7010 13 is_stmt 0 view .LVU246 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 146 693 0042 FFF7FEFF bl HAL_GetTick 694 .LVL58: 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 695 .loc 1 7012 9 is_stmt 1 view .LVU247 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 696 .loc 1 7010 27 is_stmt 0 view .LVU248 697 0046 A0EB0800 sub r0, r0, r8 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 698 .loc 1 7010 10 view .LVU249 699 004a A842 cmp r0, r5 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 700 .loc 1 7012 14 view .LVU250 701 004c 2368 ldr r3, [r4] 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 702 .loc 1 7010 10 view .LVU251 703 004e 01D8 bhi .L87 7010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 704 .loc 1 7010 51 discriminator 1 view .LVU252 705 0050 002D cmp r5, #0 706 0052 E5D1 bne .L86 707 .L87: 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 708 .loc 1 7012 14 view .LVU253 709 0054 9A69 ldr r2, [r3, #24] 710 0056 37EA0202 bics r2, r7, r2 711 005a 0CBF ite eq 712 005c 0122 moveq r2, #1 713 005e 0022 movne r2, #0 7012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 714 .loc 1 7012 12 view .LVU254 715 0060 B242 cmp r2, r6 716 0062 DDD1 bne .L86 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 717 .loc 1 7014 11 is_stmt 1 view .LVU255 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 718 .loc 1 7014 27 is_stmt 0 view .LVU256 719 0064 636C ldr r3, [r4, #68] 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 720 .loc 1 7016 22 view .LVU257 721 0066 0022 movs r2, #0 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 722 .loc 1 7014 27 view .LVU258 723 0068 43F02003 orr r3, r3, #32 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 724 .loc 1 7015 23 view .LVU259 725 006c 2021 movs r1, #32 7014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 726 .loc 1 7014 27 view .LVU260 727 006e 6364 str r3, [r4, #68] 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 728 .loc 1 7015 11 is_stmt 1 view .LVU261 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 729 .loc 1 7019 11 is_stmt 0 view .LVU262 730 0070 84F84020 strb r2, [r4, #64] 7015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 731 .loc 1 7015 23 view .LVU263 732 0074 84F84110 strb r1, [r4, #65] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 147 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 733 .loc 1 7016 11 is_stmt 1 view .LVU264 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 734 .loc 1 7020 18 is_stmt 0 view .LVU265 735 0078 0120 movs r0, #1 7016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 736 .loc 1 7016 22 view .LVU266 737 007a 84F84220 strb r2, [r4, #66] 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 738 .loc 1 7019 11 is_stmt 1 view .LVU267 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 739 .loc 1 7019 11 view .LVU268 7019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 740 .loc 1 7019 11 view .LVU269 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 741 .loc 1 7020 11 view .LVU270 7020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 742 .loc 1 7020 18 is_stmt 0 view .LVU271 743 007e DBE7 b .L84 744 .cfi_endproc 745 .LFE202: 747 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits 748 .align 1 749 .p2align 2,,3 750 .syntax unified 751 .thumb 752 .thumb_func 754 I2C_WaitOnSTOPFlagUntilTimeout: 755 .LVL59: 756 .LFB204: 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 757 .loc 1 7079 1 is_stmt 1 view -0 758 .cfi_startproc 759 @ args = 0, pretend = 0, frame = 0 760 @ frame_needed = 0, uses_anonymous_args = 0 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 761 .loc 1 7080 3 view .LVU273 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 762 .loc 1 7080 9 view .LVU274 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 763 .loc 1 7080 10 is_stmt 0 view .LVU275 764 0000 0368 ldr r3, [r0] 765 0002 9B69 ldr r3, [r3, #24] 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 766 .loc 1 7080 9 view .LVU276 767 0004 9B06 lsls r3, r3, #26 768 0006 29D4 bmi .L109 7079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) 769 .loc 1 7079 1 view .LVU277 770 0008 70B5 push {r4, r5, r6, lr} 771 .LCFI4: 772 .cfi_def_cfa_offset 16 773 .cfi_offset 4, -16 774 .cfi_offset 5, -12 775 .cfi_offset 6, -8 776 .cfi_offset 14, -4 777 000a 0546 mov r5, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 148 778 000c 0C46 mov r4, r1 779 000e 1646 mov r6, r2 780 0010 0DE0 b .L94 781 .LVL60: 782 .L112: 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 783 .loc 1 7089 11 view .LVU278 784 0012 FFF7FEFF bl HAL_GetTick 785 .LVL61: 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 786 .loc 1 7091 7 is_stmt 1 view .LVU279 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 787 .loc 1 7080 9 view .LVU280 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 788 .loc 1 7089 25 is_stmt 0 view .LVU281 789 0016 801B subs r0, r0, r6 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 790 .loc 1 7089 8 view .LVU282 791 0018 A042 cmp r0, r4 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 792 .loc 1 7091 12 view .LVU283 793 001a 2968 ldr r1, [r5] 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 794 .loc 1 7089 8 view .LVU284 795 001c 00D8 bhi .L96 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 796 .loc 1 7089 49 discriminator 1 view .LVU285 797 001e 1CB9 cbnz r4, .L98 798 .L96: 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 799 .loc 1 7091 12 view .LVU286 800 0020 8B69 ldr r3, [r1, #24] 7091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 801 .loc 1 7091 10 view .LVU287 802 0022 13F02003 ands r3, r3, #32 803 0026 0DD0 beq .L110 804 .L98: 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 805 .loc 1 7080 10 view .LVU288 806 0028 8B69 ldr r3, [r1, #24] 7080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 807 .loc 1 7080 9 view .LVU289 808 002a 9B06 lsls r3, r3, #26 809 002c 08D4 bmi .L111 810 .L94: 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 811 .loc 1 7083 5 is_stmt 1 view .LVU290 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 812 .loc 1 7083 9 is_stmt 0 view .LVU291 813 002e 3246 mov r2, r6 814 0030 2146 mov r1, r4 815 0032 2846 mov r0, r5 816 0034 FFF7FEFF bl I2C_IsErrorOccurred 817 .LVL62: 7089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 818 .loc 1 7089 5 is_stmt 1 view .LVU292 7083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 149 819 .loc 1 7083 8 is_stmt 0 view .LVU293 820 0038 0028 cmp r0, #0 821 003a EAD0 beq .L112 7085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 822 .loc 1 7085 14 view .LVU294 823 003c 0120 movs r0, #1 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 824 .loc 1 7105 1 view .LVU295 825 003e 70BD pop {r4, r5, r6, pc} 826 .LVL63: 827 .L111: 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 828 .loc 1 7104 10 view .LVU296 829 0040 0020 movs r0, #0 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 830 .loc 1 7105 1 view .LVU297 831 0042 70BD pop {r4, r5, r6, pc} 832 .LVL64: 833 .L110: 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 834 .loc 1 7093 9 is_stmt 1 view .LVU298 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 835 .loc 1 7093 25 is_stmt 0 view .LVU299 836 0044 6A6C ldr r2, [r5, #68] 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 837 .loc 1 7098 9 view .LVU300 838 0046 85F84030 strb r3, [r5, #64] 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 839 .loc 1 7094 21 view .LVU301 840 004a 2021 movs r1, #32 7093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 841 .loc 1 7093 25 view .LVU302 842 004c 0A43 orrs r2, r2, r1 843 004e 6A64 str r2, [r5, #68] 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 844 .loc 1 7094 9 is_stmt 1 view .LVU303 7094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 845 .loc 1 7094 21 is_stmt 0 view .LVU304 846 0050 85F84110 strb r1, [r5, #65] 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 847 .loc 1 7095 9 is_stmt 1 view .LVU305 7095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 848 .loc 1 7095 20 is_stmt 0 view .LVU306 849 0054 85F84230 strb r3, [r5, #66] 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 850 .loc 1 7098 9 is_stmt 1 view .LVU307 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 851 .loc 1 7098 9 view .LVU308 7098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 852 .loc 1 7098 9 view .LVU309 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 853 .loc 1 7100 9 view .LVU310 7100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 854 .loc 1 7100 16 is_stmt 0 view .LVU311 855 0058 0120 movs r0, #1 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 856 .loc 1 7105 1 view .LVU312 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 150 857 005a 70BD pop {r4, r5, r6, pc} 858 .LVL65: 859 .L109: 860 .LCFI5: 861 .cfi_def_cfa_offset 0 862 .cfi_restore 4 863 .cfi_restore 5 864 .cfi_restore 6 865 .cfi_restore 14 7104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 866 .loc 1 7104 10 view .LVU313 867 005c 0020 movs r0, #0 868 .LVL66: 7105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 869 .loc 1 7105 1 view .LVU314 870 005e 7047 bx lr 871 .cfi_endproc 872 .LFE204: 874 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits 875 .align 1 876 .p2align 2,,3 877 .syntax unified 878 .thumb 879 .thumb_func 881 I2C_WaitOnRXNEFlagUntilTimeout: 882 .LVL67: 883 .LFB205: 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 884 .loc 1 7117 1 is_stmt 1 view -0 885 .cfi_startproc 886 @ args = 0, pretend = 0, frame = 0 887 @ frame_needed = 0, uses_anonymous_args = 0 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 888 .loc 1 7118 3 view .LVU316 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 889 .loc 1 7120 3 view .LVU317 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 890 .loc 1 7120 9 view .LVU318 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 891 .loc 1 7120 11 is_stmt 0 view .LVU319 892 0000 0368 ldr r3, [r0] 893 0002 9B69 ldr r3, [r3, #24] 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 894 .loc 1 7117 1 view .LVU320 895 0004 70B5 push {r4, r5, r6, lr} 896 .LCFI6: 897 .cfi_def_cfa_offset 16 898 .cfi_offset 4, -16 899 .cfi_offset 5, -12 900 .cfi_offset 6, -8 901 .cfi_offset 14, -4 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 902 .loc 1 7117 1 view .LVU321 903 0006 0446 mov r4, r0 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 904 .loc 1 7120 9 view .LVU322 905 0008 5807 lsls r0, r3, #29 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 151 906 .LVL68: 7117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK; 907 .loc 1 7117 1 view .LVU323 908 000a 0D46 mov r5, r1 909 000c 1646 mov r6, r2 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 910 .loc 1 7120 9 view .LVU324 911 000e 31D4 bmi .L124 912 .LVL69: 913 .L123: 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 914 .loc 1 7123 5 is_stmt 1 view .LVU325 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 915 .loc 1 7123 9 is_stmt 0 view .LVU326 916 0010 3246 mov r2, r6 917 0012 2946 mov r1, r5 918 0014 2046 mov r0, r4 919 0016 FFF7FEFF bl I2C_IsErrorOccurred 920 .LVL70: 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 921 .loc 1 7129 10 view .LVU327 922 001a 2368 ldr r3, [r4] 7123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 923 .loc 1 7123 8 view .LVU328 924 001c E8B9 cbnz r0, .L116 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 925 .loc 1 7129 5 is_stmt 1 view .LVU329 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 926 .loc 1 7129 10 is_stmt 0 view .LVU330 927 001e 9A69 ldr r2, [r3, #24] 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 928 .loc 1 7129 8 view .LVU331 929 0020 9106 lsls r1, r2, #26 930 0022 1DD5 bpl .L118 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 931 .loc 1 7133 7 is_stmt 1 view .LVU332 7133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 932 .loc 1 7133 12 is_stmt 0 view .LVU333 933 0024 9A69 ldr r2, [r3, #24] 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 934 .loc 1 7141 7 is_stmt 1 view .LVU334 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 935 .loc 1 7141 11 is_stmt 0 view .LVU335 936 0026 9A69 ldr r2, [r3, #24] 7141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 937 .loc 1 7141 10 view .LVU336 938 0028 12F01002 ands r2, r2, #16 939 002c 17D0 beq .L120 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 940 .loc 1 7143 9 is_stmt 1 view .LVU337 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 941 .loc 1 7147 9 is_stmt 0 view .LVU338 942 002e 2021 movs r1, #32 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 943 .loc 1 7143 9 view .LVU339 944 0030 1025 movs r5, #16 945 .LVL71: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 152 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 946 .loc 1 7144 25 view .LVU340 947 0032 0422 movs r2, #4 7143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF; 948 .loc 1 7143 9 view .LVU341 949 0034 DD61 str r5, [r3, #28] 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 950 .loc 1 7144 9 is_stmt 1 view .LVU342 7144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 951 .loc 1 7144 25 is_stmt 0 view .LVU343 952 0036 6264 str r2, [r4, #68] 7147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 953 .loc 1 7147 9 is_stmt 1 view .LVU344 954 0038 D961 str r1, [r3, #28] 7150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 955 .loc 1 7150 9 view .LVU345 956 003a 5A68 ldr r2, [r3, #4] 957 003c 184D ldr r5, .L136 958 003e 2A40 ands r2, r2, r5 959 0040 5A60 str r2, [r3, #4] 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 960 .loc 1 7152 9 view .LVU346 7152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 961 .loc 1 7152 21 is_stmt 0 view .LVU347 962 0042 84F84110 strb r1, [r4, #65] 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 963 .loc 1 7153 9 is_stmt 1 view .LVU348 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 964 .loc 1 7156 9 is_stmt 0 view .LVU349 965 0046 84F84000 strb r0, [r4, #64] 7153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 966 .loc 1 7153 20 view .LVU350 967 004a 84F84200 strb r0, [r4, #66] 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 968 .loc 1 7156 9 is_stmt 1 view .LVU351 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 969 .loc 1 7156 9 view .LVU352 7156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 970 .loc 1 7156 9 view .LVU353 7158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 971 .loc 1 7158 9 view .LVU354 972 .LVL72: 973 .L119: 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 974 .loc 1 7167 5 view .LVU355 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 975 .loc 1 7167 12 is_stmt 0 view .LVU356 976 004e FFF7FEFF bl HAL_GetTick 977 .LVL73: 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 978 .loc 1 7120 9 is_stmt 1 view .LVU357 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 979 .loc 1 7120 11 is_stmt 0 view .LVU358 980 0052 2368 ldr r3, [r4] 981 0054 0120 movs r0, #1 7181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 982 .loc 1 7181 3 is_stmt 1 view .LVU359 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 153 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 983 .loc 1 7120 11 is_stmt 0 view .LVU360 984 0056 9B69 ldr r3, [r3, #24] 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 985 .loc 1 7182 1 view .LVU361 986 0058 70BD pop {r4, r5, r6, pc} 987 .LVL74: 988 .L116: 7125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 989 .loc 1 7125 7 is_stmt 1 view .LVU362 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 990 .loc 1 7129 5 view .LVU363 7129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 991 .loc 1 7129 10 is_stmt 0 view .LVU364 992 005a 9B69 ldr r3, [r3, #24] 993 005c F7E7 b .L119 994 .LVL75: 995 .L120: 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 996 .loc 1 7162 9 is_stmt 1 view .LVU365 7162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 997 .loc 1 7162 25 is_stmt 0 view .LVU366 998 005e 6264 str r2, [r4, #68] 999 .L118: 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1000 .loc 1 7167 5 is_stmt 1 view .LVU367 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1001 .loc 1 7167 12 is_stmt 0 view .LVU368 1002 0060 FFF7FEFF bl HAL_GetTick 1003 .LVL76: 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1004 .loc 1 7167 26 view .LVU369 1005 0064 801B subs r0, r0, r6 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1006 .loc 1 7167 8 view .LVU370 1007 0066 8542 cmp r5, r0 1008 0068 06D3 bcc .L125 7167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1009 .loc 1 7167 50 view .LVU371 1010 006a 2DB1 cbz r5, .L125 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1011 .loc 1 7120 9 is_stmt 1 view .LVU372 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1012 .loc 1 7120 11 is_stmt 0 view .LVU373 1013 006c 2368 ldr r3, [r4] 1014 006e 9B69 ldr r3, [r3, #24] 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1015 .loc 1 7120 9 view .LVU374 1016 0070 5B07 lsls r3, r3, #29 1017 0072 CDD5 bpl .L123 1018 .L124: 7118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1019 .loc 1 7118 21 view .LVU375 1020 0074 0020 movs r0, #0 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1021 .loc 1 7182 1 view .LVU376 1022 0076 70BD pop {r4, r5, r6, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 154 1023 .LVL77: 1024 .L125: 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1025 .loc 1 7169 7 is_stmt 1 view .LVU377 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1026 .loc 1 7169 12 is_stmt 0 view .LVU378 1027 0078 2268 ldr r2, [r4] 1028 007a 9369 ldr r3, [r2, #24] 7169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1029 .loc 1 7169 10 view .LVU379 1030 007c 13F00403 ands r3, r3, #4 1031 0080 03D0 beq .L122 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1032 .loc 1 7120 9 is_stmt 1 view .LVU380 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1033 .loc 1 7120 11 is_stmt 0 view .LVU381 1034 0082 9369 ldr r3, [r2, #24] 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1035 .loc 1 7120 9 view .LVU382 1036 0084 5A07 lsls r2, r3, #29 1037 0086 C3D5 bpl .L123 1038 0088 F4E7 b .L124 1039 .L122: 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1040 .loc 1 7171 9 is_stmt 1 view .LVU383 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1041 .loc 1 7171 25 is_stmt 0 view .LVU384 1042 008a 616C ldr r1, [r4, #68] 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1043 .loc 1 7175 9 view .LVU385 1044 008c 84F84030 strb r3, [r4, #64] 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1045 .loc 1 7172 21 view .LVU386 1046 0090 2020 movs r0, #32 7171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1047 .loc 1 7171 25 view .LVU387 1048 0092 0143 orrs r1, r1, r0 1049 0094 6164 str r1, [r4, #68] 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1050 .loc 1 7172 9 is_stmt 1 view .LVU388 7172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1051 .loc 1 7172 21 is_stmt 0 view .LVU389 1052 0096 84F84100 strb r0, [r4, #65] 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1053 .loc 1 7175 9 is_stmt 1 view .LVU390 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1054 .loc 1 7175 9 view .LVU391 7175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1055 .loc 1 7175 9 view .LVU392 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1056 .loc 1 7177 9 view .LVU393 1057 .LVL78: 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1058 .loc 1 7120 9 view .LVU394 7120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1059 .loc 1 7120 11 is_stmt 0 view .LVU395 1060 009a 9369 ldr r3, [r2, #24] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 155 7177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1061 .loc 1 7177 16 view .LVU396 1062 009c 0120 movs r0, #1 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1063 .loc 1 7182 1 view .LVU397 1064 009e 70BD pop {r4, r5, r6, pc} 1065 .LVL79: 1066 .L137: 7182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1067 .loc 1 7182 1 view .LVU398 1068 .align 2 1069 .L136: 1070 00a0 00E800FE .word -33495040 1071 .cfi_endproc 1072 .LFE205: 1074 .section .text.HAL_I2C_MspInit,"ax",%progbits 1075 .align 1 1076 .p2align 2,,3 1077 .weak HAL_I2C_MspInit 1078 .syntax unified 1079 .thumb 1080 .thumb_func 1082 HAL_I2C_MspInit: 1083 .LVL80: 1084 .LFB132: 697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 1085 .loc 1 697 1 is_stmt 1 view -0 1086 .cfi_startproc 1087 @ args = 0, pretend = 0, frame = 0 1088 @ frame_needed = 0, uses_anonymous_args = 0 1089 @ link register save eliminated. 699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1090 .loc 1 699 3 view .LVU400 704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1091 .loc 1 704 1 is_stmt 0 view .LVU401 1092 0000 7047 bx lr 1093 .cfi_endproc 1094 .LFE132: 1096 0002 00BF .section .text.HAL_I2C_Init,"ax",%progbits 1097 .align 1 1098 .p2align 2,,3 1099 .global HAL_I2C_Init 1100 .syntax unified 1101 .thumb 1102 .thumb_func 1104 HAL_I2C_Init: 1105 .LVL81: 1106 .LFB130: 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1107 .loc 1 536 1 is_stmt 1 view -0 1108 .cfi_startproc 1109 @ args = 0, pretend = 0, frame = 0 1110 @ frame_needed = 0, uses_anonymous_args = 0 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1111 .loc 1 538 3 view .LVU403 538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1112 .loc 1 538 6 is_stmt 0 view .LVU404 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 156 1113 0000 0028 cmp r0, #0 1114 0002 00F0B680 beq .L153 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1115 .loc 1 544 3 view .LVU405 1116 0006 0368 ldr r3, [r0] 1117 0008 5B4A ldr r2, .L175 1118 000a 9342 cmp r3, r2 536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1119 .loc 1 536 1 view .LVU406 1120 000c 10B5 push {r4, lr} 1121 .LCFI7: 1122 .cfi_def_cfa_offset 8 1123 .cfi_offset 4, -8 1124 .cfi_offset 14, -4 1125 000e 0446 mov r4, r0 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1126 .loc 1 544 3 is_stmt 1 view .LVU407 1127 0010 08D0 beq .L141 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1128 .loc 1 544 3 is_stmt 0 discriminator 1 view .LVU408 1129 0012 02F58062 add r2, r2, #1024 1130 0016 9342 cmp r3, r2 1131 0018 04D0 beq .L141 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1132 .loc 1 544 3 discriminator 2 view .LVU409 1133 001a 5848 ldr r0, .L175+4 1134 .LVL82: 544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1)); 1135 .loc 1 544 3 discriminator 2 view .LVU410 1136 001c 4FF40871 mov r1, #544 1137 0020 FFF7FEFF bl assert_failed 1138 .LVL83: 1139 .L141: 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 1140 .loc 1 545 3 is_stmt 1 view .LVU411 1141 0024 A368 ldr r3, [r4, #8] 1142 0026 B3F5806F cmp r3, #1024 1143 002a 80F09C80 bcs .L167 1144 .L142: 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 1145 .loc 1 546 3 view .LVU412 1146 002e E368 ldr r3, [r4, #12] 1147 0030 013B subs r3, r3, #1 1148 0032 012B cmp r3, #1 1149 0034 00F28C80 bhi .L168 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 1150 .loc 1 547 3 view .LVU413 1151 0038 2369 ldr r3, [r4, #16] 1152 003a 33F40043 bics r3, r3, #32768 1153 003e 71D1 bne .L169 1154 .L144: 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); 1155 .loc 1 548 3 view .LVU414 1156 0040 6369 ldr r3, [r4, #20] 1157 0042 FF2B cmp r3, #255 1158 0044 76D8 bhi .L170 1159 .L145: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 157 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 1160 .loc 1 549 3 view .LVU415 1161 0046 A369 ldr r3, [r4, #24] 1162 0048 072B cmp r3, #7 1163 004a 7BD8 bhi .L171 1164 .L146: 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 1165 .loc 1 550 3 view .LVU416 1166 004c E369 ldr r3, [r4, #28] 1167 004e 33F40023 bics r3, r3, #524288 1168 0052 04D0 beq .L147 550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode)); 1169 .loc 1 550 3 is_stmt 0 discriminator 2 view .LVU417 1170 0054 4948 ldr r0, .L175+4 1171 0056 40F22621 movw r1, #550 1172 005a FFF7FEFF bl assert_failed 1173 .LVL84: 1174 .L147: 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1175 .loc 1 551 3 is_stmt 1 view .LVU418 1176 005e 236A ldr r3, [r4, #32] 1177 0060 33F40033 bics r3, r3, #131072 1178 0064 4DD1 bne .L172 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1179 .loc 1 553 3 view .LVU419 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1180 .loc 1 553 11 is_stmt 0 view .LVU420 1181 0066 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1182 .loc 1 553 6 view .LVU421 1183 006a 03F0FF02 and r2, r3, #255 1184 006e 002B cmp r3, #0 1185 0070 52D0 beq .L173 1186 .L149: 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1187 .loc 1 584 3 is_stmt 1 view .LVU422 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1188 .loc 1 587 3 is_stmt 0 view .LVU423 1189 0072 2368 ldr r3, [r4] 584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1190 .loc 1 584 15 view .LVU424 1191 0074 2422 movs r2, #36 1192 0076 84F84120 strb r2, [r4, #65] 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1193 .loc 1 587 3 is_stmt 1 view .LVU425 1194 007a 1968 ldr r1, [r3] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1195 .loc 1 591 47 is_stmt 0 view .LVU426 1196 007c 6268 ldr r2, [r4, #4] 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1197 .loc 1 587 3 view .LVU427 1198 007e 21F00101 bic r1, r1, #1 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1199 .loc 1 591 47 view .LVU428 1200 0082 22F07062 bic r2, r2, #251658240 587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1201 .loc 1 587 3 view .LVU429 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 158 1202 0086 1960 str r1, [r3] 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1203 .loc 1 591 3 is_stmt 1 view .LVU430 591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1204 .loc 1 591 27 is_stmt 0 view .LVU431 1205 0088 1A61 str r2, [r3, #16] 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1206 .loc 1 595 3 is_stmt 1 view .LVU432 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1207 .loc 1 595 24 is_stmt 0 view .LVU433 1208 008a 9A68 ldr r2, [r3, #8] 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1209 .loc 1 598 17 view .LVU434 1210 008c E168 ldr r1, [r4, #12] 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1211 .loc 1 595 24 view .LVU435 1212 008e 22F40042 bic r2, r2, #32768 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1213 .loc 1 598 6 view .LVU436 1214 0092 0129 cmp r1, #1 595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1215 .loc 1 595 24 view .LVU437 1216 0094 9A60 str r2, [r3, #8] 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1217 .loc 1 598 3 is_stmt 1 view .LVU438 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1218 .loc 1 600 44 is_stmt 0 view .LVU439 1219 0096 A268 ldr r2, [r4, #8] 598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1220 .loc 1 598 6 view .LVU440 1221 0098 09D0 beq .L174 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1222 .loc 1 604 5 is_stmt 1 view .LVU441 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1223 .loc 1 604 63 is_stmt 0 view .LVU442 1224 009a 42F40442 orr r2, r2, #33792 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1225 .loc 1 609 6 view .LVU443 1226 009e 0229 cmp r1, #2 604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1227 .loc 1 604 26 view .LVU444 1228 00a0 9A60 str r2, [r3, #8] 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1229 .loc 1 609 3 is_stmt 1 view .LVU445 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1230 .loc 1 609 6 is_stmt 0 view .LVU446 1231 00a2 07D1 bne .L151 611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1232 .loc 1 611 5 is_stmt 1 view .LVU447 1233 00a4 5A68 ldr r2, [r3, #4] 1234 00a6 42F40062 orr r2, r2, #2048 1235 00aa 5A60 str r2, [r3, #4] 1236 00ac 06E0 b .L152 1237 .L174: 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1238 .loc 1 600 5 view .LVU448 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 159 1239 .loc 1 600 44 is_stmt 0 view .LVU449 1240 00ae 42F40042 orr r2, r2, #32768 600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1241 .loc 1 600 26 view .LVU450 1242 00b2 9A60 str r2, [r3, #8] 609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1243 .loc 1 609 3 is_stmt 1 view .LVU451 1244 .L151: 616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1245 .loc 1 616 5 view .LVU452 1246 00b4 5A68 ldr r2, [r3, #4] 1247 00b6 22F40062 bic r2, r2, #2048 1248 00ba 5A60 str r2, [r3, #4] 1249 .L152: 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1250 .loc 1 619 3 view .LVU453 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1251 .loc 1 619 23 is_stmt 0 view .LVU454 1252 00bc 5968 ldr r1, [r3, #4] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1253 .loc 1 626 54 view .LVU455 1254 00be 2269 ldr r2, [r4, #16] 619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1255 .loc 1 619 23 view .LVU456 1256 00c0 41F00071 orr r1, r1, #33554432 1257 00c4 41F40041 orr r1, r1, #32768 1258 00c8 5960 str r1, [r3, #4] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1259 .loc 1 623 3 is_stmt 1 view .LVU457 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1260 .loc 1 626 54 is_stmt 0 view .LVU458 1261 00ca 6169 ldr r1, [r4, #20] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1262 .loc 1 623 24 view .LVU459 1263 00cc D868 ldr r0, [r3, #12] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1264 .loc 1 626 54 view .LVU460 1265 00ce 0A43 orrs r2, r2, r1 627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1266 .loc 1 627 56 view .LVU461 1267 00d0 A169 ldr r1, [r4, #24] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1268 .loc 1 623 24 view .LVU462 1269 00d2 20F40040 bic r0, r0, #32768 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1270 .loc 1 626 79 view .LVU463 1271 00d6 42EA0122 orr r2, r2, r1, lsl #8 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1272 .loc 1 631 53 view .LVU464 1273 00da E169 ldr r1, [r4, #28] 623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1274 .loc 1 623 24 view .LVU465 1275 00dc D860 str r0, [r3, #12] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1276 .loc 1 626 3 is_stmt 1 view .LVU466 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1277 .loc 1 631 53 is_stmt 0 view .LVU467 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 160 1278 00de 206A ldr r0, [r4, #32] 626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->Init.OwnAddress2Masks << 8)); 1279 .loc 1 626 24 view .LVU468 1280 00e0 DA60 str r2, [r3, #12] 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1281 .loc 1 631 3 is_stmt 1 view .LVU469 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1282 .loc 1 631 53 is_stmt 0 view .LVU470 1283 00e2 0143 orrs r1, r1, r0 631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1284 .loc 1 631 23 view .LVU471 1285 00e4 1960 str r1, [r3] 634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1286 .loc 1 634 3 is_stmt 1 view .LVU472 1287 00e6 1968 ldr r1, [r3] 1288 00e8 41F00101 orr r1, r1, #1 1289 00ec 1960 str r1, [r3] 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1290 .loc 1 636 3 view .LVU473 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1291 .loc 1 636 19 is_stmt 0 view .LVU474 1292 00ee 0022 movs r2, #0 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1293 .loc 1 637 15 view .LVU475 1294 00f0 2023 movs r3, #32 636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 1295 .loc 1 636 19 view .LVU476 1296 00f2 6264 str r2, [r4, #68] 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1297 .loc 1 637 3 is_stmt 1 view .LVU477 637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1298 .loc 1 637 15 is_stmt 0 view .LVU478 1299 00f4 84F84130 strb r3, [r4, #65] 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1300 .loc 1 638 3 is_stmt 1 view .LVU479 638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1301 .loc 1 638 23 is_stmt 0 view .LVU480 1302 00f8 2263 str r2, [r4, #48] 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1303 .loc 1 639 3 is_stmt 1 view .LVU481 639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1304 .loc 1 639 14 is_stmt 0 view .LVU482 1305 00fa 84F84220 strb r2, [r4, #66] 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1306 .loc 1 641 3 is_stmt 1 view .LVU483 641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1307 .loc 1 641 10 is_stmt 0 view .LVU484 1308 00fe 1046 mov r0, r2 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1309 .loc 1 642 1 view .LVU485 1310 0100 10BD pop {r4, pc} 1311 .LVL85: 1312 .L172: 551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1313 .loc 1 551 3 discriminator 2 view .LVU486 1314 0102 1E48 ldr r0, .L175+4 1315 0104 40F22721 movw r1, #551 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 161 1316 0108 FFF7FEFF bl assert_failed 1317 .LVL86: 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1318 .loc 1 553 3 is_stmt 1 discriminator 2 view .LVU487 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1319 .loc 1 553 11 is_stmt 0 discriminator 2 view .LVU488 1320 010c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1321 .loc 1 553 6 discriminator 2 view .LVU489 1322 0110 03F0FF02 and r2, r3, #255 1323 0114 002B cmp r3, #0 1324 0116 ACD1 bne .L149 1325 .L173: 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1326 .loc 1 556 5 is_stmt 1 view .LVU490 556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1327 .loc 1 556 16 is_stmt 0 view .LVU491 1328 0118 84F84020 strb r2, [r4, #64] 580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1329 .loc 1 580 5 is_stmt 1 view .LVU492 1330 011c 2046 mov r0, r4 1331 011e FFF7FEFF bl HAL_I2C_MspInit 1332 .LVL87: 1333 0122 A6E7 b .L149 1334 .L169: 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 1335 .loc 1 547 3 is_stmt 0 discriminator 2 view .LVU493 1336 0124 1548 ldr r0, .L175+4 1337 0126 40F22321 movw r1, #547 1338 012a FFF7FEFF bl assert_failed 1339 .LVL88: 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); 1340 .loc 1 548 3 is_stmt 1 discriminator 2 view .LVU494 1341 012e 6369 ldr r3, [r4, #20] 1342 0130 FF2B cmp r3, #255 1343 0132 88D9 bls .L145 1344 .L170: 548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks)); 1345 .loc 1 548 3 is_stmt 0 discriminator 1 view .LVU495 1346 0134 1148 ldr r0, .L175+4 1347 0136 4FF40971 mov r1, #548 1348 013a FFF7FEFF bl assert_failed 1349 .LVL89: 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 1350 .loc 1 549 3 is_stmt 1 discriminator 1 view .LVU496 1351 013e A369 ldr r3, [r4, #24] 1352 0140 072B cmp r3, #7 1353 0142 83D9 bls .L146 1354 .L171: 549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode)); 1355 .loc 1 549 3 is_stmt 0 discriminator 1 view .LVU497 1356 0144 0D48 ldr r0, .L175+4 1357 0146 40F22521 movw r1, #549 1358 014a FFF7FEFF bl assert_failed 1359 .LVL90: 1360 014e 7DE7 b .L146 1361 .L168: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 162 546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode)); 1362 .loc 1 546 3 discriminator 1 view .LVU498 1363 0150 0A48 ldr r0, .L175+4 1364 0152 40F22221 movw r1, #546 1365 0156 FFF7FEFF bl assert_failed 1366 .LVL91: 547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2)); 1367 .loc 1 547 3 is_stmt 1 discriminator 1 view .LVU499 1368 015a 2369 ldr r3, [r4, #16] 1369 015c 33F40043 bics r3, r3, #32768 1370 0160 3FF46EAF beq .L144 1371 0164 DEE7 b .L169 1372 .L167: 545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode)); 1373 .loc 1 545 3 is_stmt 0 discriminator 1 view .LVU500 1374 0166 0548 ldr r0, .L175+4 1375 0168 40F22121 movw r1, #545 1376 016c FFF7FEFF bl assert_failed 1377 .LVL92: 1378 0170 5DE7 b .L142 1379 .LVL93: 1380 .L153: 1381 .LCFI8: 1382 .cfi_def_cfa_offset 0 1383 .cfi_restore 4 1384 .cfi_restore 14 540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1385 .loc 1 540 12 view .LVU501 1386 0172 0120 movs r0, #1 1387 .LVL94: 642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1388 .loc 1 642 1 view .LVU502 1389 0174 7047 bx lr 1390 .L176: 1391 0176 00BF .align 2 1392 .L175: 1393 0178 00540040 .word 1073763328 1394 017c 00000000 .word .LC0 1395 .cfi_endproc 1396 .LFE130: 1398 .section .text.HAL_I2C_MspDeInit,"ax",%progbits 1399 .align 1 1400 .p2align 2,,3 1401 .weak HAL_I2C_MspDeInit 1402 .syntax unified 1403 .thumb 1404 .thumb_func 1406 HAL_I2C_MspDeInit: 1407 .LFB216: 1408 .cfi_startproc 1409 @ args = 0, pretend = 0, frame = 0 1410 @ frame_needed = 0, uses_anonymous_args = 0 1411 @ link register save eliminated. 1412 0000 7047 bx lr 1413 .cfi_endproc 1414 .LFE216: 1416 0002 00BF .section .text.HAL_I2C_DeInit,"ax",%progbits ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 163 1417 .align 1 1418 .p2align 2,,3 1419 .global HAL_I2C_DeInit 1420 .syntax unified 1421 .thumb 1422 .thumb_func 1424 HAL_I2C_DeInit: 1425 .LVL95: 1426 .LFB131: 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1427 .loc 1 651 1 is_stmt 1 view -0 1428 .cfi_startproc 1429 @ args = 0, pretend = 0, frame = 0 1430 @ frame_needed = 0, uses_anonymous_args = 0 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1431 .loc 1 653 3 view .LVU504 653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1432 .loc 1 653 6 is_stmt 0 view .LVU505 1433 0000 20B3 cbz r0, .L181 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1434 .loc 1 659 3 view .LVU506 1435 0002 0368 ldr r3, [r0] 1436 0004 124A ldr r2, .L186 1437 0006 9342 cmp r3, r2 651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the I2C handle allocation */ 1438 .loc 1 651 1 view .LVU507 1439 0008 10B5 push {r4, lr} 1440 .LCFI9: 1441 .cfi_def_cfa_offset 8 1442 .cfi_offset 4, -8 1443 .cfi_offset 14, -4 1444 000a 0446 mov r4, r0 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1445 .loc 1 659 3 is_stmt 1 view .LVU508 1446 000c 09D0 beq .L180 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1447 .loc 1 659 3 is_stmt 0 discriminator 1 view .LVU509 1448 000e 02F58062 add r2, r2, #1024 1449 0012 9342 cmp r3, r2 1450 0014 05D0 beq .L180 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1451 .loc 1 659 3 discriminator 2 view .LVU510 1452 0016 0F48 ldr r0, .L186+4 1453 .LVL96: 659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1454 .loc 1 659 3 discriminator 2 view .LVU511 1455 0018 40F29321 movw r1, #659 1456 001c FFF7FEFF bl assert_failed 1457 .LVL97: 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1458 .loc 1 664 3 discriminator 2 view .LVU512 1459 0020 2368 ldr r3, [r4] 1460 .L180: 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1461 .loc 1 661 3 is_stmt 1 view .LVU513 661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1462 .loc 1 661 15 is_stmt 0 view .LVU514 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 164 1463 0022 2422 movs r2, #36 1464 0024 84F84120 strb r2, [r4, #65] 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1465 .loc 1 664 3 is_stmt 1 view .LVU515 1466 0028 1A68 ldr r2, [r3] 1467 002a 22F00102 bic r2, r2, #1 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1468 .loc 1 676 3 is_stmt 0 view .LVU516 1469 002e 2046 mov r0, r4 664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1470 .loc 1 664 3 view .LVU517 1471 0030 1A60 str r2, [r3] 676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 1472 .loc 1 676 3 is_stmt 1 view .LVU518 1473 0032 FFF7FEFF bl HAL_I2C_MspDeInit 1474 .LVL98: 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 1475 .loc 1 679 3 view .LVU519 679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET; 1476 .loc 1 679 19 is_stmt 0 view .LVU520 1477 0036 0023 movs r3, #0 1478 0038 6364 str r3, [r4, #68] 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1479 .loc 1 680 3 is_stmt 1 view .LVU521 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1480 .loc 1 685 3 is_stmt 0 view .LVU522 1481 003a 84F84030 strb r3, [r4, #64] 680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 1482 .loc 1 680 15 view .LVU523 1483 003e 84F84130 strb r3, [r4, #65] 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1484 .loc 1 681 3 is_stmt 1 view .LVU524 681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1485 .loc 1 681 23 is_stmt 0 view .LVU525 1486 0042 2363 str r3, [r4, #48] 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1487 .loc 1 682 3 is_stmt 1 view .LVU526 682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1488 .loc 1 682 14 is_stmt 0 view .LVU527 1489 0044 84F84230 strb r3, [r4, #66] 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1490 .loc 1 685 3 is_stmt 1 view .LVU528 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1491 .loc 1 685 3 view .LVU529 685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1492 .loc 1 685 3 view .LVU530 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1493 .loc 1 687 3 view .LVU531 687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1494 .loc 1 687 10 is_stmt 0 view .LVU532 1495 0048 1846 mov r0, r3 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1496 .loc 1 688 1 view .LVU533 1497 004a 10BD pop {r4, pc} 1498 .LVL99: 1499 .L181: 1500 .LCFI10: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 165 1501 .cfi_def_cfa_offset 0 1502 .cfi_restore 4 1503 .cfi_restore 14 655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1504 .loc 1 655 12 view .LVU534 1505 004c 0120 movs r0, #1 1506 .LVL100: 688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1507 .loc 1 688 1 view .LVU535 1508 004e 7047 bx lr 1509 .L187: 1510 .align 2 1511 .L186: 1512 0050 00540040 .word 1073763328 1513 0054 00000000 .word .LC0 1514 .cfi_endproc 1515 .LFE131: 1517 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits 1518 .align 1 1519 .p2align 2,,3 1520 .global HAL_I2C_Master_Transmit 1521 .syntax unified 1522 .thumb 1523 .thumb_func 1525 HAL_I2C_Master_Transmit: 1526 .LVL101: 1527 .LFB134: 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1528 .loc 1 1121 1 is_stmt 1 view -0 1529 .cfi_startproc 1530 @ args = 4, pretend = 0, frame = 0 1531 @ frame_needed = 0, uses_anonymous_args = 0 1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 1532 .loc 1 1122 3 view .LVU537 1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1533 .loc 1 1123 3 view .LVU538 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1534 .loc 1 1125 3 view .LVU539 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1535 .loc 1 1121 1 is_stmt 0 view .LVU540 1536 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 1537 .LCFI11: 1538 .cfi_def_cfa_offset 32 1539 .cfi_offset 4, -32 1540 .cfi_offset 5, -28 1541 .cfi_offset 6, -24 1542 .cfi_offset 7, -20 1543 .cfi_offset 8, -16 1544 .cfi_offset 9, -12 1545 .cfi_offset 10, -8 1546 .cfi_offset 14, -4 1547 0004 9846 mov r8, r3 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1548 .loc 1 1125 11 view .LVU541 1549 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1550 .LVL102: 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 166 1551 .loc 1 1121 1 view .LVU542 1552 000a 82B0 sub sp, sp, #8 1553 .LCFI12: 1554 .cfi_def_cfa_offset 40 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1555 .loc 1 1125 6 view .LVU543 1556 000c 202B cmp r3, #32 1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1557 .loc 1 1121 1 view .LVU544 1558 000e 0A9E ldr r6, [sp, #40] 1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1559 .loc 1 1125 6 view .LVU545 1560 0010 40F09D80 bne .L204 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1561 .loc 1 1128 5 view .LVU546 1562 0014 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 1563 0018 012B cmp r3, #1 1564 001a 0446 mov r4, r0 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1565 .loc 1 1128 5 is_stmt 1 view .LVU547 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1566 .loc 1 1128 5 view .LVU548 1567 001c 00F09780 beq .L204 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1568 .loc 1 1128 5 discriminator 2 view .LVU549 1569 0020 4FF0010A mov r10, #1 1570 0024 80F840A0 strb r10, [r0, #64] 1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1571 .loc 1 1128 5 discriminator 2 view .LVU550 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1572 .loc 1 1131 5 discriminator 2 view .LVU551 1573 0028 8946 mov r9, r1 1574 002a 1746 mov r7, r2 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1575 .loc 1 1131 17 is_stmt 0 discriminator 2 view .LVU552 1576 002c FFF7FEFF bl HAL_GetTick 1577 .LVL103: 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1578 .loc 1 1133 9 discriminator 2 view .LVU553 1579 0030 5246 mov r2, r10 1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1580 .loc 1 1131 17 discriminator 2 view .LVU554 1581 0032 0546 mov r5, r0 1582 .LVL104: 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1583 .loc 1 1133 5 is_stmt 1 discriminator 2 view .LVU555 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1584 .loc 1 1133 9 is_stmt 0 discriminator 2 view .LVU556 1585 0034 0090 str r0, [sp] 1586 0036 1923 movs r3, #25 1587 0038 4FF40041 mov r1, #32768 1588 003c 2046 mov r0, r4 1589 .LVL105: 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1590 .loc 1 1133 9 discriminator 2 view .LVU557 1591 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 1592 .LVL106: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 167 1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1593 .loc 1 1133 8 discriminator 2 view .LVU558 1594 0042 0028 cmp r0, #0 1595 0044 7FD1 bne .L195 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1596 .loc 1 1138 5 is_stmt 1 view .LVU559 1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 1597 .loc 1 1138 21 is_stmt 0 view .LVU560 1598 0046 2123 movs r3, #33 1599 0048 84F84130 strb r3, [r4, #65] 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1600 .loc 1 1139 5 is_stmt 1 view .LVU561 1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 1601 .loc 1 1139 21 is_stmt 0 view .LVU562 1602 004c 1023 movs r3, #16 1603 004e 84F84230 strb r3, [r4, #66] 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1604 .loc 1 1140 5 is_stmt 1 view .LVU563 1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1605 .loc 1 1140 21 is_stmt 0 view .LVU564 1606 0052 6064 str r0, [r4, #68] 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1607 .loc 1 1143 5 is_stmt 1 view .LVU565 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1608 .loc 1 1144 5 view .LVU566 1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 1609 .loc 1 1144 21 is_stmt 0 view .LVU567 1610 0054 A4F82A80 strh r8, [r4, #42] @ movhi 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1611 .loc 1 1145 5 is_stmt 1 view .LVU568 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1612 .loc 1 1147 5 view .LVU569 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1613 .loc 1 1147 13 is_stmt 0 view .LVU570 1614 0058 638D ldrh r3, [r4, #42] 1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 1615 .loc 1 1143 21 view .LVU571 1616 005a 6762 str r7, [r4, #36] 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1617 .loc 1 1147 13 view .LVU572 1618 005c 9BB2 uxth r3, r3 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1619 .loc 1 1147 8 view .LVU573 1620 005e FF2B cmp r3, #255 1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1621 .loc 1 1145 21 view .LVU574 1622 0060 6063 str r0, [r4, #52] 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1623 .loc 1 1147 8 view .LVU575 1624 0062 78D8 bhi .L191 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1625 .loc 1 1154 7 is_stmt 1 view .LVU576 1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 1626 .loc 1 1154 28 is_stmt 0 view .LVU577 1627 0064 628D ldrh r2, [r4, #42] 1628 0066 92B2 uxth r2, r2 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 168 1629 .loc 1 1155 7 is_stmt 1 view .LVU578 1630 0068 2285 strh r2, [r4, #40] @ movhi 1631 .LVL107: 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1632 .loc 1 1158 5 view .LVU579 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1633 .loc 1 1158 8 is_stmt 0 view .LVU580 1634 006a 002A cmp r2, #0 1635 006c 40F0A680 bne .L213 1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1636 .loc 1 1179 7 is_stmt 1 view .LVU581 1637 0070 574B ldr r3, .L214 1638 0072 0093 str r3, [sp] 1639 0074 4946 mov r1, r9 1640 0076 4FF00073 mov r3, #33554432 1641 007a 2046 mov r0, r4 1642 007c FFF7FEFF bl I2C_TransferConfig 1643 .LVL108: 1644 .L193: 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1645 .loc 1 1183 11 view .LVU582 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1646 .loc 1 1183 16 is_stmt 0 view .LVU583 1647 0080 638D ldrh r3, [r4, #42] 1648 0082 9BB2 uxth r3, r3 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1649 .loc 1 1183 11 view .LVU584 1650 0084 002B cmp r3, #0 1651 0086 4AD0 beq .L201 1652 .LBB54: 1653 .LBB55: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1654 .loc 1 7337 3 view .LVU585 1655 0088 DFF85881 ldr r8, .L214+20 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 1656 .loc 1 7342 52 view .LVU586 1657 008c C9F30907 ubfx r7, r9, #0, #10 1658 0090 03E0 b .L194 1659 .LVL109: 1660 .L197: 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 1661 .loc 1 7342 52 view .LVU587 1662 .LBE55: 1663 .LBE54: 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1664 .loc 1 1183 11 is_stmt 1 view .LVU588 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1665 .loc 1 1183 16 is_stmt 0 view .LVU589 1666 0092 638D ldrh r3, [r4, #42] 1667 0094 9BB2 uxth r3, r3 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1668 .loc 1 1183 11 view .LVU590 1669 0096 002B cmp r3, #0 1670 0098 41D0 beq .L201 1671 .L194: 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1672 .loc 1 1186 7 is_stmt 1 view .LVU591 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 169 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1673 .loc 1 1186 11 is_stmt 0 view .LVU592 1674 009a 2A46 mov r2, r5 1675 009c 3146 mov r1, r6 1676 009e 2046 mov r0, r4 1677 00a0 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 1678 .LVL110: 1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1679 .loc 1 1186 10 view .LVU593 1680 00a4 0028 cmp r0, #0 1681 00a6 4ED1 bne .L195 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1682 .loc 1 1191 7 is_stmt 1 view .LVU594 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1683 .loc 1 1191 30 is_stmt 0 view .LVU595 1684 00a8 616A ldr r1, [r4, #36] 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1685 .loc 1 1191 11 view .LVU596 1686 00aa 2368 ldr r3, [r4] 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1687 .loc 1 1191 30 view .LVU597 1688 00ac 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1689 .loc 1 1191 28 view .LVU598 1690 00b0 9A62 str r2, [r3, #40] 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1691 .loc 1 1194 7 is_stmt 1 view .LVU599 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1692 .loc 1 1196 11 is_stmt 0 view .LVU600 1693 00b2 638D ldrh r3, [r4, #42] 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1694 .loc 1 1197 21 view .LVU601 1695 00b4 228D ldrh r2, [r4, #40] 1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1696 .loc 1 1194 21 view .LVU602 1697 00b6 6162 str r1, [r4, #36] 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1698 .loc 1 1196 7 is_stmt 1 view .LVU603 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1699 .loc 1 1197 7 view .LVU604 1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1700 .loc 1 1196 22 is_stmt 0 view .LVU605 1701 00b8 013B subs r3, r3, #1 1702 00ba 9BB2 uxth r3, r3 1703 00bc 6385 strh r3, [r4, #42] @ movhi 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1704 .loc 1 1199 16 view .LVU606 1705 00be 638D ldrh r3, [r4, #42] 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1706 .loc 1 1197 21 view .LVU607 1707 00c0 013A subs r2, r2, #1 1708 00c2 92B2 uxth r2, r2 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1709 .loc 1 1199 16 view .LVU608 1710 00c4 9BB2 uxth r3, r3 1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1711 .loc 1 1197 21 view .LVU609 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 170 1712 00c6 2285 strh r2, [r4, #40] @ movhi 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1713 .loc 1 1199 7 is_stmt 1 view .LVU610 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1714 .loc 1 1199 10 is_stmt 0 view .LVU611 1715 00c8 002B cmp r3, #0 1716 00ca E2D0 beq .L197 1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1717 .loc 1 1199 35 discriminator 1 view .LVU612 1718 00cc 002A cmp r2, #0 1719 00ce E0D1 bne .L197 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1720 .loc 1 1202 9 is_stmt 1 view .LVU613 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1721 .loc 1 1202 13 is_stmt 0 view .LVU614 1722 00d0 0095 str r5, [sp] 1723 00d2 3346 mov r3, r6 1724 00d4 8021 movs r1, #128 1725 00d6 2046 mov r0, r4 1726 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 1727 .LVL111: 1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1728 .loc 1 1202 12 view .LVU615 1729 00dc 0028 cmp r0, #0 1730 00de 32D1 bne .L195 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1731 .loc 1 1207 9 is_stmt 1 view .LVU616 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1732 .loc 1 1207 17 is_stmt 0 view .LVU617 1733 00e0 638D ldrh r3, [r4, #42] 1734 00e2 9BB2 uxth r3, r3 1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1735 .loc 1 1207 12 view .LVU618 1736 00e4 FF2B cmp r3, #255 1737 00e6 4ED9 bls .L198 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1738 .loc 1 1209 11 is_stmt 1 view .LVU619 1739 .LBB59: 1740 .LBB60: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1741 .loc 1 7337 3 is_stmt 0 view .LVU620 1742 00e8 2268 ldr r2, [r4] 1743 .LBE60: 1744 .LBE59: 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1745 .loc 1 1209 26 view .LVU621 1746 00ea FF23 movs r3, #255 1747 .LBB63: 1748 .LBB61: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1749 .loc 1 7337 3 view .LVU622 1750 00ec 4245 cmp r2, r8 1751 .LBE61: 1752 .LBE63: 1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 1753 .loc 1 1209 26 view .LVU623 1754 00ee 2385 strh r3, [r4, #40] @ movhi ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 171 1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1755 .loc 1 1210 11 is_stmt 1 view .LVU624 1756 .LVL112: 1757 .LBB64: 1758 .LBI59: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 1759 .loc 1 7333 13 view .LVU625 1760 .LBB62: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1761 .loc 1 7337 3 view .LVU626 1762 00f0 08D0 beq .L199 1763 00f2 384B ldr r3, .L214+4 1764 00f4 9A42 cmp r2, r3 1765 00f6 05D0 beq .L199 1766 00f8 3748 ldr r0, .L214+8 1767 00fa 41F6A941 movw r1, #7337 1768 00fe FFF7FEFF bl assert_failed 1769 .LVL113: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 1770 .loc 1 7347 3 is_stmt 0 view .LVU627 1771 0102 2268 ldr r2, [r4] 1772 .L199: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 1773 .loc 1 7338 3 is_stmt 1 view .LVU628 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1774 .loc 1 7339 3 view .LVU629 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 1775 .loc 1 7342 3 view .LVU630 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 1776 .loc 1 7347 3 view .LVU631 1777 0104 5368 ldr r3, [r2, #4] 1778 0106 3549 ldr r1, .L214+12 1779 0108 0B40 ands r3, r3, r1 1780 010a 3B43 orrs r3, r3, r7 1781 010c 43F0FF73 orr r3, r3, #33423360 1782 0110 43F48033 orr r3, r3, #65536 1783 0114 5360 str r3, [r2, #4] 1784 .LVL114: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 1785 .loc 1 7347 3 is_stmt 0 view .LVU632 1786 .LBE62: 1787 .LBE64: 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1788 .loc 1 1183 11 is_stmt 1 view .LVU633 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1789 .loc 1 1183 16 is_stmt 0 view .LVU634 1790 0116 638D ldrh r3, [r4, #42] 1791 0118 9BB2 uxth r3, r3 1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1792 .loc 1 1183 11 view .LVU635 1793 011a 002B cmp r3, #0 1794 011c BDD1 bne .L194 1795 .L201: 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1796 .loc 1 1224 5 is_stmt 1 view .LVU636 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1797 .loc 1 1224 9 is_stmt 0 view .LVU637 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 172 1798 011e 2A46 mov r2, r5 1799 0120 3146 mov r1, r6 1800 0122 2046 mov r0, r4 1801 0124 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 1802 .LVL115: 1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1803 .loc 1 1224 8 view .LVU638 1804 0128 68B9 cbnz r0, .L195 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1805 .loc 1 1230 5 is_stmt 1 view .LVU639 1806 012a 2368 ldr r3, [r4] 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1807 .loc 1 1233 5 is_stmt 0 view .LVU640 1808 012c 2C4D ldr r5, .L214+16 1809 .LVL116: 1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1810 .loc 1 1230 5 view .LVU641 1811 012e 2021 movs r1, #32 1812 0130 D961 str r1, [r3, #28] 1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1813 .loc 1 1233 5 is_stmt 1 view .LVU642 1814 0132 5A68 ldr r2, [r3, #4] 1815 0134 2A40 ands r2, r2, r5 1816 0136 5A60 str r2, [r3, #4] 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1817 .loc 1 1235 5 view .LVU643 1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 1818 .loc 1 1235 17 is_stmt 0 view .LVU644 1819 0138 84F84110 strb r1, [r4, #65] 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1820 .loc 1 1236 5 is_stmt 1 view .LVU645 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1821 .loc 1 1239 5 is_stmt 0 view .LVU646 1822 013c 84F84000 strb r0, [r4, #64] 1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1823 .loc 1 1236 17 view .LVU647 1824 0140 84F84200 strb r0, [r4, #66] 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1825 .loc 1 1239 5 is_stmt 1 view .LVU648 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1826 .loc 1 1239 5 view .LVU649 1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1827 .loc 1 1239 5 view .LVU650 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1828 .loc 1 1241 5 view .LVU651 1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1829 .loc 1 1241 12 is_stmt 0 view .LVU652 1830 0144 00E0 b .L210 1831 .LVL117: 1832 .L195: 1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1833 .loc 1 1135 14 view .LVU653 1834 0146 0120 movs r0, #1 1835 .LVL118: 1836 .L210: 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1837 .loc 1 1247 1 view .LVU654 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 173 1838 0148 02B0 add sp, sp, #8 1839 .LCFI13: 1840 .cfi_remember_state 1841 .cfi_def_cfa_offset 32 1842 @ sp needed 1843 014a BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1844 .LVL119: 1845 .L204: 1846 .LCFI14: 1847 .cfi_restore_state 1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1848 .loc 1 1245 12 view .LVU655 1849 014e 0220 movs r0, #2 1850 .LVL120: 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1851 .loc 1 1247 1 view .LVU656 1852 0150 02B0 add sp, sp, #8 1853 .LCFI15: 1854 .cfi_remember_state 1855 .cfi_def_cfa_offset 32 1856 @ sp needed 1857 0152 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 1858 .LVL121: 1859 .L191: 1860 .LCFI16: 1861 .cfi_restore_state 1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1862 .loc 1 1247 1 view .LVU657 1863 0156 FF22 movs r2, #255 1864 0158 2285 strh r2, [r4, #40] @ movhi 1865 .LVL122: 1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1866 .loc 1 1158 5 is_stmt 1 view .LVU658 1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 1867 .loc 1 1147 8 is_stmt 0 view .LVU659 1868 015a 4FF0FE0C mov ip, #254 1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1869 .loc 1 1150 16 view .LVU660 1870 015e 4FF08073 mov r3, #16777216 1871 .LVL123: 1872 .L202: 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1873 .loc 1 1162 7 is_stmt 1 view .LVU661 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1874 .loc 1 1162 28 is_stmt 0 view .LVU662 1875 0162 2168 ldr r1, [r4] 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1876 .loc 1 1162 30 view .LVU663 1877 0164 17F8010B ldrb r0, [r7], #1 @ zero_extendqisi2 1878 .LVL124: 1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1879 .loc 1 1162 28 view .LVU664 1880 0168 8862 str r0, [r1, #40] 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1881 .loc 1 1165 7 is_stmt 1 view .LVU665 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1882 .loc 1 1167 11 is_stmt 0 view .LVU666 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 174 1883 016a 618D ldrh r1, [r4, #42] 1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1884 .loc 1 1165 21 view .LVU667 1885 016c 6762 str r7, [r4, #36] 1886 .LVL125: 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1887 .loc 1 1167 7 is_stmt 1 view .LVU668 1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 1888 .loc 1 1167 22 is_stmt 0 view .LVU669 1889 016e 0139 subs r1, r1, #1 1890 0170 89B2 uxth r1, r1 1891 0172 6185 strh r1, [r4, #42] @ movhi 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1892 .loc 1 1168 7 is_stmt 1 view .LVU670 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1893 .loc 1 1172 7 view .LVU671 1894 0174 1649 ldr r1, .L214 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1895 .loc 1 1168 21 is_stmt 0 view .LVU672 1896 0176 A4F828C0 strh ip, [r4, #40] @ movhi 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1897 .loc 1 1172 7 view .LVU673 1898 017a 2046 mov r0, r4 1899 017c 0091 str r1, [sp] 1900 017e 4946 mov r1, r9 1901 0180 FFF7FEFF bl I2C_TransferConfig 1902 .LVL126: 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1903 .loc 1 1172 7 view .LVU674 1904 0184 7CE7 b .L193 1905 .LVL127: 1906 .L198: 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1907 .loc 1 1215 11 is_stmt 1 view .LVU675 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1908 .loc 1 1215 32 is_stmt 0 view .LVU676 1909 0186 638D ldrh r3, [r4, #42] 1910 .LBB65: 1911 .LBB56: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1912 .loc 1 7337 3 view .LVU677 1913 0188 2268 ldr r2, [r4] 1914 .LBE56: 1915 .LBE65: 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1916 .loc 1 1215 32 view .LVU678 1917 018a 9BB2 uxth r3, r3 1918 .LBB66: 1919 .LBB57: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1920 .loc 1 7337 3 view .LVU679 1921 018c 4245 cmp r2, r8 1922 .LBE57: 1923 .LBE66: 1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 1924 .loc 1 1215 26 view .LVU680 1925 018e 2385 strh r3, [r4, #40] @ movhi ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 175 1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 1926 .loc 1 1216 11 is_stmt 1 view .LVU681 1927 0190 5FFA83F9 uxtb r9, r3 1928 .LVL128: 1929 .LBB67: 1930 .LBI54: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 1931 .loc 1 7333 13 view .LVU682 1932 .LBB58: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 1933 .loc 1 7337 3 view .LVU683 1934 0194 08D0 beq .L200 1935 0196 0F4B ldr r3, .L214+4 1936 0198 9A42 cmp r2, r3 1937 019a 05D0 beq .L200 1938 019c 0E48 ldr r0, .L214+8 1939 019e 41F6A941 movw r1, #7337 1940 01a2 FFF7FEFF bl assert_failed 1941 .LVL129: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 1942 .loc 1 7347 3 is_stmt 0 view .LVU684 1943 01a6 2268 ldr r2, [r4] 1944 .L200: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 1945 .loc 1 7338 3 is_stmt 1 view .LVU685 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1946 .loc 1 7339 3 view .LVU686 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 1947 .loc 1 7342 3 view .LVU687 1948 .LVL130: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 1949 .loc 1 7347 3 view .LVU688 1950 01a8 5368 ldr r3, [r2, #4] 1951 01aa 0C49 ldr r1, .L214+12 1952 01ac 0B40 ands r3, r3, r1 1953 01ae 3B43 orrs r3, r3, r7 1954 01b0 43EA0943 orr r3, r3, r9, lsl #16 1955 01b4 43F00073 orr r3, r3, #33554432 1956 01b8 5360 str r3, [r2, #4] 1957 .loc 1 7351 1 is_stmt 0 view .LVU689 1958 01ba 6AE7 b .L197 1959 .LVL131: 1960 .L213: 1961 .loc 1 7351 1 view .LVU690 1962 .LBE58: 1963 .LBE67: 1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 1964 .loc 1 1168 21 view .LVU691 1965 01bc 013A subs r2, r2, #1 1966 01be 1FFA82FC uxth ip, r2 1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 1967 .loc 1 1172 7 view .LVU692 1968 01c2 0CF10102 add r2, ip, #1 1969 01c6 D2B2 uxtb r2, r2 1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 1970 .loc 1 1155 16 view .LVU693 1971 01c8 4FF00073 mov r3, #33554432 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 176 1972 01cc C9E7 b .L202 1973 .L215: 1974 01ce 00BF .align 2 1975 .L214: 1976 01d0 00200080 .word -2147475456 1977 01d4 00580040 .word 1073764352 1978 01d8 00000000 .word .LC0 1979 01dc 009C00FC .word -67068928 1980 01e0 00E800FE .word -33495040 1981 01e4 00540040 .word 1073763328 1982 .cfi_endproc 1983 .LFE134: 1985 .section .text.HAL_I2C_Master_Receive,"ax",%progbits 1986 .align 1 1987 .p2align 2,,3 1988 .global HAL_I2C_Master_Receive 1989 .syntax unified 1990 .thumb 1991 .thumb_func 1993 HAL_I2C_Master_Receive: 1994 .LVL132: 1995 .LFB135: 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 1996 .loc 1 1262 1 is_stmt 1 view -0 1997 .cfi_startproc 1998 @ args = 4, pretend = 0, frame = 0 1999 @ frame_needed = 0, uses_anonymous_args = 0 1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2000 .loc 1 1263 3 view .LVU695 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2001 .loc 1 1265 3 view .LVU696 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2002 .loc 1 1262 1 is_stmt 0 view .LVU697 2003 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 2004 .LCFI17: 2005 .cfi_def_cfa_offset 36 2006 .cfi_offset 4, -36 2007 .cfi_offset 5, -32 2008 .cfi_offset 6, -28 2009 .cfi_offset 7, -24 2010 .cfi_offset 8, -20 2011 .cfi_offset 9, -16 2012 .cfi_offset 10, -12 2013 .cfi_offset 11, -8 2014 .cfi_offset 14, -4 2015 0004 9846 mov r8, r3 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2016 .loc 1 1265 11 view .LVU698 2017 0006 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2018 .LVL133: 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2019 .loc 1 1262 1 view .LVU699 2020 000a 83B0 sub sp, sp, #12 2021 .LCFI18: 2022 .cfi_def_cfa_offset 48 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2023 .loc 1 1265 6 view .LVU700 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 177 2024 000c 202B cmp r3, #32 1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2025 .loc 1 1262 1 view .LVU701 2026 000e 0C9E ldr r6, [sp, #48] 1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2027 .loc 1 1265 6 view .LVU702 2028 0010 40F0B680 bne .L232 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2029 .loc 1 1268 5 view .LVU703 2030 0014 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 2031 0018 012B cmp r3, #1 2032 001a 0446 mov r4, r0 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2033 .loc 1 1268 5 is_stmt 1 view .LVU704 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2034 .loc 1 1268 5 view .LVU705 2035 001c 00F0B080 beq .L232 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2036 .loc 1 1268 5 discriminator 2 view .LVU706 2037 0020 4FF0010A mov r10, #1 2038 0024 80F840A0 strb r10, [r0, #64] 1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2039 .loc 1 1268 5 discriminator 2 view .LVU707 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2040 .loc 1 1271 5 discriminator 2 view .LVU708 2041 0028 0F46 mov r7, r1 2042 002a 9146 mov r9, r2 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2043 .loc 1 1271 17 is_stmt 0 discriminator 2 view .LVU709 2044 002c FFF7FEFF bl HAL_GetTick 2045 .LVL134: 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2046 .loc 1 1273 9 discriminator 2 view .LVU710 2047 0030 1923 movs r3, #25 1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2048 .loc 1 1271 17 discriminator 2 view .LVU711 2049 0032 0546 mov r5, r0 2050 .LVL135: 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2051 .loc 1 1273 5 is_stmt 1 discriminator 2 view .LVU712 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2052 .loc 1 1273 9 is_stmt 0 discriminator 2 view .LVU713 2053 0034 0090 str r0, [sp] 2054 0036 5246 mov r2, r10 2055 0038 4FF40041 mov r1, #32768 2056 003c 2046 mov r0, r4 2057 .LVL136: 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2058 .loc 1 1273 9 discriminator 2 view .LVU714 2059 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2060 .LVL137: 1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2061 .loc 1 1273 8 discriminator 2 view .LVU715 2062 0042 0028 cmp r0, #0 2063 0044 40F09880 bne .L224 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2064 .loc 1 1278 5 is_stmt 1 view .LVU716 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 178 1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 2065 .loc 1 1278 21 is_stmt 0 view .LVU717 2066 0048 2223 movs r3, #34 2067 004a 84F84130 strb r3, [r4, #65] 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2068 .loc 1 1279 5 is_stmt 1 view .LVU718 1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2069 .loc 1 1279 21 is_stmt 0 view .LVU719 2070 004e 1023 movs r3, #16 2071 0050 84F84230 strb r3, [r4, #66] 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2072 .loc 1 1280 5 is_stmt 1 view .LVU720 1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2073 .loc 1 1280 21 is_stmt 0 view .LVU721 2074 0054 6064 str r0, [r4, #68] 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2075 .loc 1 1283 5 is_stmt 1 view .LVU722 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2076 .loc 1 1284 5 view .LVU723 1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2077 .loc 1 1284 21 is_stmt 0 view .LVU724 2078 0056 A4F82A80 strh r8, [r4, #42] @ movhi 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2079 .loc 1 1285 5 is_stmt 1 view .LVU725 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2080 .loc 1 1289 5 view .LVU726 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2081 .loc 1 1289 13 is_stmt 0 view .LVU727 2082 005a 638D ldrh r3, [r4, #42] 1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2083 .loc 1 1283 21 view .LVU728 2084 005c C4F82490 str r9, [r4, #36] 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2085 .loc 1 1289 13 view .LVU729 2086 0060 9BB2 uxth r3, r3 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2087 .loc 1 1289 8 view .LVU730 2088 0062 FF2B cmp r3, #255 1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2089 .loc 1 1285 21 view .LVU731 2090 0064 6063 str r0, [r4, #52] 1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2091 .loc 1 1289 8 view .LVU732 2092 0066 00F28F80 bhi .L240 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2093 .loc 1 1297 7 is_stmt 1 view .LVU733 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2094 .loc 1 1297 28 is_stmt 0 view .LVU734 2095 006a 638D ldrh r3, [r4, #42] 2096 .LBB76: 2097 .LBB77: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2098 .loc 1 7337 3 view .LVU735 2099 006c 2268 ldr r2, [r4] 2100 .LBE77: 2101 .LBE76: 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 179 2102 .loc 1 1297 28 view .LVU736 2103 006e 9BB2 uxth r3, r3 1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2104 .loc 1 1297 22 view .LVU737 2105 0070 2385 strh r3, [r4, #40] @ movhi 1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2106 .loc 1 1298 7 is_stmt 1 view .LVU738 2107 0072 5FFA83F8 uxtb r8, r3 2108 .LVL138: 2109 .LBB79: 2110 .LBI76: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 2111 .loc 1 7333 13 view .LVU739 2112 .LBB78: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2113 .loc 1 7337 3 view .LVU740 2114 0076 604B ldr r3, .L241 2115 0078 9A42 cmp r2, r3 2116 007a 09D0 beq .L222 2117 007c 03F58063 add r3, r3, #1024 2118 0080 9A42 cmp r2, r3 2119 0082 05D0 beq .L222 2120 0084 5D48 ldr r0, .L241+4 2121 0086 41F6A941 movw r1, #7337 2122 008a FFF7FEFF bl assert_failed 2123 .LVL139: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2124 .loc 1 7347 3 is_stmt 0 view .LVU741 2125 008e 2268 ldr r2, [r4] 2126 .L222: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 2127 .loc 1 7338 3 is_stmt 1 view .LVU742 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2128 .loc 1 7339 3 view .LVU743 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2129 .loc 1 7342 3 view .LVU744 2130 .LVL140: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2131 .loc 1 7347 3 view .LVU745 2132 0090 5368 ldr r3, [r2, #4] 2133 0092 5B49 ldr r1, .L241+8 2134 0094 1940 ands r1, r1, r3 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2135 .loc 1 7342 52 is_stmt 0 view .LVU746 2136 0096 C7F30903 ubfx r3, r7, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2137 .loc 1 7347 3 view .LVU747 2138 009a 0B43 orrs r3, r3, r1 2139 009c 43EA0843 orr r3, r3, r8, lsl #16 2140 00a0 43F00073 orr r3, r3, #33554432 2141 00a4 43F41053 orr r3, r3, #9216 2142 00a8 5360 str r3, [r2, #4] 2143 .LVL141: 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2144 .loc 1 7342 52 view .LVU748 2145 00aa C7F30907 ubfx r7, r7, #0, #10 2146 .LVL142: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 180 2147 .L221: 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2148 .loc 1 7342 52 view .LVU749 2149 .LBE78: 2150 .LBE79: 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2151 .loc 1 1302 11 is_stmt 1 view .LVU750 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2152 .loc 1 1302 16 is_stmt 0 view .LVU751 2153 00ae 638D ldrh r3, [r4, #42] 2154 00b0 9BB2 uxth r3, r3 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2155 .loc 1 1302 11 view .LVU752 2156 00b2 002B cmp r3, #0 2157 00b4 4CD0 beq .L230 2158 .LBB80: 2159 .LBB81: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2160 .loc 1 7337 3 view .LVU753 2161 00b6 DFF84091 ldr r9, .L241 2162 .LVL143: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2163 .loc 1 7347 3 view .LVU754 2164 00ba DFF84C81 ldr r8, .L241+16 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2165 .loc 1 7337 3 view .LVU755 2166 00be DFF84CA1 ldr r10, .L241+20 2167 00c2 03E0 b .L223 2168 .L226: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2169 .loc 1 7337 3 view .LVU756 2170 .LBE81: 2171 .LBE80: 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2172 .loc 1 1302 11 is_stmt 1 view .LVU757 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2173 .loc 1 1302 16 is_stmt 0 view .LVU758 2174 00c4 638D ldrh r3, [r4, #42] 2175 00c6 9BB2 uxth r3, r3 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2176 .loc 1 1302 11 view .LVU759 2177 00c8 002B cmp r3, #0 2178 00ca 41D0 beq .L230 2179 .L223: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2180 .loc 1 1305 7 is_stmt 1 view .LVU760 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2181 .loc 1 1305 11 is_stmt 0 view .LVU761 2182 00cc 2A46 mov r2, r5 2183 00ce 3146 mov r1, r6 2184 00d0 2046 mov r0, r4 2185 00d2 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 2186 .LVL144: 1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2187 .loc 1 1305 10 view .LVU762 2188 00d6 0028 cmp r0, #0 2189 00d8 4ED1 bne .L224 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 181 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2190 .loc 1 1311 7 is_stmt 1 view .LVU763 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2191 .loc 1 1311 38 is_stmt 0 view .LVU764 2192 00da 2268 ldr r2, [r4] 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2193 .loc 1 1311 12 view .LVU765 2194 00dc 636A ldr r3, [r4, #36] 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2195 .loc 1 1311 48 view .LVU766 2196 00de 526A ldr r2, [r2, #36] 1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2197 .loc 1 1311 25 view .LVU767 2198 00e0 1A70 strb r2, [r3] 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2199 .loc 1 1314 7 is_stmt 1 view .LVU768 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2200 .loc 1 1317 11 is_stmt 0 view .LVU769 2201 00e2 638D ldrh r3, [r4, #42] 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2202 .loc 1 1316 21 view .LVU770 2203 00e4 228D ldrh r2, [r4, #40] 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2204 .loc 1 1314 21 view .LVU771 2205 00e6 616A ldr r1, [r4, #36] 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2206 .loc 1 1317 22 view .LVU772 2207 00e8 013B subs r3, r3, #1 2208 00ea 9BB2 uxth r3, r3 2209 00ec 6385 strh r3, [r4, #42] @ movhi 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2210 .loc 1 1319 16 view .LVU773 2211 00ee 638D ldrh r3, [r4, #42] 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2212 .loc 1 1316 21 view .LVU774 2213 00f0 013A subs r2, r2, #1 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2214 .loc 1 1314 21 view .LVU775 2215 00f2 0131 adds r1, r1, #1 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2216 .loc 1 1316 21 view .LVU776 2217 00f4 92B2 uxth r2, r2 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2218 .loc 1 1319 16 view .LVU777 2219 00f6 9BB2 uxth r3, r3 1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2220 .loc 1 1314 21 view .LVU778 2221 00f8 6162 str r1, [r4, #36] 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2222 .loc 1 1316 7 is_stmt 1 view .LVU779 1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 2223 .loc 1 1316 21 is_stmt 0 view .LVU780 2224 00fa 2285 strh r2, [r4, #40] @ movhi 1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2225 .loc 1 1317 7 is_stmt 1 view .LVU781 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2226 .loc 1 1319 7 view .LVU782 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 182 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2227 .loc 1 1319 10 is_stmt 0 view .LVU783 2228 00fc 002B cmp r3, #0 2229 00fe E1D0 beq .L226 1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2230 .loc 1 1319 35 discriminator 1 view .LVU784 2231 0100 002A cmp r2, #0 2232 0102 DFD1 bne .L226 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2233 .loc 1 1322 9 is_stmt 1 view .LVU785 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2234 .loc 1 1322 13 is_stmt 0 view .LVU786 2235 0104 0095 str r5, [sp] 2236 0106 3346 mov r3, r6 2237 0108 8021 movs r1, #128 2238 010a 2046 mov r0, r4 2239 010c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2240 .LVL145: 1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2241 .loc 1 1322 12 view .LVU787 2242 0110 0028 cmp r0, #0 2243 0112 31D1 bne .L224 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2244 .loc 1 1327 9 is_stmt 1 view .LVU788 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2245 .loc 1 1327 17 is_stmt 0 view .LVU789 2246 0114 638D ldrh r3, [r4, #42] 2247 0116 9BB2 uxth r3, r3 1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2248 .loc 1 1327 12 view .LVU790 2249 0118 FF2B cmp r3, #255 2250 011a 53D9 bls .L227 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2251 .loc 1 1329 11 is_stmt 1 view .LVU791 2252 .LBB85: 2253 .LBB86: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2254 .loc 1 7337 3 is_stmt 0 view .LVU792 2255 011c 2268 ldr r2, [r4] 2256 .LBE86: 2257 .LBE85: 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2258 .loc 1 1329 26 view .LVU793 2259 011e FF23 movs r3, #255 2260 .LBB89: 2261 .LBB87: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2262 .loc 1 7337 3 view .LVU794 2263 0120 4A45 cmp r2, r9 2264 .LBE87: 2265 .LBE89: 1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2266 .loc 1 1329 26 view .LVU795 2267 0122 2385 strh r3, [r4, #40] @ movhi 1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2268 .loc 1 1330 11 is_stmt 1 view .LVU796 2269 .LVL146: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 183 2270 .LBB90: 2271 .LBI85: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 2272 .loc 1 7333 13 view .LVU797 2273 .LBB88: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2274 .loc 1 7337 3 view .LVU798 2275 0124 07D0 beq .L228 2276 0126 5245 cmp r2, r10 2277 0128 05D0 beq .L228 2278 012a 3448 ldr r0, .L241+4 2279 012c 41F6A941 movw r1, #7337 2280 0130 FFF7FEFF bl assert_failed 2281 .LVL147: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2282 .loc 1 7347 3 is_stmt 0 view .LVU799 2283 0134 2268 ldr r2, [r4] 2284 .L228: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 2285 .loc 1 7338 3 is_stmt 1 view .LVU800 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2286 .loc 1 7339 3 view .LVU801 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2287 .loc 1 7342 3 view .LVU802 2288 .LVL148: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2289 .loc 1 7347 3 view .LVU803 2290 0136 5368 ldr r3, [r2, #4] 2291 0138 03EA0803 and r3, r3, r8 2292 013c 3B43 orrs r3, r3, r7 2293 013e 43F0FF73 orr r3, r3, #33423360 2294 0142 43F48033 orr r3, r3, #65536 2295 0146 5360 str r3, [r2, #4] 2296 .LVL149: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2297 .loc 1 7347 3 is_stmt 0 view .LVU804 2298 .LBE88: 2299 .LBE90: 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2300 .loc 1 1302 11 is_stmt 1 view .LVU805 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2301 .loc 1 1302 16 is_stmt 0 view .LVU806 2302 0148 638D ldrh r3, [r4, #42] 2303 014a 9BB2 uxth r3, r3 1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2304 .loc 1 1302 11 view .LVU807 2305 014c 002B cmp r3, #0 2306 014e BDD1 bne .L223 2307 .L230: 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2308 .loc 1 1344 5 is_stmt 1 view .LVU808 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2309 .loc 1 1344 9 is_stmt 0 view .LVU809 2310 0150 2A46 mov r2, r5 2311 0152 3146 mov r1, r6 2312 0154 2046 mov r0, r4 2313 0156 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 184 2314 .LVL150: 1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2315 .loc 1 1344 8 view .LVU810 2316 015a 68B9 cbnz r0, .L224 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2317 .loc 1 1350 5 is_stmt 1 view .LVU811 2318 015c 2368 ldr r3, [r4] 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2319 .loc 1 1353 5 is_stmt 0 view .LVU812 2320 015e 294D ldr r5, .L241+12 2321 .LVL151: 1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2322 .loc 1 1350 5 view .LVU813 2323 0160 2021 movs r1, #32 2324 0162 D961 str r1, [r3, #28] 1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2325 .loc 1 1353 5 is_stmt 1 view .LVU814 2326 0164 5A68 ldr r2, [r3, #4] 2327 0166 2A40 ands r2, r2, r5 2328 0168 5A60 str r2, [r3, #4] 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2329 .loc 1 1355 5 view .LVU815 1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2330 .loc 1 1355 17 is_stmt 0 view .LVU816 2331 016a 84F84110 strb r1, [r4, #65] 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2332 .loc 1 1356 5 is_stmt 1 view .LVU817 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2333 .loc 1 1359 5 is_stmt 0 view .LVU818 2334 016e 84F84000 strb r0, [r4, #64] 1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2335 .loc 1 1356 17 view .LVU819 2336 0172 84F84200 strb r0, [r4, #66] 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2337 .loc 1 1359 5 is_stmt 1 view .LVU820 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2338 .loc 1 1359 5 view .LVU821 1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2339 .loc 1 1359 5 view .LVU822 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2340 .loc 1 1361 5 view .LVU823 1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2341 .loc 1 1361 12 is_stmt 0 view .LVU824 2342 0176 00E0 b .L217 2343 .LVL152: 2344 .L224: 1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2345 .loc 1 1275 14 view .LVU825 2346 0178 0120 movs r0, #1 2347 .LVL153: 2348 .L217: 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2349 .loc 1 1367 1 view .LVU826 2350 017a 03B0 add sp, sp, #12 2351 .LCFI19: 2352 .cfi_remember_state 2353 .cfi_def_cfa_offset 36 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 185 2354 @ sp needed 2355 017c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2356 .LVL154: 2357 .L232: 2358 .LCFI20: 2359 .cfi_restore_state 1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2360 .loc 1 1365 12 view .LVU827 2361 0180 0220 movs r0, #2 2362 .LVL155: 1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2363 .loc 1 1367 1 view .LVU828 2364 0182 03B0 add sp, sp, #12 2365 .LCFI21: 2366 .cfi_remember_state 2367 .cfi_def_cfa_offset 36 2368 @ sp needed 2369 0184 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 2370 .LVL156: 2371 .L240: 2372 .LCFI22: 2373 .cfi_restore_state 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2374 .loc 1 1291 7 is_stmt 1 view .LVU829 2375 .LBB91: 2376 .LBB92: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2377 .loc 1 7337 3 is_stmt 0 view .LVU830 2378 0188 2268 ldr r2, [r4] 2379 018a 1B4B ldr r3, .L241 2380 .LBE92: 2381 .LBE91: 1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 2382 .loc 1 1291 22 view .LVU831 2383 018c A4F828A0 strh r10, [r4, #40] @ movhi 1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 2384 .loc 1 1292 7 is_stmt 1 view .LVU832 2385 .LVL157: 2386 .LBB94: 2387 .LBI91: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 2388 .loc 1 7333 13 view .LVU833 2389 .LBB93: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2390 .loc 1 7337 3 view .LVU834 2391 0190 9A42 cmp r2, r3 2392 0192 09D0 beq .L220 2393 0194 03F58063 add r3, r3, #1024 2394 0198 9A42 cmp r2, r3 2395 019a 05D0 beq .L220 2396 019c 1748 ldr r0, .L241+4 2397 019e 41F6A941 movw r1, #7337 2398 01a2 FFF7FEFF bl assert_failed 2399 .LVL158: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2400 .loc 1 7347 3 is_stmt 0 view .LVU835 2401 01a6 2268 ldr r2, [r4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 186 2402 .L220: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 2403 .loc 1 7338 3 is_stmt 1 view .LVU836 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2404 .loc 1 7339 3 view .LVU837 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2405 .loc 1 7342 3 view .LVU838 2406 .LVL159: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2407 .loc 1 7347 3 view .LVU839 2408 01a8 5368 ldr r3, [r2, #4] 2409 01aa 1549 ldr r1, .L241+8 2410 01ac 1940 ands r1, r1, r3 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2411 .loc 1 7342 52 is_stmt 0 view .LVU840 2412 01ae C7F30903 ubfx r3, r7, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2413 .loc 1 7347 3 view .LVU841 2414 01b2 0B43 orrs r3, r3, r1 2415 01b4 43F08073 orr r3, r3, #16777216 2416 01b8 43F49233 orr r3, r3, #74752 2417 01bc 5360 str r3, [r2, #4] 2418 .LVL160: 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2419 .loc 1 7342 52 view .LVU842 2420 01be C7F30907 ubfx r7, r7, #0, #10 2421 .LVL161: 2422 .loc 1 7351 1 view .LVU843 2423 01c2 74E7 b .L221 2424 .LVL162: 2425 .L227: 2426 .loc 1 7351 1 view .LVU844 2427 .LBE93: 2428 .LBE94: 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2429 .loc 1 1335 11 is_stmt 1 view .LVU845 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2430 .loc 1 1335 32 is_stmt 0 view .LVU846 2431 01c4 638D ldrh r3, [r4, #42] 2432 .LBB95: 2433 .LBB82: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2434 .loc 1 7337 3 view .LVU847 2435 01c6 2268 ldr r2, [r4] 2436 .LBE82: 2437 .LBE95: 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 2438 .loc 1 1335 32 view .LVU848 2439 01c8 9BB2 uxth r3, r3 2440 .LBB96: 2441 .LBB83: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2442 .loc 1 7337 3 view .LVU849 2443 01ca 4A45 cmp r2, r9 2444 .LBE83: 2445 .LBE96: 1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 187 2446 .loc 1 1335 26 view .LVU850 2447 01cc 2385 strh r3, [r4, #40] @ movhi 1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 2448 .loc 1 1336 11 is_stmt 1 view .LVU851 2449 01ce 5FFA83FB uxtb fp, r3 2450 .LVL163: 2451 .LBB97: 2452 .LBI80: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 2453 .loc 1 7333 13 view .LVU852 2454 .LBB84: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 2455 .loc 1 7337 3 view .LVU853 2456 01d2 07D0 beq .L229 2457 01d4 5245 cmp r2, r10 2458 01d6 05D0 beq .L229 2459 01d8 0848 ldr r0, .L241+4 2460 01da 41F6A941 movw r1, #7337 2461 01de FFF7FEFF bl assert_failed 2462 .LVL164: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2463 .loc 1 7347 3 is_stmt 0 view .LVU854 2464 01e2 2268 ldr r2, [r4] 2465 .L229: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 2466 .loc 1 7338 3 is_stmt 1 view .LVU855 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2467 .loc 1 7339 3 view .LVU856 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 2468 .loc 1 7342 3 view .LVU857 2469 .LVL165: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 2470 .loc 1 7347 3 view .LVU858 2471 01e4 5368 ldr r3, [r2, #4] 2472 01e6 03EA0803 and r3, r3, r8 2473 01ea 3B43 orrs r3, r3, r7 2474 01ec 43EA0B43 orr r3, r3, fp, lsl #16 2475 01f0 43F00073 orr r3, r3, #33554432 2476 01f4 5360 str r3, [r2, #4] 2477 .loc 1 7351 1 is_stmt 0 view .LVU859 2478 01f6 65E7 b .L226 2479 .L242: 2480 .align 2 2481 .L241: 2482 01f8 00540040 .word 1073763328 2483 01fc 00000000 .word .LC0 2484 0200 009800FC .word -67069952 2485 0204 00E800FE .word -33495040 2486 0208 009C00FC .word -67068928 2487 020c 00580040 .word 1073764352 2488 .LBE84: 2489 .LBE97: 2490 .cfi_endproc 2491 .LFE135: 2493 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits 2494 .align 1 2495 .p2align 2,,3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 188 2496 .global HAL_I2C_Slave_Transmit 2497 .syntax unified 2498 .thumb 2499 .thumb_func 2501 HAL_I2C_Slave_Transmit: 2502 .LVL166: 2503 .LFB136: 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2504 .loc 1 1380 1 is_stmt 1 view -0 2505 .cfi_startproc 2506 @ args = 0, pretend = 0, frame = 0 2507 @ frame_needed = 0, uses_anonymous_args = 0 1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t tmpXferCount; 2508 .loc 1 1381 3 view .LVU861 1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef error; 2509 .loc 1 1382 3 view .LVU862 1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2510 .loc 1 1383 3 view .LVU863 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2511 .loc 1 1385 3 view .LVU864 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2512 .loc 1 1380 1 is_stmt 0 view .LVU865 2513 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 2514 .LCFI23: 2515 .cfi_def_cfa_offset 28 2516 .cfi_offset 4, -28 2517 .cfi_offset 5, -24 2518 .cfi_offset 6, -20 2519 .cfi_offset 7, -16 2520 .cfi_offset 8, -12 2521 .cfi_offset 9, -8 2522 .cfi_offset 14, -4 2523 0004 0446 mov r4, r0 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2524 .loc 1 1385 11 view .LVU866 2525 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 2526 .LVL167: 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2527 .loc 1 1385 6 view .LVU867 2528 000a 2028 cmp r0, #32 1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 2529 .loc 1 1380 1 view .LVU868 2530 000c 83B0 sub sp, sp, #12 2531 .LCFI24: 2532 .cfi_def_cfa_offset 40 1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2533 .loc 1 1385 6 view .LVU869 2534 000e 6FD1 bne .L268 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2535 .loc 1 1387 5 is_stmt 1 view .LVU870 2536 0010 0D46 mov r5, r1 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2537 .loc 1 1387 8 is_stmt 0 view .LVU871 2538 0012 0029 cmp r1, #0 2539 0014 65D0 beq .L245 2540 0016 9046 mov r8, r2 1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 189 2541 .loc 1 1387 25 discriminator 1 view .LVU872 2542 0018 002A cmp r2, #0 2543 001a 62D0 beq .L245 2544 001c 1F46 mov r7, r3 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2545 .loc 1 1393 5 is_stmt 1 view .LVU873 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2546 .loc 1 1393 5 view .LVU874 2547 001e 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 2548 .LVL168: 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2549 .loc 1 1393 5 is_stmt 0 view .LVU875 2550 0022 012B cmp r3, #1 2551 0024 64D0 beq .L268 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2552 .loc 1 1393 5 discriminator 2 view .LVU876 2553 0026 0123 movs r3, #1 2554 0028 84F84030 strb r3, [r4, #64] 2555 002c 5FFA80F9 uxtb r9, r0 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2556 .loc 1 1393 5 is_stmt 1 discriminator 2 view .LVU877 1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2557 .loc 1 1393 5 discriminator 2 view .LVU878 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2558 .loc 1 1396 5 discriminator 2 view .LVU879 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2559 .loc 1 1396 17 is_stmt 0 discriminator 2 view .LVU880 2560 0030 FFF7FEFF bl HAL_GetTick 2561 .LVL169: 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2562 .loc 1 1400 21 discriminator 2 view .LVU881 2563 0034 0023 movs r3, #0 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2564 .loc 1 1408 9 discriminator 2 view .LVU882 2565 0036 2268 ldr r2, [r4] 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2566 .loc 1 1405 21 discriminator 2 view .LVU883 2567 0038 6363 str r3, [r4, #52] 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2568 .loc 1 1398 21 discriminator 2 view .LVU884 2569 003a 2121 movs r1, #33 2570 003c 84F84110 strb r1, [r4, #65] 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2571 .loc 1 1399 21 discriminator 2 view .LVU885 2572 0040 84F84290 strb r9, [r4, #66] 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2573 .loc 1 1400 21 discriminator 2 view .LVU886 2574 0044 6364 str r3, [r4, #68] 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2575 .loc 1 1404 21 discriminator 2 view .LVU887 2576 0046 A4F82A80 strh r8, [r4, #42] @ movhi 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2577 .loc 1 1408 25 discriminator 2 view .LVU888 2578 004a 5368 ldr r3, [r2, #4] 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2579 .loc 1 1403 21 discriminator 2 view .LVU889 2580 004c 6562 str r5, [r4, #36] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 190 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2581 .loc 1 1408 25 discriminator 2 view .LVU890 2582 004e 23F40043 bic r3, r3, #32768 2583 0052 5360 str r3, [r2, #4] 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2584 .loc 1 1411 8 discriminator 2 view .LVU891 2585 0054 236A ldr r3, [r4, #32] 2586 0056 B3F5003F cmp r3, #131072 1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2587 .loc 1 1396 17 discriminator 2 view .LVU892 2588 005a 0646 mov r6, r0 2589 .LVL170: 1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 2590 .loc 1 1398 5 is_stmt 1 discriminator 2 view .LVU893 1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 2591 .loc 1 1399 5 discriminator 2 view .LVU894 1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2592 .loc 1 1400 5 discriminator 2 view .LVU895 1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 2593 .loc 1 1403 5 discriminator 2 view .LVU896 1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 2594 .loc 1 1404 5 discriminator 2 view .LVU897 1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2595 .loc 1 1405 5 discriminator 2 view .LVU898 1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2596 .loc 1 1408 5 discriminator 2 view .LVU899 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2597 .loc 1 1411 5 discriminator 2 view .LVU900 1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2598 .loc 1 1411 8 is_stmt 0 discriminator 2 view .LVU901 2599 005c 4CD0 beq .L293 2600 .LVL171: 2601 .L247: 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2602 .loc 1 1424 5 is_stmt 1 view .LVU902 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2603 .loc 1 1424 9 is_stmt 0 view .LVU903 2604 005e 0096 str r6, [sp] 2605 0060 3B46 mov r3, r7 2606 0062 0022 movs r2, #0 2607 0064 0821 movs r1, #8 2608 0066 2046 mov r0, r4 2609 .LVL172: 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2610 .loc 1 1424 9 view .LVU904 2611 0068 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2612 .LVL173: 1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2613 .loc 1 1424 8 view .LVU905 2614 006c 0546 mov r5, r0 2615 006e 0028 cmp r0, #0 2616 0070 58D1 bne .L292 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2617 .loc 1 1436 5 is_stmt 1 view .LVU906 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2618 .loc 1 1439 8 is_stmt 0 view .LVU907 2619 0072 E368 ldr r3, [r4, #12] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 191 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2620 .loc 1 1436 5 view .LVU908 2621 0074 2268 ldr r2, [r4] 2622 0076 4FF00808 mov r8, #8 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2623 .loc 1 1439 8 view .LVU909 2624 007a 022B cmp r3, #2 1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2625 .loc 1 1436 5 view .LVU910 2626 007c C2F81C80 str r8, [r2, #28] 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2627 .loc 1 1439 5 is_stmt 1 view .LVU911 1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2628 .loc 1 1439 8 is_stmt 0 view .LVU912 2629 0080 43D0 beq .L294 2630 .L251: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2631 .loc 1 1458 5 is_stmt 1 view .LVU913 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2632 .loc 1 1458 9 is_stmt 0 view .LVU914 2633 0082 0096 str r6, [sp] 2634 0084 3B46 mov r3, r7 2635 0086 0022 movs r2, #0 2636 0088 4FF48031 mov r1, #65536 2637 008c 2046 mov r0, r4 2638 008e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2639 .LVL174: 1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2640 .loc 1 1458 8 view .LVU915 2641 0092 0028 cmp r0, #0 2642 0094 46D1 bne .L292 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2643 .loc 1 1469 11 is_stmt 1 view .LVU916 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2644 .loc 1 1469 16 is_stmt 0 view .LVU917 2645 0096 638D ldrh r3, [r4, #42] 2646 0098 9BB2 uxth r3, r3 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2647 .loc 1 1469 11 view .LVU918 2648 009a 93B9 cbnz r3, .L256 2649 009c 51E0 b .L257 2650 .L259: 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2651 .loc 1 1480 30 view .LVU919 2652 009e 656A ldr r5, [r4, #36] 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2653 .loc 1 1480 11 view .LVU920 2654 00a0 2368 ldr r3, [r4] 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2655 .loc 1 1480 30 view .LVU921 2656 00a2 15F8012B ldrb r2, [r5], #1 @ zero_extendqisi2 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2657 .loc 1 1480 28 view .LVU922 2658 00a6 9A62 str r2, [r3, #40] 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2659 .loc 1 1483 7 is_stmt 1 view .LVU923 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 192 2660 .loc 1 1485 11 is_stmt 0 view .LVU924 2661 00a8 B4F82AC0 ldrh ip, [r4, #42] 1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2662 .loc 1 1483 21 view .LVU925 2663 00ac 6562 str r5, [r4, #36] 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2664 .loc 1 1485 7 is_stmt 1 view .LVU926 1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2665 .loc 1 1485 22 is_stmt 0 view .LVU927 2666 00ae 0CF1FF3C add ip, ip, #-1 2667 00b2 1FFA8CFC uxth ip, ip 2668 00b6 A4F82AC0 strh ip, [r4, #42] @ movhi 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2669 .loc 1 1469 11 is_stmt 1 view .LVU928 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2670 .loc 1 1469 16 is_stmt 0 view .LVU929 2671 00ba 658D ldrh r5, [r4, #42] 2672 00bc ADB2 uxth r5, r5 1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2673 .loc 1 1469 11 view .LVU930 2674 00be 002D cmp r5, #0 2675 00c0 3FD0 beq .L257 2676 .L256: 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2677 .loc 1 1472 7 is_stmt 1 view .LVU931 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2678 .loc 1 1472 11 is_stmt 0 view .LVU932 2679 00c2 3246 mov r2, r6 2680 00c4 3946 mov r1, r7 2681 00c6 2046 mov r0, r4 2682 00c8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 2683 .LVL175: 1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2684 .loc 1 1480 7 is_stmt 1 view .LVU933 1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2685 .loc 1 1472 10 is_stmt 0 view .LVU934 2686 00cc 0028 cmp r0, #0 2687 00ce E6D0 beq .L259 2688 .L289: 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2689 .loc 1 1522 9 is_stmt 1 view .LVU935 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2690 .loc 1 1522 13 is_stmt 0 view .LVU936 2691 00d0 2268 ldr r2, [r4] 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2692 .loc 1 1522 29 view .LVU937 2693 00d2 5368 ldr r3, [r2, #4] 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2694 .loc 1 1524 16 view .LVU938 2695 00d4 0120 movs r0, #1 1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2696 .loc 1 1522 29 view .LVU939 2697 00d6 43F40043 orr r3, r3, #32768 2698 00da 5360 str r3, [r2, #4] 1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2699 .loc 1 1524 9 is_stmt 1 view .LVU940 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 193 2700 .loc 1 1554 1 is_stmt 0 view .LVU941 2701 00dc 03B0 add sp, sp, #12 2702 .LCFI25: 2703 .cfi_remember_state 2704 .cfi_def_cfa_offset 28 2705 @ sp needed 2706 00de BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 2707 .LVL176: 2708 .L245: 2709 .LCFI26: 2710 .cfi_restore_state 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2711 .loc 1 1389 7 is_stmt 1 view .LVU942 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2712 .loc 1 1389 23 is_stmt 0 view .LVU943 2713 00e2 4FF40073 mov r3, #512 2714 .LVL177: 1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2715 .loc 1 1389 23 view .LVU944 2716 00e6 6364 str r3, [r4, #68] 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2717 .loc 1 1390 7 is_stmt 1 view .LVU945 1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2718 .loc 1 1390 15 is_stmt 0 view .LVU946 2719 00e8 0120 movs r0, #1 2720 .LVL178: 2721 .L244: 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2722 .loc 1 1554 1 view .LVU947 2723 00ea 03B0 add sp, sp, #12 2724 .LCFI27: 2725 .cfi_remember_state 2726 .cfi_def_cfa_offset 28 2727 @ sp needed 2728 00ec BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 2729 .LVL179: 2730 .L268: 2731 .LCFI28: 2732 .cfi_restore_state 1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2733 .loc 1 1552 12 view .LVU948 2734 00f0 0220 movs r0, #2 1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2735 .loc 1 1554 1 view .LVU949 2736 00f2 03B0 add sp, sp, #12 2737 .LCFI29: 2738 .cfi_remember_state 2739 .cfi_def_cfa_offset 28 2740 @ sp needed 2741 00f4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 2742 .LVL180: 2743 .L293: 2744 .LCFI30: 2745 .cfi_restore_state 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2746 .loc 1 1415 7 is_stmt 1 view .LVU950 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 194 2747 .loc 1 1415 30 is_stmt 0 view .LVU951 2748 00f8 15F8013B ldrb r3, [r5], #1 @ zero_extendqisi2 2749 .LVL181: 1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2750 .loc 1 1415 28 view .LVU952 2751 00fc 9362 str r3, [r2, #40] 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2752 .loc 1 1418 7 is_stmt 1 view .LVU953 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2753 .loc 1 1420 11 is_stmt 0 view .LVU954 2754 00fe 638D ldrh r3, [r4, #42] 1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2755 .loc 1 1418 21 view .LVU955 2756 0100 6562 str r5, [r4, #36] 2757 .LVL182: 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2758 .loc 1 1420 7 is_stmt 1 view .LVU956 1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2759 .loc 1 1420 22 is_stmt 0 view .LVU957 2760 0102 013B subs r3, r3, #1 2761 0104 9BB2 uxth r3, r3 2762 0106 6385 strh r3, [r4, #42] @ movhi 2763 0108 A9E7 b .L247 2764 .LVL183: 2765 .L294: 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2766 .loc 1 1442 7 is_stmt 1 view .LVU958 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2767 .loc 1 1442 11 is_stmt 0 view .LVU959 2768 010a 3B46 mov r3, r7 2769 010c 0246 mov r2, r0 2770 010e 0096 str r6, [sp] 2771 0110 4146 mov r1, r8 2772 0112 2046 mov r0, r4 2773 0114 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2774 .LVL184: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2775 .loc 1 1445 13 view .LVU960 2776 0118 2368 ldr r3, [r4] 1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2777 .loc 1 1442 10 view .LVU961 2778 011a 0028 cmp r0, #0 2779 011c 5BD1 bne .L295 1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2780 .loc 1 1454 7 is_stmt 1 view .LVU962 2781 011e C3F81C80 str r8, [r3, #28] 2782 0122 AEE7 b .L251 2783 .L292: 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2784 .loc 1 1427 7 view .LVU963 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2785 .loc 1 1427 11 is_stmt 0 view .LVU964 2786 0124 2368 ldr r3, [r4] 1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2787 .loc 1 1427 27 view .LVU965 2788 0126 5A68 ldr r2, [r3, #4] 2789 0128 42F40042 orr r2, r2, #32768 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 195 2790 012c 5A60 str r2, [r3, #4] 1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2791 .loc 1 1430 7 is_stmt 1 view .LVU966 2792 .LVL185: 2793 .LBB106: 2794 .LBI106: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2795 .loc 1 6758 13 view .LVU967 2796 .LBB107: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2797 .loc 1 6762 3 view .LVU968 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2798 .loc 1 6762 7 is_stmt 0 view .LVU969 2799 012e 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2800 .loc 1 6762 6 view .LVU970 2801 0130 9507 lsls r5, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2802 .loc 1 6764 5 is_stmt 1 view .LVU971 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2803 .loc 1 6764 26 is_stmt 0 view .LVU972 2804 0132 44BF itt mi 2805 0134 0022 movmi r2, #0 2806 0136 9A62 strmi r2, [r3, #40] 2807 .LVL186: 2808 .L249: 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2809 .loc 1 6768 3 is_stmt 1 view .LVU973 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2810 .loc 1 6768 7 is_stmt 0 view .LVU974 2811 0138 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2812 .loc 1 6768 6 view .LVU975 2813 013a D407 lsls r4, r2, #31 2814 .LVL187: 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2815 .loc 1 6768 6 view .LVU976 2816 013c 21D5 bpl .L288 2817 .LBE107: 2818 .LBE106: 1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2819 .loc 1 1432 14 view .LVU977 2820 013e 0120 movs r0, #1 2821 0140 D3E7 b .L244 2822 .LVL188: 2823 .L257: 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2824 .loc 1 1489 5 is_stmt 1 view .LVU978 1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2825 .loc 1 1489 13 is_stmt 0 view .LVU979 2826 0142 0096 str r6, [sp] 2827 0144 3B46 mov r3, r7 2828 0146 0022 movs r2, #0 2829 0148 1021 movs r1, #16 2830 014a 2046 mov r0, r4 2831 014c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2832 .LVL189: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 196 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2833 .loc 1 1491 5 is_stmt 1 view .LVU980 1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2834 .loc 1 1491 8 is_stmt 0 view .LVU981 2835 0150 E0B1 cbz r0, .L260 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U)) 2836 .loc 1 1497 7 is_stmt 1 view .LVU982 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U)) 2837 .loc 1 1497 20 is_stmt 0 view .LVU983 2838 0152 638D ldrh r3, [r4, #42] 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2839 .loc 1 1498 16 view .LVU984 2840 0154 626C ldr r2, [r4, #68] 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2841 .loc 1 1498 10 view .LVU985 2842 0156 042A cmp r2, #4 1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->ErrorCode == HAL_I2C_ERROR_AF) && (tmpXferCount == 0U)) 2843 .loc 1 1497 20 view .LVU986 2844 0158 9BB2 uxth r3, r3 2845 .LVL190: 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2846 .loc 1 1498 7 is_stmt 1 view .LVU987 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2847 .loc 1 1498 10 is_stmt 0 view .LVU988 2848 015a B9D1 bne .L289 1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2849 .loc 1 1498 49 discriminator 1 view .LVU989 2850 015c 002B cmp r3, #0 2851 015e B7D1 bne .L289 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2852 .loc 1 1501 9 is_stmt 1 view .LVU990 1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2853 .loc 1 1501 25 is_stmt 0 view .LVU991 2854 0160 6364 str r3, [r4, #68] 2855 .LVL191: 2856 .L262: 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2857 .loc 1 1532 5 is_stmt 1 view .LVU992 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2858 .loc 1 1532 9 is_stmt 0 view .LVU993 2859 0162 0122 movs r2, #1 2860 0164 0096 str r6, [sp] 2861 0166 3B46 mov r3, r7 2862 0168 4FF40041 mov r1, #32768 2863 016c 2046 mov r0, r4 2864 016e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 2865 .LVL192: 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2866 .loc 1 1535 11 view .LVU994 2867 0172 2268 ldr r2, [r4] 1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2868 .loc 1 1532 8 view .LVU995 2869 0174 18B3 cbz r0, .L266 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2870 .loc 1 1535 7 is_stmt 1 view .LVU996 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2871 .loc 1 1535 27 is_stmt 0 view .LVU997 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 197 2872 0176 5368 ldr r3, [r2, #4] 2873 0178 43F40043 orr r3, r3, #32768 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2874 .loc 1 1536 14 view .LVU998 2875 017c 0120 movs r0, #1 1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 2876 .loc 1 1535 27 view .LVU999 2877 017e 5360 str r3, [r2, #4] 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2878 .loc 1 1536 7 is_stmt 1 view .LVU1000 1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2879 .loc 1 1536 14 is_stmt 0 view .LVU1001 2880 0180 B3E7 b .L244 2881 .LVL193: 2882 .L288: 2883 .LBB108: 2884 .LBB109: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2885 .loc 1 6770 5 is_stmt 1 view .LVU1002 2886 0182 9A69 ldr r2, [r3, #24] 2887 .LBE109: 2888 .LBE108: 1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2889 .loc 1 1466 14 is_stmt 0 view .LVU1003 2890 0184 0120 movs r0, #1 2891 .LBB111: 2892 .LBB110: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2893 .loc 1 6770 5 view .LVU1004 2894 0186 0243 orrs r2, r2, r0 2895 0188 9A61 str r2, [r3, #24] 2896 018a AEE7 b .L244 2897 .LVL194: 2898 .L260: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2899 .loc 1 6770 5 view .LVU1005 2900 .LBE110: 2901 .LBE111: 1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2902 .loc 1 1513 7 is_stmt 1 view .LVU1006 2903 .LBB112: 2904 .LBI112: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2905 .loc 1 6758 13 view .LVU1007 2906 .LBB113: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2907 .loc 1 6762 3 view .LVU1008 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2908 .loc 1 6762 7 is_stmt 0 view .LVU1009 2909 018c 2368 ldr r3, [r4] 2910 018e 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2911 .loc 1 6762 6 view .LVU1010 2912 0190 9107 lsls r1, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2913 .loc 1 6764 5 is_stmt 1 view .LVU1011 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 198 2914 .loc 1 6768 3 view .LVU1012 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2915 .loc 1 6764 26 is_stmt 0 view .LVU1013 2916 0192 48BF it mi 2917 0194 9862 strmi r0, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2918 .loc 1 6768 7 view .LVU1014 2919 0196 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2920 .loc 1 6768 6 view .LVU1015 2921 0198 D207 lsls r2, r2, #31 2922 019a 03D4 bmi .L264 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2923 .loc 1 6770 5 is_stmt 1 view .LVU1016 2924 019c 9A69 ldr r2, [r3, #24] 2925 019e 42F00102 orr r2, r2, #1 2926 01a2 9A61 str r2, [r3, #24] 2927 .L264: 2928 .LVL195: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2929 .loc 1 6770 5 is_stmt 0 view .LVU1017 2930 .LBE113: 2931 .LBE112: 1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2932 .loc 1 1516 7 is_stmt 1 view .LVU1018 2933 01a4 1022 movs r2, #16 2934 01a6 DA61 str r2, [r3, #28] 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2935 .loc 1 1519 7 view .LVU1019 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2936 .loc 1 1519 11 is_stmt 0 view .LVU1020 2937 01a8 3946 mov r1, r7 2938 01aa 3246 mov r2, r6 2939 01ac 2046 mov r0, r4 2940 .LVL196: 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2941 .loc 1 1519 11 view .LVU1021 2942 01ae FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 2943 .LVL197: 1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2944 .loc 1 1519 10 view .LVU1022 2945 01b2 0028 cmp r0, #0 2946 01b4 8CD1 bne .L289 1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2947 .loc 1 1528 7 is_stmt 1 view .LVU1023 2948 01b6 2368 ldr r3, [r4] 2949 01b8 2022 movs r2, #32 2950 01ba DA61 str r2, [r3, #28] 2951 01bc D1E7 b .L262 2952 .L266: 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2953 .loc 1 1540 5 view .LVU1024 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2954 .loc 1 1540 25 is_stmt 0 view .LVU1025 2955 01be 5368 ldr r3, [r2, #4] 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2956 .loc 1 1542 17 view .LVU1026 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 199 2957 01c0 2021 movs r1, #32 1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2958 .loc 1 1540 25 view .LVU1027 2959 01c2 43F40043 orr r3, r3, #32768 2960 01c6 5360 str r3, [r2, #4] 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2961 .loc 1 1542 5 is_stmt 1 view .LVU1028 1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 2962 .loc 1 1542 17 is_stmt 0 view .LVU1029 2963 01c8 84F84110 strb r1, [r4, #65] 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2964 .loc 1 1543 5 is_stmt 1 view .LVU1030 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2965 .loc 1 1546 5 is_stmt 0 view .LVU1031 2966 01cc 84F84000 strb r0, [r4, #64] 1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2967 .loc 1 1543 17 view .LVU1032 2968 01d0 84F84200 strb r0, [r4, #66] 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2969 .loc 1 1546 5 is_stmt 1 view .LVU1033 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2970 .loc 1 1546 5 view .LVU1034 1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2971 .loc 1 1546 5 view .LVU1035 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2972 .loc 1 1548 5 view .LVU1036 1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2973 .loc 1 1548 12 is_stmt 0 view .LVU1037 2974 01d4 89E7 b .L244 2975 .L295: 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2976 .loc 1 1445 9 is_stmt 1 view .LVU1038 1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2977 .loc 1 1445 29 is_stmt 0 view .LVU1039 2978 01d6 5A68 ldr r2, [r3, #4] 2979 01d8 42F40042 orr r2, r2, #32768 2980 01dc 5A60 str r2, [r3, #4] 1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 2981 .loc 1 1448 9 is_stmt 1 view .LVU1040 2982 .LVL198: 2983 .LBB114: 2984 .LBI114: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2985 .loc 1 6758 13 view .LVU1041 2986 .LBB115: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2987 .loc 1 6762 3 view .LVU1042 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2988 .loc 1 6762 7 is_stmt 0 view .LVU1043 2989 01de 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 2990 .loc 1 6762 6 view .LVU1044 2991 01e0 9007 lsls r0, r2, #30 2992 01e2 A9D5 bpl .L249 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 2993 .loc 1 6764 5 is_stmt 1 view .LVU1045 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 200 2994 .loc 1 6764 26 is_stmt 0 view .LVU1046 2995 01e4 9D62 str r5, [r3, #40] 2996 01e6 A7E7 b .L249 2997 .LBE115: 2998 .LBE114: 2999 .cfi_endproc 3000 .LFE136: 3002 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits 3003 .align 1 3004 .p2align 2,,3 3005 .global HAL_I2C_Slave_Receive 3006 .syntax unified 3007 .thumb 3008 .thumb_func 3010 HAL_I2C_Slave_Receive: 3011 .LVL199: 3012 .LFB137: 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 3013 .loc 1 1567 1 is_stmt 1 view -0 3014 .cfi_startproc 3015 @ args = 0, pretend = 0, frame = 0 3016 @ frame_needed = 0, uses_anonymous_args = 0 1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3017 .loc 1 1568 3 view .LVU1048 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3018 .loc 1 1570 3 view .LVU1049 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 3019 .loc 1 1567 1 is_stmt 0 view .LVU1050 3020 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 3021 .LCFI31: 3022 .cfi_def_cfa_offset 28 3023 .cfi_offset 4, -28 3024 .cfi_offset 5, -24 3025 .cfi_offset 6, -20 3026 .cfi_offset 7, -16 3027 .cfi_offset 8, -12 3028 .cfi_offset 9, -8 3029 .cfi_offset 14, -4 3030 0004 0446 mov r4, r0 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3031 .loc 1 1570 11 view .LVU1051 3032 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 3033 .LVL200: 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3034 .loc 1 1570 6 view .LVU1052 3035 000a 2028 cmp r0, #32 1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 3036 .loc 1 1567 1 view .LVU1053 3037 000c 83B0 sub sp, sp, #12 3038 .LCFI32: 3039 .cfi_def_cfa_offset 40 1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3040 .loc 1 1570 6 view .LVU1054 3041 000e 39D1 bne .L308 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3042 .loc 1 1572 5 is_stmt 1 view .LVU1055 3043 0010 0E46 mov r6, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 201 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3044 .loc 1 1572 8 is_stmt 0 view .LVU1056 3045 0012 81B3 cbz r1, .L298 3046 0014 1746 mov r7, r2 1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3047 .loc 1 1572 25 discriminator 1 view .LVU1057 3048 0016 72B3 cbz r2, .L298 3049 0018 1D46 mov r5, r3 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3050 .loc 1 1578 5 is_stmt 1 view .LVU1058 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3051 .loc 1 1578 5 view .LVU1059 3052 001a 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 3053 .LVL201: 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3054 .loc 1 1578 5 is_stmt 0 view .LVU1060 3055 001e 012B cmp r3, #1 3056 0020 30D0 beq .L308 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3057 .loc 1 1578 5 is_stmt 1 discriminator 2 view .LVU1061 3058 0022 4FF00108 mov r8, #1 3059 0026 84F84080 strb r8, [r4, #64] 1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3060 .loc 1 1578 5 discriminator 2 view .LVU1062 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3061 .loc 1 1581 5 discriminator 2 view .LVU1063 3062 002a 5FFA80F9 uxtb r9, r0 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3063 .loc 1 1581 17 is_stmt 0 discriminator 2 view .LVU1064 3064 002e FFF7FEFF bl HAL_GetTick 3065 .LVL202: 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3066 .loc 1 1585 21 discriminator 2 view .LVU1065 3067 0032 0022 movs r2, #0 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3068 .loc 1 1583 21 discriminator 2 view .LVU1066 3069 0034 2223 movs r3, #34 3070 0036 84F84130 strb r3, [r4, #65] 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3071 .loc 1 1594 9 discriminator 2 view .LVU1067 3072 003a 2168 ldr r1, [r4] 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3073 .loc 1 1584 21 discriminator 2 view .LVU1068 3074 003c 84F84290 strb r9, [r4, #66] 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3075 .loc 1 1585 21 discriminator 2 view .LVU1069 3076 0040 6264 str r2, [r4, #68] 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3077 .loc 1 1589 21 discriminator 2 view .LVU1070 3078 0042 6785 strh r7, [r4, #42] @ movhi 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 3079 .loc 1 1590 26 discriminator 2 view .LVU1071 3080 0044 638D ldrh r3, [r4, #42] 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 3081 .loc 1 1590 20 discriminator 2 view .LVU1072 3082 0046 2385 strh r3, [r4, #40] @ movhi 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 202 3083 .loc 1 1594 25 discriminator 2 view .LVU1073 3084 0048 4B68 ldr r3, [r1, #4] 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3085 .loc 1 1588 21 discriminator 2 view .LVU1074 3086 004a 6662 str r6, [r4, #36] 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3087 .loc 1 1594 25 discriminator 2 view .LVU1075 3088 004c 23F40043 bic r3, r3, #32768 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3089 .loc 1 1591 21 discriminator 2 view .LVU1076 3090 0050 6263 str r2, [r4, #52] 1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3091 .loc 1 1581 17 discriminator 2 view .LVU1077 3092 0052 0646 mov r6, r0 3093 .LVL203: 1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3094 .loc 1 1583 5 is_stmt 1 discriminator 2 view .LVU1078 1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3095 .loc 1 1584 5 discriminator 2 view .LVU1079 1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3096 .loc 1 1585 5 discriminator 2 view .LVU1080 1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3097 .loc 1 1588 5 discriminator 2 view .LVU1081 1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3098 .loc 1 1589 5 discriminator 2 view .LVU1082 1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 3099 .loc 1 1590 5 discriminator 2 view .LVU1083 1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3100 .loc 1 1591 5 discriminator 2 view .LVU1084 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3101 .loc 1 1594 5 discriminator 2 view .LVU1085 1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3102 .loc 1 1594 25 is_stmt 0 discriminator 2 view .LVU1086 3103 0054 4B60 str r3, [r1, #4] 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3104 .loc 1 1597 5 is_stmt 1 discriminator 2 view .LVU1087 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3105 .loc 1 1597 9 is_stmt 0 discriminator 2 view .LVU1088 3106 0056 0090 str r0, [sp] 3107 .LVL204: 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3108 .loc 1 1597 9 discriminator 2 view .LVU1089 3109 0058 2B46 mov r3, r5 3110 005a 0821 movs r1, #8 3111 005c 2046 mov r0, r4 3112 .LVL205: 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3113 .loc 1 1597 9 discriminator 2 view .LVU1090 3114 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 3115 .LVL206: 1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3116 .loc 1 1597 8 discriminator 2 view .LVU1091 3117 0062 98B1 cbz r0, .L300 3118 .L301: 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3119 .loc 1 1611 7 is_stmt 1 view .LVU1092 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 203 3120 .loc 1 1611 11 is_stmt 0 view .LVU1093 3121 0064 2268 ldr r2, [r4] 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3122 .loc 1 1611 27 view .LVU1094 3123 0066 5368 ldr r3, [r2, #4] 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3124 .loc 1 1612 14 view .LVU1095 3125 0068 4046 mov r0, r8 1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3126 .loc 1 1611 27 view .LVU1096 3127 006a 43F40043 orr r3, r3, #32768 3128 006e 5360 str r3, [r2, #4] 1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3129 .loc 1 1612 7 is_stmt 1 view .LVU1097 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3130 .loc 1 1683 1 is_stmt 0 view .LVU1098 3131 0070 03B0 add sp, sp, #12 3132 .LCFI33: 3133 .cfi_remember_state 3134 .cfi_def_cfa_offset 28 3135 @ sp needed 3136 0072 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 3137 .LVL207: 3138 .L298: 3139 .LCFI34: 3140 .cfi_restore_state 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3141 .loc 1 1574 7 is_stmt 1 view .LVU1099 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3142 .loc 1 1574 23 is_stmt 0 view .LVU1100 3143 0076 4FF40073 mov r3, #512 3144 .LVL208: 1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3145 .loc 1 1574 23 view .LVU1101 3146 007a 6364 str r3, [r4, #68] 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3147 .loc 1 1575 7 is_stmt 1 view .LVU1102 1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3148 .loc 1 1575 15 is_stmt 0 view .LVU1103 3149 007c 0120 movs r0, #1 3150 .LVL209: 3151 .L297: 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3152 .loc 1 1683 1 view .LVU1104 3153 007e 03B0 add sp, sp, #12 3154 .LCFI35: 3155 .cfi_remember_state 3156 .cfi_def_cfa_offset 28 3157 @ sp needed 3158 0080 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 3159 .LVL210: 3160 .L308: 3161 .LCFI36: 3162 .cfi_restore_state 1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3163 .loc 1 1681 12 view .LVU1105 3164 0084 0220 movs r0, #2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 204 1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3165 .loc 1 1683 1 view .LVU1106 3166 0086 03B0 add sp, sp, #12 3167 .LCFI37: 3168 .cfi_remember_state 3169 .cfi_def_cfa_offset 28 3170 @ sp needed 3171 0088 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 3172 .LVL211: 3173 .L300: 3174 .LCFI38: 3175 .cfi_restore_state 1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3176 .loc 1 1605 5 is_stmt 1 view .LVU1107 3177 008c 2368 ldr r3, [r4] 3178 008e 0822 movs r2, #8 3179 0090 DA61 str r2, [r3, #28] 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3180 .loc 1 1608 5 view .LVU1108 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3181 .loc 1 1608 9 is_stmt 0 view .LVU1109 3182 0092 4FF48031 mov r1, #65536 3183 0096 2B46 mov r3, r5 3184 0098 0096 str r6, [sp] 3185 009a 4246 mov r2, r8 3186 009c 2046 mov r0, r4 3187 009e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 3188 .LVL212: 1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3189 .loc 1 1608 8 view .LVU1110 3190 00a2 0028 cmp r0, #0 3191 00a4 DED1 bne .L301 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3192 .loc 1 1615 11 is_stmt 1 view .LVU1111 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3193 .loc 1 1615 16 is_stmt 0 view .LVU1112 3194 00a6 638D ldrh r3, [r4, #42] 3195 00a8 9BB2 uxth r3, r3 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3196 .loc 1 1615 11 view .LVU1113 3197 00aa ABB9 cbnz r3, .L302 3198 00ac 32E0 b .L303 3199 .L304: 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3200 .loc 1 1640 38 view .LVU1114 3201 00ae 2268 ldr r2, [r4] 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3202 .loc 1 1640 12 view .LVU1115 3203 00b0 636A ldr r3, [r4, #36] 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3204 .loc 1 1640 48 view .LVU1116 3205 00b2 526A ldr r2, [r2, #36] 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3206 .loc 1 1640 25 view .LVU1117 3207 00b4 1A70 strb r2, [r3] 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3208 .loc 1 1643 7 is_stmt 1 view .LVU1118 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 205 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3209 .loc 1 1645 11 is_stmt 0 view .LVU1119 3210 00b6 B4F82AC0 ldrh ip, [r4, #42] 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3211 .loc 1 1643 21 view .LVU1120 3212 00ba 616A ldr r1, [r4, #36] 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3213 .loc 1 1646 21 view .LVU1121 3214 00bc 228D ldrh r2, [r4, #40] 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3215 .loc 1 1645 22 view .LVU1122 3216 00be 0CF1FF3C add ip, ip, #-1 3217 00c2 1FFA8CFC uxth ip, ip 3218 00c6 A4F82AC0 strh ip, [r4, #42] @ movhi 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3219 .loc 1 1615 16 view .LVU1123 3220 00ca 638D ldrh r3, [r4, #42] 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3221 .loc 1 1643 21 view .LVU1124 3222 00cc 0131 adds r1, r1, #1 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3223 .loc 1 1646 21 view .LVU1125 3224 00ce 013A subs r2, r2, #1 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3225 .loc 1 1615 16 view .LVU1126 3226 00d0 9BB2 uxth r3, r3 1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3227 .loc 1 1643 21 view .LVU1127 3228 00d2 6162 str r1, [r4, #36] 1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3229 .loc 1 1645 7 is_stmt 1 view .LVU1128 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3230 .loc 1 1646 7 view .LVU1129 1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3231 .loc 1 1646 21 is_stmt 0 view .LVU1130 3232 00d4 2285 strh r2, [r4, #40] @ movhi 1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3233 .loc 1 1615 11 is_stmt 1 view .LVU1131 3234 00d6 EBB1 cbz r3, .L303 3235 .L302: 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3236 .loc 1 1618 7 view .LVU1132 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3237 .loc 1 1618 11 is_stmt 0 view .LVU1133 3238 00d8 3246 mov r2, r6 3239 00da 2946 mov r1, r5 3240 00dc 2046 mov r0, r4 3241 00de FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout 3242 .LVL213: 1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3243 .loc 1 1640 7 is_stmt 1 view .LVU1134 1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3244 .loc 1 1618 10 is_stmt 0 view .LVU1135 3245 00e2 0028 cmp r0, #0 3246 00e4 E3D0 beq .L304 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3247 .loc 1 1621 9 is_stmt 1 view .LVU1136 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 206 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3248 .loc 1 1621 13 is_stmt 0 view .LVU1137 3249 00e6 2368 ldr r3, [r4] 1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3250 .loc 1 1621 29 view .LVU1138 3251 00e8 5A68 ldr r2, [r3, #4] 3252 00ea 42F40042 orr r2, r2, #32768 3253 00ee 5A60 str r2, [r3, #4] 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3254 .loc 1 1624 9 is_stmt 1 view .LVU1139 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3255 .loc 1 1624 13 is_stmt 0 view .LVU1140 3256 00f0 9A69 ldr r2, [r3, #24] 1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3257 .loc 1 1624 12 view .LVU1141 3258 00f2 5207 lsls r2, r2, #29 3259 00f4 2ED5 bpl .L309 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3260 .loc 1 1627 11 is_stmt 1 view .LVU1142 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3261 .loc 1 1627 16 is_stmt 0 view .LVU1143 3262 00f6 626A ldr r2, [r4, #36] 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3263 .loc 1 1627 52 view .LVU1144 3264 00f8 5B6A ldr r3, [r3, #36] 1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3265 .loc 1 1627 29 view .LVU1145 3266 00fa 1370 strb r3, [r2] 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3267 .loc 1 1630 11 is_stmt 1 view .LVU1146 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3268 .loc 1 1632 15 is_stmt 0 view .LVU1147 3269 00fc 638D ldrh r3, [r4, #42] 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3270 .loc 1 1630 25 view .LVU1148 3271 00fe 616A ldr r1, [r4, #36] 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3272 .loc 1 1633 25 view .LVU1149 3273 0100 228D ldrh r2, [r4, #40] 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3274 .loc 1 1632 26 view .LVU1150 3275 0102 013B subs r3, r3, #1 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3276 .loc 1 1630 25 view .LVU1151 3277 0104 0131 adds r1, r1, #1 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3278 .loc 1 1632 26 view .LVU1152 3279 0106 9BB2 uxth r3, r3 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3280 .loc 1 1633 25 view .LVU1153 3281 0108 013A subs r2, r2, #1 1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3282 .loc 1 1630 25 view .LVU1154 3283 010a 6162 str r1, [r4, #36] 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3284 .loc 1 1632 11 is_stmt 1 view .LVU1155 1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 207 3285 .loc 1 1632 26 is_stmt 0 view .LVU1156 3286 010c 6385 strh r3, [r4, #42] @ movhi 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3287 .loc 1 1633 11 is_stmt 1 view .LVU1157 1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3288 .loc 1 1633 25 is_stmt 0 view .LVU1158 3289 010e 2285 strh r2, [r4, #40] @ movhi 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3290 .loc 1 1636 16 view .LVU1159 3291 0110 0120 movs r0, #1 3292 0112 B4E7 b .L297 3293 .L303: 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3294 .loc 1 1650 5 is_stmt 1 view .LVU1160 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3295 .loc 1 1650 9 is_stmt 0 view .LVU1161 3296 0114 3246 mov r2, r6 3297 0116 2946 mov r1, r5 3298 0118 2046 mov r0, r4 3299 011a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 3300 .LVL214: 1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3301 .loc 1 1650 8 view .LVU1162 3302 011e 30B1 cbz r0, .L305 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3303 .loc 1 1653 7 is_stmt 1 view .LVU1163 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3304 .loc 1 1653 11 is_stmt 0 view .LVU1164 3305 0120 2268 ldr r2, [r4] 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3306 .loc 1 1653 27 view .LVU1165 3307 0122 5368 ldr r3, [r2, #4] 3308 0124 43F40043 orr r3, r3, #32768 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3309 .loc 1 1654 14 view .LVU1166 3310 0128 0120 movs r0, #1 1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3311 .loc 1 1653 27 view .LVU1167 3312 012a 5360 str r3, [r2, #4] 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3313 .loc 1 1654 7 is_stmt 1 view .LVU1168 1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3314 .loc 1 1654 14 is_stmt 0 view .LVU1169 3315 012c A7E7 b .L297 3316 .L305: 1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3317 .loc 1 1658 5 is_stmt 1 view .LVU1170 3318 012e 2368 ldr r3, [r4] 3319 0130 2027 movs r7, #32 3320 0132 DF61 str r7, [r3, #28] 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3321 .loc 1 1661 5 view .LVU1171 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3322 .loc 1 1661 9 is_stmt 0 view .LVU1172 3323 0134 0122 movs r2, #1 3324 0136 2B46 mov r3, r5 3325 0138 0096 str r6, [sp] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 208 3326 013a 4FF40041 mov r1, #32768 3327 013e 2046 mov r0, r4 3328 0140 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 3329 .LVL215: 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3330 .loc 1 1664 11 view .LVU1173 3331 0144 2268 ldr r2, [r4] 1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3332 .loc 1 1661 8 view .LVU1174 3333 0146 38B1 cbz r0, .L306 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3334 .loc 1 1664 7 is_stmt 1 view .LVU1175 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3335 .loc 1 1664 27 is_stmt 0 view .LVU1176 3336 0148 5368 ldr r3, [r2, #4] 3337 014a 43F40043 orr r3, r3, #32768 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3338 .loc 1 1665 14 view .LVU1177 3339 014e 0120 movs r0, #1 1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 3340 .loc 1 1664 27 view .LVU1178 3341 0150 5360 str r3, [r2, #4] 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3342 .loc 1 1665 7 is_stmt 1 view .LVU1179 1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3343 .loc 1 1665 14 is_stmt 0 view .LVU1180 3344 0152 94E7 b .L297 3345 .L309: 1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3346 .loc 1 1636 16 view .LVU1181 3347 0154 0120 movs r0, #1 3348 0156 92E7 b .L297 3349 .L306: 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3350 .loc 1 1669 5 is_stmt 1 view .LVU1182 1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3351 .loc 1 1669 25 is_stmt 0 view .LVU1183 3352 0158 5368 ldr r3, [r2, #4] 3353 015a 43F40043 orr r3, r3, #32768 3354 015e 5360 str r3, [r2, #4] 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3355 .loc 1 1671 5 is_stmt 1 view .LVU1184 1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 3356 .loc 1 1671 17 is_stmt 0 view .LVU1185 3357 0160 84F84170 strb r7, [r4, #65] 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3358 .loc 1 1672 5 is_stmt 1 view .LVU1186 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3359 .loc 1 1675 5 is_stmt 0 view .LVU1187 3360 0164 84F84000 strb r0, [r4, #64] 1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3361 .loc 1 1672 17 view .LVU1188 3362 0168 84F84200 strb r0, [r4, #66] 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3363 .loc 1 1675 5 is_stmt 1 view .LVU1189 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3364 .loc 1 1675 5 view .LVU1190 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 209 1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3365 .loc 1 1675 5 view .LVU1191 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3366 .loc 1 1677 5 view .LVU1192 1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3367 .loc 1 1677 12 is_stmt 0 view .LVU1193 3368 016c 87E7 b .L297 3369 .cfi_endproc 3370 .LFE137: 3372 016e 00BF .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits 3373 .align 1 3374 .p2align 2,,3 3375 .global HAL_I2C_Master_Transmit_IT 3376 .syntax unified 3377 .thumb 3378 .thumb_func 3380 HAL_I2C_Master_Transmit_IT: 3381 .LVL216: 3382 .LFB138: 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3383 .loc 1 1697 1 is_stmt 1 view -0 3384 .cfi_startproc 3385 @ args = 0, pretend = 0, frame = 0 3386 @ frame_needed = 0, uses_anonymous_args = 0 1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3387 .loc 1 1698 3 view .LVU1195 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3388 .loc 1 1700 3 view .LVU1196 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3389 .loc 1 1697 1 is_stmt 0 view .LVU1197 3390 0000 F0B5 push {r4, r5, r6, r7, lr} 3391 .LCFI39: 3392 .cfi_def_cfa_offset 20 3393 .cfi_offset 4, -20 3394 .cfi_offset 5, -16 3395 .cfi_offset 6, -12 3396 .cfi_offset 7, -8 3397 .cfi_offset 14, -4 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3398 .loc 1 1700 11 view .LVU1198 3399 0002 90F84150 ldrb r5, [r0, #65] @ zero_extendqisi2 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3400 .loc 1 1700 6 view .LVU1199 3401 0006 202D cmp r5, #32 1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3402 .loc 1 1697 1 view .LVU1200 3403 0008 83B0 sub sp, sp, #12 3404 .LCFI40: 3405 .cfi_def_cfa_offset 32 1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3406 .loc 1 1700 6 view .LVU1201 3407 000a 36D1 bne .L324 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3408 .loc 1 1702 5 is_stmt 1 view .LVU1202 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3409 .loc 1 1702 9 is_stmt 0 view .LVU1203 3410 000c 0668 ldr r6, [r0] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 210 3411 000e B569 ldr r5, [r6, #24] 1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3412 .loc 1 1702 8 view .LVU1204 3413 0010 15F40045 ands r5, r5, #32768 3414 0014 0446 mov r4, r0 3415 0016 30D1 bne .L324 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3416 .loc 1 1708 5 is_stmt 1 view .LVU1205 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3417 .loc 1 1708 5 view .LVU1206 3418 0018 90F840E0 ldrb lr, [r0, #64] @ zero_extendqisi2 3419 001c BEF1010F cmp lr, #1 3420 0020 2BD0 beq .L324 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3421 .loc 1 1710 23 is_stmt 0 discriminator 2 view .LVU1207 3422 0022 4FF0210E mov lr, #33 3423 0026 80F841E0 strb lr, [r0, #65] 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3424 .loc 1 1717 23 discriminator 2 view .LVU1208 3425 002a 254F ldr r7, .L328 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3426 .loc 1 1715 23 discriminator 2 view .LVU1209 3427 002c 4262 str r2, [r0, #36] 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3428 .loc 1 1711 23 discriminator 2 view .LVU1210 3429 002e 4FF0100E mov lr, #16 3430 0032 80F842E0 strb lr, [r0, #66] 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3431 .loc 1 1712 23 discriminator 2 view .LVU1211 3432 0036 4564 str r5, [r0, #68] 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3433 .loc 1 1716 23 discriminator 2 view .LVU1212 3434 0038 4385 strh r3, [r0, #42] @ movhi 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3435 .loc 1 1717 23 discriminator 2 view .LVU1213 3436 003a C762 str r7, [r0, #44] 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3437 .loc 1 1720 13 discriminator 2 view .LVU1214 3438 003c 438D ldrh r3, [r0, #42] 3439 .LVL217: 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3440 .loc 1 1718 23 discriminator 2 view .LVU1215 3441 003e 214D ldr r5, .L328+4 3442 0040 4563 str r5, [r0, #52] 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3443 .loc 1 1720 13 discriminator 2 view .LVU1216 3444 0042 9BB2 uxth r3, r3 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3445 .loc 1 1708 5 discriminator 2 view .LVU1217 3446 0044 0125 movs r5, #1 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3447 .loc 1 1720 8 discriminator 2 view .LVU1218 3448 0046 FF2B cmp r3, #255 3449 0048 8C46 mov ip, r1 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3450 .loc 1 1708 5 is_stmt 1 discriminator 2 view .LVU1219 3451 004a 80F84050 strb r5, [r0, #64] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 211 1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3452 .loc 1 1708 5 discriminator 2 view .LVU1220 1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3453 .loc 1 1710 5 discriminator 2 view .LVU1221 1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3454 .loc 1 1711 5 discriminator 2 view .LVU1222 1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3455 .loc 1 1712 5 discriminator 2 view .LVU1223 1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3456 .loc 1 1715 5 discriminator 2 view .LVU1224 1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3457 .loc 1 1716 5 discriminator 2 view .LVU1225 1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3458 .loc 1 1717 5 discriminator 2 view .LVU1226 1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3459 .loc 1 1718 5 discriminator 2 view .LVU1227 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3460 .loc 1 1720 5 discriminator 2 view .LVU1228 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3461 .loc 1 1720 8 is_stmt 0 discriminator 2 view .LVU1229 3462 004e 17D8 bhi .L318 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3463 .loc 1 1727 7 is_stmt 1 view .LVU1230 1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3464 .loc 1 1727 28 is_stmt 0 view .LVU1231 3465 0050 458D ldrh r5, [r0, #42] 3466 0052 ADB2 uxth r5, r5 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3467 .loc 1 1728 7 is_stmt 1 view .LVU1232 3468 0054 0585 strh r5, [r0, #40] @ movhi 3469 .LVL218: 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3470 .loc 1 1733 5 view .LVU1233 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3471 .loc 1 1733 8 is_stmt 0 view .LVU1234 3472 0056 5DBB cbnz r5, .L327 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3473 .loc 1 1750 7 is_stmt 1 view .LVU1235 3474 0058 1B4B ldr r3, .L328+8 3475 005a 0093 str r3, [sp] 3476 005c 2A46 mov r2, r5 3477 .LVL219: 1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3478 .loc 1 1750 7 is_stmt 0 view .LVU1236 3479 005e 4FF00073 mov r3, #33554432 3480 0062 FFF7FEFF bl I2C_TransferConfig 3481 .LVL220: 3482 .L320: 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3483 .loc 1 1755 5 is_stmt 1 view .LVU1237 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3484 .loc 1 1755 5 view .LVU1238 3485 .LBB118: 3486 .LBB119: 7352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 212 7355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. 7358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) 7361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U; 7363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((hi2c->XferISR != I2C_Master_ISR_DMA) && \ 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 7366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 7367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 7369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */ 7371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 7375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */ 7377: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; 7378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 7381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ 7383: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; 7384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 7387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 7393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; 7396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 7400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 7402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */ 7404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 7408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */ 7410: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; 7411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 213 7412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 7414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */ 7416: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; 7417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 7420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 7426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= (I2C_IT_STOPI | I2C_IT_TCI); 7429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT) 7432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; 7435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable interrupts only at the end */ 7439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */ 7440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all interrupts requested done */ 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr); 3487 .loc 1 7441 3 is_stmt 0 view .LVU1239 3488 0066 2268 ldr r2, [r4] 3489 .LBE119: 3490 .LBE118: 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3491 .loc 1 1755 5 view .LVU1240 3492 0068 0020 movs r0, #0 3493 006a 84F84000 strb r0, [r4, #64] 1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3494 .loc 1 1755 5 is_stmt 1 view .LVU1241 1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3495 .loc 1 1765 5 view .LVU1242 3496 .LVL221: 3497 .LBB121: 3498 .LBI118: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3499 .loc 1 7360 13 view .LVU1243 3500 .LBB120: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3501 .loc 1 7362 3 view .LVU1244 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 3502 .loc 1 7364 3 view .LVU1245 3503 .loc 1 7441 3 view .LVU1246 3504 006e 1368 ldr r3, [r2] 3505 0070 43F0F203 orr r3, r3, #242 3506 0074 1360 str r3, [r2] 3507 .LBE120: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 214 3508 .LBE121: 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3509 .loc 1 1773 1 is_stmt 0 view .LVU1247 3510 0076 03B0 add sp, sp, #12 3511 .LCFI41: 3512 .cfi_remember_state 3513 .cfi_def_cfa_offset 20 3514 @ sp needed 3515 0078 F0BD pop {r4, r5, r6, r7, pc} 3516 .LVL222: 3517 .L324: 3518 .LCFI42: 3519 .cfi_restore_state 1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3520 .loc 1 1771 12 view .LVU1248 3521 007a 0220 movs r0, #2 3522 .LVL223: 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3523 .loc 1 1773 1 view .LVU1249 3524 007c 03B0 add sp, sp, #12 3525 .LCFI43: 3526 .cfi_remember_state 3527 .cfi_def_cfa_offset 20 3528 @ sp needed 3529 007e F0BD pop {r4, r5, r6, r7, pc} 3530 .LVL224: 3531 .L318: 3532 .LCFI44: 3533 .cfi_restore_state 1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3534 .loc 1 1773 1 view .LVU1250 3535 0080 FF23 movs r3, #255 3536 0082 0385 strh r3, [r0, #40] @ movhi 3537 .LVL225: 1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3538 .loc 1 1733 5 is_stmt 1 view .LVU1251 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3539 .loc 1 1720 8 is_stmt 0 view .LVU1252 3540 0084 1946 mov r1, r3 3541 .LVL226: 1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3542 .loc 1 1720 8 view .LVU1253 3543 0086 FE20 movs r0, #254 3544 .LVL227: 1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3545 .loc 1 1723 16 view .LVU1254 3546 0088 4FF08073 mov r3, #16777216 3547 .LVL228: 3548 .L321: 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3549 .loc 1 1737 7 is_stmt 1 view .LVU1255 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3550 .loc 1 1737 30 is_stmt 0 view .LVU1256 3551 008c 1546 mov r5, r2 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3552 .loc 1 1745 7 view .LVU1257 3553 008e 0A46 mov r2, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 215 3554 .LVL229: 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3555 .loc 1 1737 30 view .LVU1258 3556 0090 15F8017B ldrb r7, [r5], #1 @ zero_extendqisi2 1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3557 .loc 1 1737 28 view .LVU1259 3558 0094 B762 str r7, [r6, #40] 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3559 .loc 1 1740 7 is_stmt 1 view .LVU1260 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3560 .loc 1 1743 21 is_stmt 0 view .LVU1261 3561 0096 2085 strh r0, [r4, #40] @ movhi 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3562 .loc 1 1745 7 view .LVU1262 3563 0098 0B48 ldr r0, .L328+8 1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3564 .loc 1 1740 21 view .LVU1263 3565 009a 6562 str r5, [r4, #36] 3566 .LVL230: 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3567 .loc 1 1742 7 is_stmt 1 view .LVU1264 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3568 .loc 1 1745 7 is_stmt 0 view .LVU1265 3569 009c 0090 str r0, [sp] 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3570 .loc 1 1742 11 view .LVU1266 3571 009e 658D ldrh r5, [r4, #42] 3572 .LVL231: 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3573 .loc 1 1742 22 view .LVU1267 3574 00a0 013D subs r5, r5, #1 3575 00a2 ADB2 uxth r5, r5 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3576 .loc 1 1745 7 view .LVU1268 3577 00a4 6146 mov r1, ip 3578 00a6 2046 mov r0, r4 1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3579 .loc 1 1742 22 view .LVU1269 3580 00a8 6585 strh r5, [r4, #42] @ movhi 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3581 .loc 1 1743 7 is_stmt 1 view .LVU1270 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3582 .loc 1 1745 7 view .LVU1271 3583 00aa FFF7FEFF bl I2C_TransferConfig 3584 .LVL232: 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3585 .loc 1 1745 7 is_stmt 0 view .LVU1272 3586 00ae DAE7 b .L320 3587 .LVL233: 3588 .L327: 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3589 .loc 1 1743 21 view .LVU1273 3590 00b0 681E subs r0, r5, #1 3591 .LVL234: 1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3592 .loc 1 1743 21 view .LVU1274 3593 00b2 80B2 uxth r0, r0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 216 1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 3594 .loc 1 1745 7 view .LVU1275 3595 00b4 431C adds r3, r0, #1 3596 00b6 D9B2 uxtb r1, r3 3597 .LVL235: 1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3598 .loc 1 1728 16 view .LVU1276 3599 00b8 4FF00073 mov r3, #33554432 3600 00bc E6E7 b .L321 3601 .L329: 3602 00be 00BF .align 2 3603 .L328: 3604 00c0 0000FFFF .word -65536 3605 00c4 00000000 .word I2C_Master_ISR_IT 3606 00c8 00200080 .word -2147475456 3607 .cfi_endproc 3608 .LFE138: 3610 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits 3611 .align 1 3612 .p2align 2,,3 3613 .global HAL_I2C_Master_Receive_IT 3614 .syntax unified 3615 .thumb 3616 .thumb_func 3618 HAL_I2C_Master_Receive_IT: 3619 .LVL236: 3620 .LFB139: 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3621 .loc 1 1787 1 is_stmt 1 view -0 3622 .cfi_startproc 3623 @ args = 0, pretend = 0, frame = 0 3624 @ frame_needed = 0, uses_anonymous_args = 0 1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3625 .loc 1 1788 3 view .LVU1278 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3626 .loc 1 1790 3 view .LVU1279 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3627 .loc 1 1787 1 is_stmt 0 view .LVU1280 3628 0000 10B5 push {r4, lr} 3629 .LCFI45: 3630 .cfi_def_cfa_offset 8 3631 .cfi_offset 4, -8 3632 .cfi_offset 14, -4 3633 0002 0446 mov r4, r0 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3634 .loc 1 1790 11 view .LVU1281 3635 0004 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 3636 .LVL237: 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3637 .loc 1 1790 6 view .LVU1282 3638 0008 2028 cmp r0, #32 1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 3639 .loc 1 1787 1 view .LVU1283 3640 000a 82B0 sub sp, sp, #8 3641 .LCFI46: 3642 .cfi_def_cfa_offset 16 1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 217 3643 .loc 1 1790 6 view .LVU1284 3644 000c 34D1 bne .L335 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3645 .loc 1 1792 5 is_stmt 1 view .LVU1285 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3646 .loc 1 1792 9 is_stmt 0 view .LVU1286 3647 000e 2068 ldr r0, [r4] 3648 0010 8069 ldr r0, [r0, #24] 1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3649 .loc 1 1792 8 view .LVU1287 3650 0012 10F40040 ands r0, r0, #32768 3651 0016 2FD1 bne .L335 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3652 .loc 1 1798 5 is_stmt 1 view .LVU1288 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3653 .loc 1 1798 5 view .LVU1289 3654 0018 94F840C0 ldrb ip, [r4, #64] @ zero_extendqisi2 3655 001c BCF1010F cmp ip, #1 3656 0020 2AD0 beq .L335 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3657 .loc 1 1798 5 discriminator 2 view .LVU1290 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3658 .loc 1 1800 23 is_stmt 0 discriminator 2 view .LVU1291 3659 0022 4FF0220C mov ip, #34 3660 0026 84F841C0 strb ip, [r4, #65] 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3661 .loc 1 1805 23 discriminator 2 view .LVU1292 3662 002a 6262 str r2, [r4, #36] 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3663 .loc 1 1801 23 discriminator 2 view .LVU1293 3664 002c 4FF0100C mov ip, #16 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3665 .loc 1 1807 23 discriminator 2 view .LVU1294 3666 0030 154A ldr r2, .L338 3667 .LVL238: 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3668 .loc 1 1801 23 discriminator 2 view .LVU1295 3669 0032 84F842C0 strb ip, [r4, #66] 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3670 .loc 1 1802 23 discriminator 2 view .LVU1296 3671 0036 6064 str r0, [r4, #68] 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3672 .loc 1 1806 23 discriminator 2 view .LVU1297 3673 0038 6385 strh r3, [r4, #42] @ movhi 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3674 .loc 1 1807 23 discriminator 2 view .LVU1298 3675 003a E262 str r2, [r4, #44] 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3676 .loc 1 1810 13 discriminator 2 view .LVU1299 3677 003c 638D ldrh r3, [r4, #42] 3678 .LVL239: 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3679 .loc 1 1808 23 discriminator 2 view .LVU1300 3680 003e 134A ldr r2, .L338+4 3681 0040 6263 str r2, [r4, #52] 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3682 .loc 1 1810 13 discriminator 2 view .LVU1301 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 218 3683 0042 9BB2 uxth r3, r3 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3684 .loc 1 1798 5 discriminator 2 view .LVU1302 3685 0044 0122 movs r2, #1 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3686 .loc 1 1810 8 discriminator 2 view .LVU1303 3687 0046 FF2B cmp r3, #255 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3688 .loc 1 1798 5 discriminator 2 view .LVU1304 3689 0048 84F84020 strb r2, [r4, #64] 1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3690 .loc 1 1798 5 is_stmt 1 discriminator 2 view .LVU1305 1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 3691 .loc 1 1800 5 discriminator 2 view .LVU1306 1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3692 .loc 1 1801 5 discriminator 2 view .LVU1307 1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3693 .loc 1 1802 5 discriminator 2 view .LVU1308 1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3694 .loc 1 1805 5 discriminator 2 view .LVU1309 1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3695 .loc 1 1806 5 discriminator 2 view .LVU1310 1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 3696 .loc 1 1807 5 discriminator 2 view .LVU1311 1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3697 .loc 1 1808 5 discriminator 2 view .LVU1312 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3698 .loc 1 1810 5 discriminator 2 view .LVU1313 1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3699 .loc 1 1810 8 is_stmt 0 discriminator 2 view .LVU1314 3700 004c 17D8 bhi .L336 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3701 .loc 1 1817 7 is_stmt 1 view .LVU1315 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3702 .loc 1 1817 28 is_stmt 0 view .LVU1316 3703 004e 628D ldrh r2, [r4, #42] 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3704 .loc 1 1818 16 view .LVU1317 3705 0050 4FF00073 mov r3, #33554432 1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 3706 .loc 1 1817 28 view .LVU1318 3707 0054 90B2 uxth r0, r2 1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3708 .loc 1 1818 7 is_stmt 1 view .LVU1319 3709 .LVL240: 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3710 .loc 1 1823 5 is_stmt 0 view .LVU1320 3711 0056 D2B2 uxtb r2, r2 3712 .LVL241: 3713 .L332: 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3714 .loc 1 1823 5 view .LVU1321 3715 0058 2085 strh r0, [r4, #40] @ movhi 3716 .LVL242: 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3717 .loc 1 1823 5 is_stmt 1 view .LVU1322 3718 005a 0D48 ldr r0, .L338+8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 219 3719 005c 0090 str r0, [sp] 3720 .LVL243: 1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3721 .loc 1 1823 5 is_stmt 0 view .LVU1323 3722 005e 2046 mov r0, r4 3723 0060 FFF7FEFF bl I2C_TransferConfig 3724 .LVL244: 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3725 .loc 1 1826 5 is_stmt 1 view .LVU1324 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3726 .loc 1 1826 5 view .LVU1325 3727 .LBB124: 3728 .LBB125: 3729 .loc 1 7441 3 is_stmt 0 view .LVU1326 3730 0064 2268 ldr r2, [r4] 3731 .LBE125: 3732 .LBE124: 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3733 .loc 1 1826 5 view .LVU1327 3734 0066 0020 movs r0, #0 3735 0068 84F84000 strb r0, [r4, #64] 1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3736 .loc 1 1826 5 is_stmt 1 view .LVU1328 1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3737 .loc 1 1836 5 view .LVU1329 3738 .LVL245: 3739 .LBB127: 3740 .LBI124: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3741 .loc 1 7360 13 view .LVU1330 3742 .LBB126: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3743 .loc 1 7362 3 view .LVU1331 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 3744 .loc 1 7364 3 view .LVU1332 3745 .loc 1 7441 3 view .LVU1333 3746 006c 1368 ldr r3, [r2] 3747 006e 43F0F403 orr r3, r3, #244 3748 0072 1360 str r3, [r2] 3749 .LVL246: 3750 .loc 1 7441 3 is_stmt 0 view .LVU1334 3751 .LBE126: 3752 .LBE127: 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3753 .loc 1 1844 1 view .LVU1335 3754 0074 02B0 add sp, sp, #8 3755 .LCFI47: 3756 .cfi_remember_state 3757 .cfi_def_cfa_offset 8 3758 @ sp needed 3759 0076 10BD pop {r4, pc} 3760 .LVL247: 3761 .L335: 3762 .LCFI48: 3763 .cfi_restore_state 1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3764 .loc 1 1842 12 view .LVU1336 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 220 3765 0078 0220 movs r0, #2 1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3766 .loc 1 1844 1 view .LVU1337 3767 007a 02B0 add sp, sp, #8 3768 .LCFI49: 3769 .cfi_remember_state 3770 .cfi_def_cfa_offset 8 3771 @ sp needed 3772 007c 10BD pop {r4, pc} 3773 .LVL248: 3774 .L336: 3775 .LCFI50: 3776 .cfi_restore_state 1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 3777 .loc 1 1812 22 view .LVU1338 3778 007e 1046 mov r0, r2 1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3779 .loc 1 1813 16 view .LVU1339 3780 0080 4FF08073 mov r3, #16777216 3781 0084 E8E7 b .L332 3782 .L339: 3783 0086 00BF .align 2 3784 .L338: 3785 0088 0000FFFF .word -65536 3786 008c 00000000 .word I2C_Master_ISR_IT 3787 0090 00240080 .word -2147474432 3788 .cfi_endproc 3789 .LFE139: 3791 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits 3792 .align 1 3793 .p2align 2,,3 3794 .global HAL_I2C_Slave_Transmit_IT 3795 .syntax unified 3796 .thumb 3797 .thumb_func 3799 HAL_I2C_Slave_Transmit_IT: 3800 .LVL249: 3801 .LFB140: 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3802 .loc 1 1855 1 is_stmt 1 view -0 3803 .cfi_startproc 3804 @ args = 0, pretend = 0, frame = 0 3805 @ frame_needed = 0, uses_anonymous_args = 0 3806 @ link register save eliminated. 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3807 .loc 1 1856 3 view .LVU1341 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3808 .loc 1 1856 11 is_stmt 0 view .LVU1342 3809 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3810 .loc 1 1856 6 view .LVU1343 3811 0004 202B cmp r3, #32 3812 0006 2DD1 bne .L344 3813 0008 5FFA83FC uxtb ip, r3 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3814 .loc 1 1859 5 is_stmt 1 view .LVU1344 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 221 3815 .loc 1 1859 5 view .LVU1345 3816 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3817 0010 012B cmp r3, #1 3818 0012 27D0 beq .L344 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3819 .loc 1 1859 5 discriminator 2 view .LVU1346 3820 0014 0123 movs r3, #1 1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3821 .loc 1 1855 1 is_stmt 0 discriminator 2 view .LVU1347 3822 0016 10B4 push {r4} 3823 .LCFI51: 3824 .cfi_def_cfa_offset 4 3825 .cfi_offset 4, -4 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3826 .loc 1 1859 5 discriminator 2 view .LVU1348 3827 0018 80F84030 strb r3, [r0, #64] 1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3828 .loc 1 1859 5 is_stmt 1 discriminator 2 view .LVU1349 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3829 .loc 1 1861 5 discriminator 2 view .LVU1350 1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3830 .loc 1 1861 23 is_stmt 0 discriminator 2 view .LVU1351 3831 001c 2123 movs r3, #33 3832 001e 80F84130 strb r3, [r0, #65] 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3833 .loc 1 1862 5 is_stmt 1 discriminator 2 view .LVU1352 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3834 .loc 1 1866 9 is_stmt 0 discriminator 2 view .LVU1353 3835 0022 0468 ldr r4, [r0] 1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3836 .loc 1 1862 23 discriminator 2 view .LVU1354 3837 0024 80F842C0 strb ip, [r0, #66] 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3838 .loc 1 1863 5 is_stmt 1 discriminator 2 view .LVU1355 1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3839 .loc 1 1863 23 is_stmt 0 discriminator 2 view .LVU1356 3840 0028 0023 movs r3, #0 3841 002a 4364 str r3, [r0, #68] 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3842 .loc 1 1866 5 is_stmt 1 discriminator 2 view .LVU1357 1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3843 .loc 1 1866 25 is_stmt 0 discriminator 2 view .LVU1358 3844 002c 6368 ldr r3, [r4, #4] 3845 002e 23F40043 bic r3, r3, #32768 3846 0032 6360 str r3, [r4, #4] 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3847 .loc 1 1869 5 is_stmt 1 discriminator 2 view .LVU1359 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3848 .loc 1 1870 23 is_stmt 0 discriminator 2 view .LVU1360 3849 0034 4285 strh r2, [r0, #42] @ movhi 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3850 .loc 1 1872 23 discriminator 2 view .LVU1361 3851 0036 124A ldr r2, .L350 3852 .LVL250: 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3853 .loc 1 1871 29 discriminator 2 view .LVU1362 3854 0038 438D ldrh r3, [r0, #42] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 222 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3855 .loc 1 1872 23 discriminator 2 view .LVU1363 3856 003a C262 str r2, [r0, #44] 3857 .LVL251: 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3858 .loc 1 1873 23 discriminator 2 view .LVU1364 3859 003c 114A ldr r2, .L350+4 3860 003e 4263 str r2, [r0, #52] 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3861 .loc 1 1876 8 discriminator 2 view .LVU1365 3862 0040 026A ldr r2, [r0, #32] 1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 3863 .loc 1 1869 23 discriminator 2 view .LVU1366 3864 0042 4162 str r1, [r0, #36] 1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 3865 .loc 1 1870 5 is_stmt 1 discriminator 2 view .LVU1367 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3866 .loc 1 1871 5 discriminator 2 view .LVU1368 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3867 .loc 1 1871 29 is_stmt 0 discriminator 2 view .LVU1369 3868 0044 9BB2 uxth r3, r3 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3869 .loc 1 1876 8 discriminator 2 view .LVU1370 3870 0046 B2F5003F cmp r2, #131072 1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 3871 .loc 1 1871 23 discriminator 2 view .LVU1371 3872 004a 0385 strh r3, [r0, #40] @ movhi 1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 3873 .loc 1 1872 5 is_stmt 1 discriminator 2 view .LVU1372 1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3874 .loc 1 1873 5 discriminator 2 view .LVU1373 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3875 .loc 1 1876 5 discriminator 2 view .LVU1374 1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3876 .loc 1 1876 8 is_stmt 0 discriminator 2 view .LVU1375 3877 004c 0CD0 beq .L349 3878 .LVL252: 3879 .L342: 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3880 .loc 1 1890 5 is_stmt 1 view .LVU1376 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3881 .loc 1 1890 5 view .LVU1377 3882 004e 0023 movs r3, #0 3883 0050 80F84030 strb r3, [r0, #64] 1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3884 .loc 1 1890 5 view .LVU1378 1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3885 .loc 1 1900 5 view .LVU1379 3886 .LVL253: 3887 .LBB130: 3888 .LBI130: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3889 .loc 1 7360 13 view .LVU1380 3890 .LBB131: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3891 .loc 1 7362 3 view .LVU1381 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 223 3892 .loc 1 7364 3 view .LVU1382 3893 .loc 1 7441 3 view .LVU1383 3894 0054 2268 ldr r2, [r4] 3895 0056 42F0FA02 orr r2, r2, #250 3896 .LBE131: 3897 .LBE130: 1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3898 .loc 1 1902 12 is_stmt 0 view .LVU1384 3899 005a 1846 mov r0, r3 3900 .LVL254: 3901 .LBB133: 3902 .LBB132: 3903 .loc 1 7441 3 view .LVU1385 3904 005c 2260 str r2, [r4] 3905 .LVL255: 3906 .loc 1 7441 3 view .LVU1386 3907 .LBE132: 3908 .LBE133: 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3909 .loc 1 1908 1 view .LVU1387 3910 005e 5DF8044B ldr r4, [sp], #4 3911 .LCFI52: 3912 .cfi_restore 4 3913 .cfi_def_cfa_offset 0 3914 0062 7047 bx lr 3915 .LVL256: 3916 .L344: 1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3917 .loc 1 1906 12 view .LVU1388 3918 0064 0220 movs r0, #2 3919 .LVL257: 1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3920 .loc 1 1908 1 view .LVU1389 3921 0066 7047 bx lr 3922 .LVL258: 3923 .L349: 3924 .LCFI53: 3925 .cfi_def_cfa_offset 4 3926 .cfi_offset 4, -4 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3927 .loc 1 1880 7 is_stmt 1 view .LVU1390 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3928 .loc 1 1880 30 is_stmt 0 view .LVU1391 3929 0068 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 3930 .LVL259: 1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3931 .loc 1 1880 28 view .LVU1392 3932 006c A262 str r2, [r4, #40] 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3933 .loc 1 1883 7 is_stmt 1 view .LVU1393 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3934 .loc 1 1885 11 is_stmt 0 view .LVU1394 3935 006e 428D ldrh r2, [r0, #42] 1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3936 .loc 1 1883 21 view .LVU1395 3937 0070 4162 str r1, [r0, #36] 3938 .LVL260: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 224 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3939 .loc 1 1885 7 is_stmt 1 view .LVU1396 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3940 .loc 1 1885 22 is_stmt 0 view .LVU1397 3941 0072 013A subs r2, r2, #1 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3942 .loc 1 1886 21 view .LVU1398 3943 0074 013B subs r3, r3, #1 1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 3944 .loc 1 1885 22 view .LVU1399 3945 0076 92B2 uxth r2, r2 3946 0078 4285 strh r2, [r0, #42] @ movhi 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3947 .loc 1 1886 7 is_stmt 1 view .LVU1400 1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 3948 .loc 1 1886 21 is_stmt 0 view .LVU1401 3949 007a 0385 strh r3, [r0, #40] @ movhi 3950 007c E7E7 b .L342 3951 .L351: 3952 007e 00BF .align 2 3953 .L350: 3954 0080 0000FFFF .word -65536 3955 0084 00000000 .word I2C_Slave_ISR_IT 3956 .cfi_endproc 3957 .LFE140: 3959 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits 3960 .align 1 3961 .p2align 2,,3 3962 .global HAL_I2C_Slave_Receive_IT 3963 .syntax unified 3964 .thumb 3965 .thumb_func 3967 HAL_I2C_Slave_Receive_IT: 3968 .LVL261: 3969 .LFB141: 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3970 .loc 1 1919 1 is_stmt 1 view -0 3971 .cfi_startproc 3972 @ args = 0, pretend = 0, frame = 0 3973 @ frame_needed = 0, uses_anonymous_args = 0 3974 @ link register save eliminated. 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3975 .loc 1 1920 3 view .LVU1403 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3976 .loc 1 1920 11 is_stmt 0 view .LVU1404 3977 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 3978 .loc 1 1920 6 view .LVU1405 3979 0004 202B cmp r3, #32 3980 0006 25D1 bne .L354 1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 3981 .loc 1 1919 1 view .LVU1406 3982 0008 30B4 push {r4, r5} 3983 .LCFI54: 3984 .cfi_def_cfa_offset 8 3985 .cfi_offset 4, -8 3986 .cfi_offset 5, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 225 3987 000a DDB2 uxtb r5, r3 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3988 .loc 1 1923 5 is_stmt 1 view .LVU1407 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3989 .loc 1 1923 5 view .LVU1408 3990 000c 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 3991 0010 012B cmp r3, #1 3992 0012 1CD0 beq .L355 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3993 .loc 1 1923 5 discriminator 2 view .LVU1409 1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 3994 .loc 1 1923 5 discriminator 2 view .LVU1410 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3995 .loc 1 1925 5 discriminator 2 view .LVU1411 1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 3996 .loc 1 1925 23 is_stmt 0 discriminator 2 view .LVU1412 3997 0014 2223 movs r3, #34 3998 0016 80F84130 strb r3, [r0, #65] 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 3999 .loc 1 1926 5 is_stmt 1 discriminator 2 view .LVU1413 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4000 .loc 1 1930 9 is_stmt 0 discriminator 2 view .LVU1414 4001 001a 0468 ldr r4, [r0] 1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4002 .loc 1 1926 23 discriminator 2 view .LVU1415 4003 001c 80F84250 strb r5, [r0, #66] 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4004 .loc 1 1927 5 is_stmt 1 discriminator 2 view .LVU1416 1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4005 .loc 1 1927 23 is_stmt 0 discriminator 2 view .LVU1417 4006 0020 0023 movs r3, #0 4007 0022 4364 str r3, [r0, #68] 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4008 .loc 1 1930 5 is_stmt 1 discriminator 2 view .LVU1418 1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4009 .loc 1 1930 25 is_stmt 0 discriminator 2 view .LVU1419 4010 0024 6568 ldr r5, [r4, #4] 4011 0026 25F40045 bic r5, r5, #32768 4012 002a 6560 str r5, [r4, #4] 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4013 .loc 1 1933 5 is_stmt 1 discriminator 2 view .LVU1420 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4014 .loc 1 1934 23 is_stmt 0 discriminator 2 view .LVU1421 4015 002c 4285 strh r2, [r0, #42] @ movhi 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4016 .loc 1 1935 29 discriminator 2 view .LVU1422 4017 002e 428D ldrh r2, [r0, #42] 4018 .LVL262: 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4019 .loc 1 1935 23 discriminator 2 view .LVU1423 4020 0030 0285 strh r2, [r0, #40] @ movhi 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4021 .loc 1 1936 23 discriminator 2 view .LVU1424 4022 0032 094A ldr r2, .L360 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4023 .loc 1 1940 5 discriminator 2 view .LVU1425 4024 0034 80F84030 strb r3, [r0, #64] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 226 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4025 .loc 1 1936 23 discriminator 2 view .LVU1426 4026 0038 C262 str r2, [r0, #44] 4027 .LVL263: 4028 .LBB136: 4029 .LBB137: 4030 .loc 1 7441 3 discriminator 2 view .LVU1427 4031 003a 2268 ldr r2, [r4] 4032 .LBE137: 4033 .LBE136: 1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4034 .loc 1 1933 23 discriminator 2 view .LVU1428 4035 003c 4162 str r1, [r0, #36] 1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 4036 .loc 1 1934 5 is_stmt 1 discriminator 2 view .LVU1429 1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4037 .loc 1 1935 5 discriminator 2 view .LVU1430 1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 4038 .loc 1 1936 5 discriminator 2 view .LVU1431 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4039 .loc 1 1937 5 discriminator 2 view .LVU1432 4040 .LBB141: 4041 .LBB138: 4042 .loc 1 7441 3 is_stmt 0 discriminator 2 view .LVU1433 4043 003e 42F0FC02 orr r2, r2, #252 4044 .LBE138: 4045 .LBE141: 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4046 .loc 1 1937 23 discriminator 2 view .LVU1434 4047 0042 0649 ldr r1, .L360+4 4048 .LVL264: 1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4049 .loc 1 1937 23 discriminator 2 view .LVU1435 4050 0044 4163 str r1, [r0, #52] 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4051 .loc 1 1940 5 is_stmt 1 discriminator 2 view .LVU1436 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4052 .loc 1 1940 5 discriminator 2 view .LVU1437 1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4053 .loc 1 1940 5 discriminator 2 view .LVU1438 1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4054 .loc 1 1950 5 discriminator 2 view .LVU1439 4055 .LVL265: 4056 .LBB142: 4057 .LBI136: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4058 .loc 1 7360 13 discriminator 2 view .LVU1440 4059 .LBB139: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4060 .loc 1 7362 3 discriminator 2 view .LVU1441 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 4061 .loc 1 7364 3 discriminator 2 view .LVU1442 4062 .loc 1 7441 3 discriminator 2 view .LVU1443 4063 .LBE139: 4064 .LBE142: 1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4065 .loc 1 1952 12 is_stmt 0 discriminator 2 view .LVU1444 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 227 4066 0046 1846 mov r0, r3 4067 .LVL266: 4068 .LBB143: 4069 .LBB140: 4070 .loc 1 7441 3 discriminator 2 view .LVU1445 4071 0048 2260 str r2, [r4] 4072 .LVL267: 4073 .loc 1 7441 3 discriminator 2 view .LVU1446 4074 .LBE140: 4075 .LBE143: 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4076 .loc 1 1958 1 discriminator 2 view .LVU1447 4077 004a 30BC pop {r4, r5} 4078 .LCFI55: 4079 .cfi_remember_state 4080 .cfi_restore 5 4081 .cfi_restore 4 4082 .cfi_def_cfa_offset 0 4083 004c 7047 bx lr 4084 .LVL268: 4085 .L355: 4086 .LCFI56: 4087 .cfi_restore_state 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4088 .loc 1 1956 12 view .LVU1448 4089 004e 0220 movs r0, #2 4090 .LVL269: 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4091 .loc 1 1958 1 view .LVU1449 4092 0050 30BC pop {r4, r5} 4093 .LCFI57: 4094 .cfi_restore 5 4095 .cfi_restore 4 4096 .cfi_def_cfa_offset 0 4097 0052 7047 bx lr 4098 .LVL270: 4099 .L354: 1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4100 .loc 1 1956 12 view .LVU1450 4101 0054 0220 movs r0, #2 4102 .LVL271: 1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4103 .loc 1 1958 1 view .LVU1451 4104 0056 7047 bx lr 4105 .L361: 4106 .align 2 4107 .L360: 4108 0058 0000FFFF .word -65536 4109 005c 00000000 .word I2C_Slave_ISR_IT 4110 .cfi_endproc 4111 .LFE141: 4113 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits 4114 .align 1 4115 .p2align 2,,3 4116 .global HAL_I2C_Master_Transmit_DMA 4117 .syntax unified 4118 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 228 4119 .thumb_func 4121 HAL_I2C_Master_Transmit_DMA: 4122 .LVL272: 4123 .LFB142: 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4124 .loc 1 1972 1 is_stmt 1 view -0 4125 .cfi_startproc 4126 @ args = 0, pretend = 0, frame = 0 4127 @ frame_needed = 0, uses_anonymous_args = 0 1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4128 .loc 1 1973 3 view .LVU1453 1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 4129 .loc 1 1974 3 view .LVU1454 1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4130 .loc 1 1975 3 view .LVU1455 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4131 .loc 1 1977 3 view .LVU1456 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4132 .loc 1 1972 1 is_stmt 0 view .LVU1457 4133 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 4134 .LCFI58: 4135 .cfi_def_cfa_offset 24 4136 .cfi_offset 4, -24 4137 .cfi_offset 5, -20 4138 .cfi_offset 6, -16 4139 .cfi_offset 7, -12 4140 .cfi_offset 8, -8 4141 .cfi_offset 14, -4 4142 0004 0446 mov r4, r0 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4143 .loc 1 1977 11 view .LVU1458 4144 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4145 .LVL273: 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4146 .loc 1 1977 6 view .LVU1459 4147 000a 2028 cmp r0, #32 1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4148 .loc 1 1972 1 view .LVU1460 4149 000c 82B0 sub sp, sp, #8 4150 .LCFI59: 4151 .cfi_def_cfa_offset 32 1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4152 .loc 1 1977 6 view .LVU1461 4153 000e 45D1 bne .L373 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4154 .loc 1 1979 5 is_stmt 1 view .LVU1462 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4155 .loc 1 1979 9 is_stmt 0 view .LVU1463 4156 0010 2768 ldr r7, [r4] 4157 0012 BD69 ldr r5, [r7, #24] 1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4158 .loc 1 1979 8 view .LVU1464 4159 0014 15F40045 ands r5, r5, #32768 4160 0018 40D1 bne .L373 4161 001a 0E46 mov r6, r1 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4162 .loc 1 1985 5 is_stmt 1 view .LVU1465 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 229 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4163 .loc 1 1985 5 view .LVU1466 4164 001c 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 4165 .LVL274: 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4166 .loc 1 1985 5 is_stmt 0 view .LVU1467 4167 0020 0129 cmp r1, #1 4168 0022 3BD0 beq .L373 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4169 .loc 1 1985 5 is_stmt 1 discriminator 2 view .LVU1468 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4170 .loc 1 1987 23 is_stmt 0 discriminator 2 view .LVU1469 4171 0024 2120 movs r0, #33 4172 0026 84F84100 strb r0, [r4, #65] 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4173 .loc 1 1994 23 discriminator 2 view .LVU1470 4174 002a 5649 ldr r1, .L383 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4175 .loc 1 1992 23 discriminator 2 view .LVU1471 4176 002c 6262 str r2, [r4, #36] 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4177 .loc 1 1988 23 discriminator 2 view .LVU1472 4178 002e 1020 movs r0, #16 4179 0030 84F84200 strb r0, [r4, #66] 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4180 .loc 1 1989 23 discriminator 2 view .LVU1473 4181 0034 6564 str r5, [r4, #68] 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4182 .loc 1 1993 23 discriminator 2 view .LVU1474 4183 0036 6385 strh r3, [r4, #42] @ movhi 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4184 .loc 1 1994 23 discriminator 2 view .LVU1475 4185 0038 E162 str r1, [r4, #44] 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4186 .loc 1 1997 13 discriminator 2 view .LVU1476 4187 003a 638D ldrh r3, [r4, #42] 4188 .LVL275: 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4189 .loc 1 1995 23 discriminator 2 view .LVU1477 4190 003c 5249 ldr r1, .L383+4 4191 003e 6163 str r1, [r4, #52] 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4192 .loc 1 1997 13 discriminator 2 view .LVU1478 4193 0040 9BB2 uxth r3, r3 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4194 .loc 1 1985 5 discriminator 2 view .LVU1479 4195 0042 0121 movs r1, #1 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4196 .loc 1 1997 8 discriminator 2 view .LVU1480 4197 0044 FF2B cmp r3, #255 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4198 .loc 1 1985 5 discriminator 2 view .LVU1481 4199 0046 84F84010 strb r1, [r4, #64] 1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4200 .loc 1 1985 5 is_stmt 1 discriminator 2 view .LVU1482 1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4201 .loc 1 1987 5 discriminator 2 view .LVU1483 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 230 1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4202 .loc 1 1988 5 discriminator 2 view .LVU1484 1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4203 .loc 1 1989 5 discriminator 2 view .LVU1485 1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4204 .loc 1 1992 5 discriminator 2 view .LVU1486 1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4205 .loc 1 1993 5 discriminator 2 view .LVU1487 1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4206 .loc 1 1994 5 discriminator 2 view .LVU1488 1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4207 .loc 1 1995 5 discriminator 2 view .LVU1489 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4208 .loc 1 1997 5 discriminator 2 view .LVU1490 1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4209 .loc 1 1997 8 is_stmt 0 discriminator 2 view .LVU1491 4210 004a 2CD8 bhi .L364 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4211 .loc 1 2004 7 is_stmt 1 view .LVU1492 2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4212 .loc 1 2004 28 is_stmt 0 view .LVU1493 4213 004c 608D ldrh r0, [r4, #42] 4214 004e 80B2 uxth r0, r0 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4215 .loc 1 2005 7 is_stmt 1 view .LVU1494 4216 0050 2085 strh r0, [r4, #40] @ movhi 4217 .LVL276: 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4218 .loc 1 2008 5 view .LVU1495 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4219 .loc 1 2008 8 is_stmt 0 view .LVU1496 4220 0052 0028 cmp r0, #0 4221 0054 71D1 bne .L381 4222 .LVL277: 4223 .L365: 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4224 .loc 1 2095 7 is_stmt 1 view .LVU1497 2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4225 .loc 1 2095 21 is_stmt 0 view .LVU1498 4226 0056 4D4B ldr r3, .L383+8 4227 0058 6363 str r3, [r4, #52] 2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_WRITE); 4228 .loc 1 2099 7 is_stmt 1 view .LVU1499 4229 .LVL278: 4230 .LBB150: 4231 .LBI150: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 4232 .loc 1 7333 13 view .LVU1500 4233 .LBB151: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 4234 .loc 1 7337 3 view .LVU1501 4235 005a 4D4B ldr r3, .L383+12 4236 005c 9F42 cmp r7, r3 4237 005e 09D0 beq .L370 4238 0060 03F58063 add r3, r3, #1024 4239 0064 9F42 cmp r7, r3 4240 0066 05D0 beq .L370 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 231 4241 0068 4A48 ldr r0, .L383+16 4242 006a 41F6A941 movw r1, #7337 4243 006e FFF7FEFF bl assert_failed 4244 .LVL279: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4245 .loc 1 7347 3 is_stmt 0 view .LVU1502 4246 0072 2768 ldr r7, [r4] 4247 .L370: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 4248 .loc 1 7338 3 is_stmt 1 view .LVU1503 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4249 .loc 1 7339 3 view .LVU1504 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 4250 .loc 1 7342 3 view .LVU1505 4251 .LVL280: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4252 .loc 1 7347 3 view .LVU1506 4253 0074 7B68 ldr r3, [r7, #4] 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 4254 .loc 1 7342 52 is_stmt 0 view .LVU1507 4255 0076 C6F30901 ubfx r1, r6, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4256 .loc 1 7347 3 view .LVU1508 4257 007a 474E ldr r6, .L383+20 4258 .LVL281: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4259 .loc 1 7347 3 view .LVU1509 4260 007c 1E40 ands r6, r6, r3 4261 007e 3143 orrs r1, r1, r6 4262 0080 2943 orrs r1, r1, r5 4263 0082 41F00071 orr r1, r1, #33554432 4264 .LBE151: 4265 .LBE150: 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4266 .loc 1 2103 7 view .LVU1510 4267 0086 0025 movs r5, #0 4268 .LBB154: 4269 .LBB152: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4270 .loc 1 7347 3 view .LVU1511 4271 0088 41F40051 orr r1, r1, #8192 4272 008c 7960 str r1, [r7, #4] 4273 .LVL282: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4274 .loc 1 7347 3 view .LVU1512 4275 .LBE152: 4276 .LBE154: 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4277 .loc 1 2103 7 is_stmt 1 view .LVU1513 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4278 .loc 1 2103 7 view .LVU1514 4279 008e 84F84050 strb r5, [r4, #64] 2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4280 .loc 1 2103 7 view .LVU1515 2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4281 .loc 1 2112 7 view .LVU1516 4282 .LVL283: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 232 4283 .LBB155: 4284 .LBI155: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4285 .loc 1 7360 13 view .LVU1517 4286 .LBB156: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4287 .loc 1 7362 3 view .LVU1518 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 4288 .loc 1 7364 3 view .LVU1519 4289 .loc 1 7441 3 view .LVU1520 4290 0092 3B68 ldr r3, [r7] 4291 0094 43F0F203 orr r3, r3, #242 4292 0098 3B60 str r3, [r7] 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4293 .loc 1 7442 1 is_stmt 0 view .LVU1521 4294 009a 00E0 b .L379 4295 .LVL284: 4296 .L373: 4297 .loc 1 7442 1 view .LVU1522 4298 .LBE156: 4299 .LBE155: 2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4300 .loc 1 2119 12 view .LVU1523 4301 009c 0225 movs r5, #2 4302 .LVL285: 4303 .L379: 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4304 .loc 1 2121 1 view .LVU1524 4305 009e 2846 mov r0, r5 4306 00a0 02B0 add sp, sp, #8 4307 .LCFI60: 4308 .cfi_remember_state 4309 .cfi_def_cfa_offset 24 4310 @ sp needed 4311 00a2 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4312 .LVL286: 4313 .L364: 4314 .LCFI61: 4315 .cfi_restore_state 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4316 .loc 1 2012 30 view .LVU1525 4317 00a6 1146 mov r1, r2 4318 00a8 FF23 movs r3, #255 4319 00aa 2385 strh r3, [r4, #40] @ movhi 4320 .LVL287: 2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4321 .loc 1 2008 5 is_stmt 1 view .LVU1526 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4322 .loc 1 2012 7 view .LVU1527 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4323 .loc 1 2012 30 is_stmt 0 view .LVU1528 4324 00ac 11F8013B ldrb r3, [r1], #1 @ zero_extendqisi2 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4325 .loc 1 2012 28 view .LVU1529 4326 00b0 BB62 str r3, [r7, #40] 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4327 .loc 1 2015 7 is_stmt 1 view .LVU1530 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 233 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4328 .loc 1 2018 11 is_stmt 0 view .LVU1531 4329 00b2 638D ldrh r3, [r4, #42] 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4330 .loc 1 2015 21 view .LVU1532 4331 00b4 6162 str r1, [r4, #36] 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4332 .loc 1 2017 7 is_stmt 1 view .LVU1533 4333 .LVL288: 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4334 .loc 1 2018 7 view .LVU1534 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4335 .loc 1 2018 22 is_stmt 0 view .LVU1535 4336 00b6 013B subs r3, r3, #1 4337 00b8 9BB2 uxth r3, r3 4338 00ba 6385 strh r3, [r4, #42] @ movhi 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4339 .loc 1 2019 7 is_stmt 1 view .LVU1536 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4340 .loc 1 2019 21 is_stmt 0 view .LVU1537 4341 00bc FE23 movs r3, #254 4342 00be 2385 strh r3, [r4, #40] @ movhi 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4343 .loc 1 2022 5 is_stmt 1 view .LVU1538 2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4344 .loc 1 2000 16 is_stmt 0 view .LVU1539 4345 00c0 4FF08078 mov r8, #16777216 4346 .LVL289: 4347 .L366: 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4348 .loc 1 2024 7 is_stmt 1 view .LVU1540 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4349 .loc 1 2024 15 is_stmt 0 view .LVU1541 4350 00c4 A06B ldr r0, [r4, #56] 2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4351 .loc 1 2024 10 view .LVU1542 4352 00c6 0028 cmp r0, #0 4353 00c8 4BD0 beq .L367 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4354 .loc 1 2027 9 is_stmt 1 view .LVU1543 2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4355 .loc 1 2027 40 is_stmt 0 view .LVU1544 4356 00ca 344D ldr r5, .L383+24 4357 00cc 8562 str r5, [r0, #40] 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4358 .loc 1 2030 9 is_stmt 1 view .LVU1545 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 4359 .loc 1 2037 25 is_stmt 0 view .LVU1546 4360 00ce 07F12802 add r2, r7, #40 2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4361 .loc 1 2030 41 view .LVU1547 4362 00d2 334D ldr r5, .L383+28 4363 00d4 0563 str r5, [r0, #48] 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4364 .loc 1 2033 9 is_stmt 1 view .LVU1548 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4365 .loc 1 2034 9 view .LVU1549 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 234 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 4366 .loc 1 2037 9 view .LVU1550 2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 4367 .loc 1 2033 44 is_stmt 0 view .LVU1551 4368 00d6 0027 movs r7, #0 4369 00d8 C762 str r7, [r0, #44] 2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4370 .loc 1 2034 41 view .LVU1552 4371 00da 4763 str r7, [r0, #52] 2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 4372 .loc 1 2037 25 view .LVU1553 4373 00dc FFF7FEFF bl HAL_DMA_Start_IT 4374 .LVL290: 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4375 .loc 1 2055 7 is_stmt 1 view .LVU1554 2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4376 .loc 1 2055 10 is_stmt 0 view .LVU1555 4377 00e0 0546 mov r5, r0 4378 00e2 78B1 cbz r0, .L382 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4379 .loc 1 2080 9 is_stmt 1 view .LVU1556 2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4380 .loc 1 2080 25 is_stmt 0 view .LVU1557 4381 00e4 2023 movs r3, #32 4382 00e6 84F84130 strb r3, [r4, #65] 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4383 .loc 1 2081 9 is_stmt 1 view .LVU1558 2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4384 .loc 1 2081 25 is_stmt 0 view .LVU1559 4385 00ea 84F84270 strb r7, [r4, #66] 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4386 .loc 1 2084 9 is_stmt 1 view .LVU1560 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4387 .loc 1 2084 25 is_stmt 0 view .LVU1561 4388 00ee 636C ldr r3, [r4, #68] 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4389 .loc 1 2087 9 view .LVU1562 4390 00f0 84F84070 strb r7, [r4, #64] 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4391 .loc 1 2089 16 view .LVU1563 4392 00f4 0125 movs r5, #1 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4393 .loc 1 2084 25 view .LVU1564 4394 00f6 43F01003 orr r3, r3, #16 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4395 .loc 1 2121 1 view .LVU1565 4396 00fa 2846 mov r0, r5 4397 .LVL291: 2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4398 .loc 1 2084 25 view .LVU1566 4399 00fc 6364 str r3, [r4, #68] 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4400 .loc 1 2087 9 is_stmt 1 view .LVU1567 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4401 .loc 1 2087 9 view .LVU1568 2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4402 .loc 1 2087 9 view .LVU1569 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 235 2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4403 .loc 1 2089 9 view .LVU1570 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4404 .loc 1 2121 1 is_stmt 0 view .LVU1571 4405 00fe 02B0 add sp, sp, #8 4406 .LCFI62: 4407 .cfi_remember_state 4408 .cfi_def_cfa_offset 24 4409 @ sp needed 4410 0100 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4411 .LVL292: 4412 .L382: 4413 .LCFI63: 4414 .cfi_restore_state 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE); 4415 .loc 1 2059 9 is_stmt 1 view .LVU1572 4416 0104 228D ldrh r2, [r4, #40] 4417 0106 2748 ldr r0, .L383+32 4418 .LVL293: 2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode, I2C_GENERATE_START_WRITE); 4419 .loc 1 2059 9 is_stmt 0 view .LVU1573 4420 0108 0090 str r0, [sp] 4421 010a 0132 adds r2, r2, #1 4422 010c 4346 mov r3, r8 4423 010e D2B2 uxtb r2, r2 4424 0110 3146 mov r1, r6 4425 0112 2046 mov r0, r4 4426 0114 FFF7FEFF bl I2C_TransferConfig 4427 .LVL294: 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4428 .loc 1 2063 9 is_stmt 1 view .LVU1574 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4429 .loc 1 2063 25 is_stmt 0 view .LVU1575 4430 0118 638D ldrh r3, [r4, #42] 4431 011a 218D ldrh r1, [r4, #40] 4432 .LBB157: 4433 .LBB158: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4434 .loc 1 7441 3 view .LVU1576 4435 011c 2268 ldr r2, [r4] 4436 .LBE158: 4437 .LBE157: 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4438 .loc 1 2066 9 view .LVU1577 4439 011e 84F84050 strb r5, [r4, #64] 2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4440 .loc 1 2063 25 view .LVU1578 4441 0122 5B1A subs r3, r3, r1 4442 0124 9BB2 uxth r3, r3 4443 0126 6385 strh r3, [r4, #42] @ movhi 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4444 .loc 1 2066 9 is_stmt 1 view .LVU1579 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4445 .loc 1 2066 9 view .LVU1580 2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4446 .loc 1 2066 9 view .LVU1581 2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 236 4447 .loc 1 2072 9 view .LVU1582 4448 .LVL295: 4449 .LBB160: 4450 .LBI157: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4451 .loc 1 7360 13 view .LVU1583 4452 .LBB159: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4453 .loc 1 7362 3 view .LVU1584 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 4454 .loc 1 7364 3 view .LVU1585 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4455 .loc 1 7441 3 view .LVU1586 4456 0128 1368 ldr r3, [r2] 4457 012a 43F09003 orr r3, r3, #144 4458 012e 1360 str r3, [r2] 4459 .LVL296: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4460 .loc 1 7441 3 is_stmt 0 view .LVU1587 4461 .LBE159: 4462 .LBE160: 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4463 .loc 1 2075 9 is_stmt 1 view .LVU1588 2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4464 .loc 1 2075 29 is_stmt 0 view .LVU1589 4465 0130 1368 ldr r3, [r2] 4466 0132 43F48043 orr r3, r3, #16384 4467 0136 1360 str r3, [r2] 4468 0138 B1E7 b .L379 4469 .LVL297: 4470 .L381: 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4471 .loc 1 2012 30 view .LVU1590 4472 013a 1146 mov r1, r2 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4473 .loc 1 2019 21 view .LVU1591 4474 013c 431E subs r3, r0, #1 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4475 .loc 1 2012 30 view .LVU1592 4476 013e 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 4477 .LVL298: 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4478 .loc 1 2012 28 view .LVU1593 4479 0142 BA62 str r2, [r7, #40] 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4480 .loc 1 2018 11 view .LVU1594 4481 0144 628D ldrh r2, [r4, #42] 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4482 .loc 1 2015 21 view .LVU1595 4483 0146 6162 str r1, [r4, #36] 4484 .LVL299: 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4485 .loc 1 2018 22 view .LVU1596 4486 0148 013A subs r2, r2, #1 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4487 .loc 1 2019 21 view .LVU1597 4488 014a 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 237 2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4489 .loc 1 2012 7 is_stmt 1 view .LVU1598 2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4490 .loc 1 2015 7 view .LVU1599 2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 4491 .loc 1 2017 7 view .LVU1600 4492 .LVL300: 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4493 .loc 1 2018 7 view .LVU1601 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4494 .loc 1 2018 22 is_stmt 0 view .LVU1602 4495 014c 92B2 uxth r2, r2 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4496 .loc 1 2019 21 view .LVU1603 4497 014e 2385 strh r3, [r4, #40] @ movhi 2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 4498 .loc 1 2018 22 view .LVU1604 4499 0150 6285 strh r2, [r4, #42] @ movhi 2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4500 .loc 1 2019 7 is_stmt 1 view .LVU1605 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4501 .loc 1 2022 5 view .LVU1606 2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4502 .loc 1 2005 16 is_stmt 0 view .LVU1607 4503 0152 4FF00078 mov r8, #33554432 2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4504 .loc 1 2022 8 view .LVU1608 4505 0156 002B cmp r3, #0 4506 0158 B4D1 bne .L366 4507 .LBB161: 4508 .LBB153: 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); 4509 .loc 1 7343 47 view .LVU1609 4510 015a 0104 lsls r1, r0, #16 4511 .LVL301: 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); 4512 .loc 1 7343 47 view .LVU1610 4513 015c 01F47F05 and r5, r1, #16711680 4514 0160 79E7 b .L365 4515 .LVL302: 4516 .L367: 7343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)Mode | (uint32_t)Request) & (~0x80000000U)); 4517 .loc 1 7343 47 view .LVU1611 4518 .LBE153: 4519 .LBE161: 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4520 .loc 1 2043 9 is_stmt 1 view .LVU1612 2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4521 .loc 1 2043 25 is_stmt 0 view .LVU1613 4522 0162 2023 movs r3, #32 4523 0164 84F84130 strb r3, [r4, #65] 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4524 .loc 1 2044 9 is_stmt 1 view .LVU1614 2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4525 .loc 1 2044 25 is_stmt 0 view .LVU1615 4526 0168 84F84200 strb r0, [r4, #66] 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 238 4527 .loc 1 2047 9 is_stmt 1 view .LVU1616 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4528 .loc 1 2047 25 is_stmt 0 view .LVU1617 4529 016c 636C ldr r3, [r4, #68] 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4530 .loc 1 2050 9 view .LVU1618 4531 016e 84F84000 strb r0, [r4, #64] 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4532 .loc 1 2052 16 view .LVU1619 4533 0172 0125 movs r5, #1 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4534 .loc 1 2047 25 view .LVU1620 4535 0174 43F08003 orr r3, r3, #128 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4536 .loc 1 2121 1 view .LVU1621 4537 0178 2846 mov r0, r5 2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4538 .loc 1 2047 25 view .LVU1622 4539 017a 6364 str r3, [r4, #68] 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4540 .loc 1 2050 9 is_stmt 1 view .LVU1623 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4541 .loc 1 2050 9 view .LVU1624 2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4542 .loc 1 2050 9 view .LVU1625 2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4543 .loc 1 2052 9 view .LVU1626 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4544 .loc 1 2121 1 is_stmt 0 view .LVU1627 4545 017c 02B0 add sp, sp, #8 4546 .LCFI64: 4547 .cfi_def_cfa_offset 24 4548 @ sp needed 4549 017e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4550 .LVL303: 4551 .L384: 2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4552 .loc 1 2121 1 view .LVU1628 4553 0182 00BF .align 2 4554 .L383: 4555 0184 0000FFFF .word -65536 4556 0188 00000000 .word I2C_Master_ISR_DMA 4557 018c 00000000 .word I2C_Master_ISR_IT 4558 0190 00540040 .word 1073763328 4559 0194 00000000 .word .LC0 4560 0198 009800FC .word -67069952 4561 019c 00000000 .word I2C_DMAMasterTransmitCplt 4562 01a0 00000000 .word I2C_DMAError 4563 01a4 00200080 .word -2147475456 4564 .cfi_endproc 4565 .LFE142: 4567 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits 4568 .align 1 4569 .p2align 2,,3 4570 .global HAL_I2C_Master_Receive_DMA 4571 .syntax unified 4572 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 239 4573 .thumb_func 4575 HAL_I2C_Master_Receive_DMA: 4576 .LVL304: 4577 .LFB143: 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4578 .loc 1 2135 1 is_stmt 1 view -0 4579 .cfi_startproc 4580 @ args = 0, pretend = 0, frame = 0 4581 @ frame_needed = 0, uses_anonymous_args = 0 2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4582 .loc 1 2136 3 view .LVU1630 2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4583 .loc 1 2137 3 view .LVU1631 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4584 .loc 1 2139 3 view .LVU1632 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4585 .loc 1 2135 1 is_stmt 0 view .LVU1633 4586 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 4587 .LCFI65: 4588 .cfi_def_cfa_offset 24 4589 .cfi_offset 4, -24 4590 .cfi_offset 5, -20 4591 .cfi_offset 6, -16 4592 .cfi_offset 7, -12 4593 .cfi_offset 8, -8 4594 .cfi_offset 14, -4 4595 0004 0446 mov r4, r0 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4596 .loc 1 2139 11 view .LVU1634 4597 0006 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 4598 .LVL305: 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4599 .loc 1 2139 6 view .LVU1635 4600 000a 2028 cmp r0, #32 2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 4601 .loc 1 2135 1 view .LVU1636 4602 000c 82B0 sub sp, sp, #8 4603 .LCFI66: 4604 .cfi_def_cfa_offset 32 2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4605 .loc 1 2139 6 view .LVU1637 4606 000e 38D1 bne .L396 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4607 .loc 1 2141 5 is_stmt 1 view .LVU1638 4608 0010 0D46 mov r5, r1 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4609 .loc 1 2141 9 is_stmt 0 view .LVU1639 4610 0012 2168 ldr r1, [r4] 4611 .LVL306: 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4612 .loc 1 2141 9 view .LVU1640 4613 0014 8869 ldr r0, [r1, #24] 2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4614 .loc 1 2141 8 view .LVU1641 4615 0016 10F40040 ands r0, r0, #32768 4616 001a 32D1 bne .L396 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 240 4617 .loc 1 2147 5 is_stmt 1 view .LVU1642 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4618 .loc 1 2147 5 view .LVU1643 4619 001c 94F84060 ldrb r6, [r4, #64] @ zero_extendqisi2 4620 0020 012E cmp r6, #1 4621 0022 2ED0 beq .L396 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4622 .loc 1 2147 5 discriminator 2 view .LVU1644 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4623 .loc 1 2149 23 is_stmt 0 discriminator 2 view .LVU1645 4624 0024 4FF0220C mov ip, #34 4625 0028 84F841C0 strb ip, [r4, #65] 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4626 .loc 1 2156 23 discriminator 2 view .LVU1646 4627 002c 484E ldr r6, .L402 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4628 .loc 1 2154 23 discriminator 2 view .LVU1647 4629 002e 6262 str r2, [r4, #36] 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4630 .loc 1 2150 23 discriminator 2 view .LVU1648 4631 0030 4FF0100C mov ip, #16 4632 0034 84F842C0 strb ip, [r4, #66] 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4633 .loc 1 2151 23 discriminator 2 view .LVU1649 4634 0038 6064 str r0, [r4, #68] 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4635 .loc 1 2155 23 discriminator 2 view .LVU1650 4636 003a 6385 strh r3, [r4, #42] @ movhi 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4637 .loc 1 2156 23 discriminator 2 view .LVU1651 4638 003c E662 str r6, [r4, #44] 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4639 .loc 1 2159 13 discriminator 2 view .LVU1652 4640 003e 608D ldrh r0, [r4, #42] 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4641 .loc 1 2157 23 discriminator 2 view .LVU1653 4642 0040 444B ldr r3, .L402+4 4643 .LVL307: 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4644 .loc 1 2157 23 discriminator 2 view .LVU1654 4645 0042 6363 str r3, [r4, #52] 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4646 .loc 1 2159 13 discriminator 2 view .LVU1655 4647 0044 80B2 uxth r0, r0 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4648 .loc 1 2147 5 discriminator 2 view .LVU1656 4649 0046 0123 movs r3, #1 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4650 .loc 1 2159 8 discriminator 2 view .LVU1657 4651 0048 FF28 cmp r0, #255 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4652 .loc 1 2147 5 discriminator 2 view .LVU1658 4653 004a 84F84030 strb r3, [r4, #64] 2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4654 .loc 1 2147 5 is_stmt 1 discriminator 2 view .LVU1659 2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 4655 .loc 1 2149 5 discriminator 2 view .LVU1660 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 241 2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 4656 .loc 1 2150 5 discriminator 2 view .LVU1661 2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4657 .loc 1 2151 5 discriminator 2 view .LVU1662 2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 4658 .loc 1 2154 5 discriminator 2 view .LVU1663 2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 4659 .loc 1 2155 5 discriminator 2 view .LVU1664 2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 4660 .loc 1 2156 5 discriminator 2 view .LVU1665 2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4661 .loc 1 2157 5 discriminator 2 view .LVU1666 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4662 .loc 1 2159 5 discriminator 2 view .LVU1667 2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4663 .loc 1 2159 8 is_stmt 0 discriminator 2 view .LVU1668 4664 004e 1DD8 bhi .L387 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4665 .loc 1 2166 7 is_stmt 1 view .LVU1669 2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE; 4666 .loc 1 2166 28 is_stmt 0 view .LVU1670 4667 0050 638D ldrh r3, [r4, #42] 4668 0052 9BB2 uxth r3, r3 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4669 .loc 1 2167 7 is_stmt 1 view .LVU1671 4670 0054 2385 strh r3, [r4, #40] @ movhi 4671 .LVL308: 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4672 .loc 1 2170 5 view .LVU1672 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4673 .loc 1 2170 8 is_stmt 0 view .LVU1673 4674 0056 002B cmp r3, #0 4675 0058 3DD0 beq .L388 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4676 .loc 1 2172 15 view .LVU1674 4677 005a E06B ldr r0, [r4, #60] 2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4678 .loc 1 2167 16 view .LVU1675 4679 005c 4FF00077 mov r7, #33554432 4680 .LVL309: 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4681 .loc 1 2172 7 is_stmt 1 view .LVU1676 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4682 .loc 1 2172 10 is_stmt 0 view .LVU1677 4683 0060 D0B9 cbnz r0, .L400 4684 .L389: 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4685 .loc 1 2191 9 is_stmt 1 view .LVU1678 2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4686 .loc 1 2191 25 is_stmt 0 view .LVU1679 4687 0062 2023 movs r3, #32 4688 0064 84F84130 strb r3, [r4, #65] 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4689 .loc 1 2192 9 is_stmt 1 view .LVU1680 2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4690 .loc 1 2192 25 is_stmt 0 view .LVU1681 4691 0068 84F84200 strb r0, [r4, #66] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 242 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4692 .loc 1 2195 9 is_stmt 1 view .LVU1682 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4693 .loc 1 2195 25 is_stmt 0 view .LVU1683 4694 006c 636C ldr r3, [r4, #68] 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4695 .loc 1 2198 9 view .LVU1684 4696 006e 84F84000 strb r0, [r4, #64] 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4697 .loc 1 2200 16 view .LVU1685 4698 0072 0126 movs r6, #1 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4699 .loc 1 2195 25 view .LVU1686 4700 0074 43F08003 orr r3, r3, #128 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4701 .loc 1 2268 1 view .LVU1687 4702 0078 3046 mov r0, r6 2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4703 .loc 1 2195 25 view .LVU1688 4704 007a 6364 str r3, [r4, #68] 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4705 .loc 1 2198 9 is_stmt 1 view .LVU1689 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4706 .loc 1 2198 9 view .LVU1690 2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4707 .loc 1 2198 9 view .LVU1691 2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4708 .loc 1 2200 9 view .LVU1692 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4709 .loc 1 2268 1 is_stmt 0 view .LVU1693 4710 007c 02B0 add sp, sp, #8 4711 .LCFI67: 4712 .cfi_remember_state 4713 .cfi_def_cfa_offset 24 4714 @ sp needed 4715 007e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4716 .LVL310: 4717 .L396: 4718 .LCFI68: 4719 .cfi_restore_state 2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4720 .loc 1 2266 12 view .LVU1694 4721 0082 0226 movs r6, #2 4722 .LVL311: 4723 .L398: 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4724 .loc 1 2268 1 view .LVU1695 4725 0084 3046 mov r0, r6 4726 0086 02B0 add sp, sp, #8 4727 .LCFI69: 4728 .cfi_remember_state 4729 .cfi_def_cfa_offset 24 4730 @ sp needed 4731 0088 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4732 .LVL312: 4733 .L387: 4734 .LCFI70: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 243 4735 .cfi_restore_state 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4736 .loc 1 2172 15 view .LVU1696 4737 008c E06B ldr r0, [r4, #60] 4738 008e 2385 strh r3, [r4, #40] @ movhi 4739 .LVL313: 2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4740 .loc 1 2170 5 is_stmt 1 view .LVU1697 2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4741 .loc 1 2162 16 is_stmt 0 view .LVU1698 4742 0090 4FF08077 mov r7, #16777216 4743 .LVL314: 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4744 .loc 1 2172 7 is_stmt 1 view .LVU1699 2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4745 .loc 1 2172 10 is_stmt 0 view .LVU1700 4746 0094 0028 cmp r0, #0 4747 0096 E4D0 beq .L389 4748 .L400: 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4749 .loc 1 2175 9 is_stmt 1 view .LVU1701 2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4750 .loc 1 2175 40 is_stmt 0 view .LVU1702 4751 0098 2F4E ldr r6, .L402+8 4752 009a 8662 str r6, [r0, #40] 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4753 .loc 1 2178 9 is_stmt 1 view .LVU1703 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4754 .loc 1 2181 44 is_stmt 0 view .LVU1704 4755 009c 4FF00008 mov r8, #0 2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4756 .loc 1 2178 41 view .LVU1705 4757 00a0 2E4E ldr r6, .L402+12 4758 00a2 0663 str r6, [r0, #48] 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4759 .loc 1 2181 9 is_stmt 1 view .LVU1706 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4760 .loc 1 2182 9 view .LVU1707 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4761 .loc 1 2185 9 view .LVU1708 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4762 .loc 1 2185 25 is_stmt 0 view .LVU1709 4763 00a4 2431 adds r1, r1, #36 2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 4764 .loc 1 2181 44 view .LVU1710 4765 00a6 C0F82C80 str r8, [r0, #44] 2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4766 .loc 1 2182 41 view .LVU1711 4767 00aa C0F83480 str r8, [r0, #52] 2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 4768 .loc 1 2185 25 view .LVU1712 4769 00ae FFF7FEFF bl HAL_DMA_Start_IT 4770 .LVL315: 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4771 .loc 1 2203 7 is_stmt 1 view .LVU1713 2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4772 .loc 1 2203 10 is_stmt 0 view .LVU1714 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 244 4773 00b2 0646 mov r6, r0 4774 00b4 88B3 cbz r0, .L401 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4775 .loc 1 2227 9 is_stmt 1 view .LVU1715 2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 4776 .loc 1 2227 25 is_stmt 0 view .LVU1716 4777 00b6 2023 movs r3, #32 4778 00b8 84F84130 strb r3, [r4, #65] 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4779 .loc 1 2228 9 is_stmt 1 view .LVU1717 2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4780 .loc 1 2228 25 is_stmt 0 view .LVU1718 4781 00bc 84F84280 strb r8, [r4, #66] 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4782 .loc 1 2231 9 is_stmt 1 view .LVU1719 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4783 .loc 1 2231 25 is_stmt 0 view .LVU1720 4784 00c0 636C ldr r3, [r4, #68] 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4785 .loc 1 2234 9 view .LVU1721 4786 00c2 84F84080 strb r8, [r4, #64] 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4787 .loc 1 2236 16 view .LVU1722 4788 00c6 0126 movs r6, #1 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4789 .loc 1 2231 25 view .LVU1723 4790 00c8 43F01003 orr r3, r3, #16 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4791 .loc 1 2268 1 view .LVU1724 4792 00cc 3046 mov r0, r6 4793 .LVL316: 2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4794 .loc 1 2231 25 view .LVU1725 4795 00ce 6364 str r3, [r4, #68] 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4796 .loc 1 2234 9 is_stmt 1 view .LVU1726 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4797 .loc 1 2234 9 view .LVU1727 2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4798 .loc 1 2234 9 view .LVU1728 2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4799 .loc 1 2236 9 view .LVU1729 2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4800 .loc 1 2268 1 is_stmt 0 view .LVU1730 4801 00d0 02B0 add sp, sp, #8 4802 .LCFI71: 4803 .cfi_remember_state 4804 .cfi_def_cfa_offset 24 4805 @ sp needed 4806 00d2 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 4807 .LVL317: 4808 .L388: 4809 .LCFI72: 4810 .cfi_restore_state 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4811 .loc 1 2242 7 is_stmt 1 view .LVU1731 4812 .LBB168: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 245 4813 .LBB169: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 4814 .loc 1 7337 3 is_stmt 0 view .LVU1732 4815 00d6 224B ldr r3, .L402+16 4816 .LBE169: 4817 .LBE168: 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4818 .loc 1 2242 21 view .LVU1733 4819 00d8 224A ldr r2, .L402+20 4820 .LVL318: 2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4821 .loc 1 2242 21 view .LVU1734 4822 00da 6263 str r2, [r4, #52] 2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 4823 .loc 1 2246 7 is_stmt 1 view .LVU1735 4824 .LVL319: 4825 .LBB172: 4826 .LBI168: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 4827 .loc 1 7333 13 view .LVU1736 4828 .LBB170: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 4829 .loc 1 7337 3 view .LVU1737 4830 00dc 9942 cmp r1, r3 4831 00de 09D0 beq .L392 4832 00e0 03F58063 add r3, r3, #1024 4833 00e4 9942 cmp r1, r3 4834 00e6 05D0 beq .L392 4835 00e8 41F6A941 movw r1, #7337 4836 00ec 1E48 ldr r0, .L402+24 4837 00ee FFF7FEFF bl assert_failed 4838 .LVL320: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4839 .loc 1 7347 3 is_stmt 0 view .LVU1738 4840 00f2 2168 ldr r1, [r4] 4841 .L392: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 4842 .loc 1 7338 3 is_stmt 1 view .LVU1739 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4843 .loc 1 7339 3 view .LVU1740 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 4844 .loc 1 7342 3 view .LVU1741 4845 .LVL321: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4846 .loc 1 7347 3 view .LVU1742 4847 00f4 4B68 ldr r3, [r1, #4] 4848 00f6 1D4A ldr r2, .L402+28 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 4849 .loc 1 7342 52 is_stmt 0 view .LVU1743 4850 00f8 C5F30905 ubfx r5, r5, #0, #10 4851 .LVL322: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4852 .loc 1 7347 3 view .LVU1744 4853 00fc 1340 ands r3, r3, r2 4854 00fe 1D43 orrs r5, r5, r3 4855 0100 45F00075 orr r5, r5, #33554432 4856 .LBE170: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 246 4857 .LBE172: 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4858 .loc 1 2250 7 view .LVU1745 4859 0104 0026 movs r6, #0 4860 .LBB173: 4861 .LBB171: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4862 .loc 1 7347 3 view .LVU1746 4863 0106 45F41055 orr r5, r5, #9216 4864 010a 4D60 str r5, [r1, #4] 4865 .LVL323: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 4866 .loc 1 7347 3 view .LVU1747 4867 .LBE171: 4868 .LBE173: 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4869 .loc 1 2250 7 is_stmt 1 view .LVU1748 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4870 .loc 1 2250 7 view .LVU1749 4871 010c 84F84060 strb r6, [r4, #64] 2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4872 .loc 1 2250 7 view .LVU1750 2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4873 .loc 1 2259 7 view .LVU1751 4874 .LVL324: 4875 .LBB174: 4876 .LBI174: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4877 .loc 1 7360 13 view .LVU1752 4878 .LBB175: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4879 .loc 1 7362 3 view .LVU1753 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 4880 .loc 1 7364 3 view .LVU1754 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4881 .loc 1 7441 3 view .LVU1755 4882 0110 0B68 ldr r3, [r1] 4883 0112 43F0F403 orr r3, r3, #244 4884 0116 0B60 str r3, [r1] 4885 .loc 1 7442 1 is_stmt 0 view .LVU1756 4886 0118 B4E7 b .L398 4887 .LVL325: 4888 .L401: 4889 .loc 1 7442 1 view .LVU1757 4890 .LBE175: 4891 .LBE174: 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4892 .loc 1 2207 9 is_stmt 1 view .LVU1758 4893 011a 154B ldr r3, .L402+32 4894 011c 0093 str r3, [sp] 4895 011e 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 4896 0122 3B46 mov r3, r7 4897 0124 2946 mov r1, r5 4898 0126 2046 mov r0, r4 4899 .LVL326: 2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4900 .loc 1 2207 9 is_stmt 0 view .LVU1759 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 247 4901 0128 FFF7FEFF bl I2C_TransferConfig 4902 .LVL327: 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4903 .loc 1 2210 9 is_stmt 1 view .LVU1760 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4904 .loc 1 2210 25 is_stmt 0 view .LVU1761 4905 012c 638D ldrh r3, [r4, #42] 4906 012e 218D ldrh r1, [r4, #40] 4907 .LBB176: 4908 .LBB177: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4909 .loc 1 7441 3 view .LVU1762 4910 0130 2268 ldr r2, [r4] 4911 .LBE177: 4912 .LBE176: 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4913 .loc 1 2213 9 view .LVU1763 4914 0132 84F84060 strb r6, [r4, #64] 2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4915 .loc 1 2210 25 view .LVU1764 4916 0136 5B1A subs r3, r3, r1 4917 0138 9BB2 uxth r3, r3 4918 013a 6385 strh r3, [r4, #42] @ movhi 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4919 .loc 1 2213 9 is_stmt 1 view .LVU1765 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4920 .loc 1 2213 9 view .LVU1766 2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4921 .loc 1 2213 9 view .LVU1767 2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4922 .loc 1 2219 9 view .LVU1768 4923 .LVL328: 4924 .LBB179: 4925 .LBI176: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4926 .loc 1 7360 13 view .LVU1769 4927 .LBB178: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4928 .loc 1 7362 3 view .LVU1770 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 4929 .loc 1 7364 3 view .LVU1771 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4930 .loc 1 7441 3 view .LVU1772 4931 013c 1368 ldr r3, [r2] 4932 013e 43F09003 orr r3, r3, #144 4933 0142 1360 str r3, [r2] 4934 .LVL329: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4935 .loc 1 7441 3 is_stmt 0 view .LVU1773 4936 .LBE178: 4937 .LBE179: 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4938 .loc 1 2222 9 is_stmt 1 view .LVU1774 2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 4939 .loc 1 2222 29 is_stmt 0 view .LVU1775 4940 0144 1368 ldr r3, [r2] 4941 0146 43F40043 orr r3, r3, #32768 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 248 4942 014a 1360 str r3, [r2] 4943 014c 9AE7 b .L398 4944 .L403: 4945 014e 00BF .align 2 4946 .L402: 4947 0150 0000FFFF .word -65536 4948 0154 00000000 .word I2C_Master_ISR_DMA 4949 0158 00000000 .word I2C_DMAMasterReceiveCplt 4950 015c 00000000 .word I2C_DMAError 4951 0160 00540040 .word 1073763328 4952 0164 00000000 .word I2C_Master_ISR_IT 4953 0168 00000000 .word .LC0 4954 016c 009800FC .word -67069952 4955 0170 00240080 .word -2147474432 4956 .cfi_endproc 4957 .LFE143: 4959 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits 4960 .align 1 4961 .p2align 2,,3 4962 .global HAL_I2C_Slave_Transmit_DMA 4963 .syntax unified 4964 .thumb 4965 .thumb_func 4967 HAL_I2C_Slave_Transmit_DMA: 4968 .LVL330: 4969 .LFB144: 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4970 .loc 1 2279 1 is_stmt 1 view -0 4971 .cfi_startproc 4972 @ args = 0, pretend = 0, frame = 0 4973 @ frame_needed = 0, uses_anonymous_args = 0 2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4974 .loc 1 2280 3 view .LVU1777 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4975 .loc 1 2282 3 view .LVU1778 2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 4976 .loc 1 2279 1 is_stmt 0 view .LVU1779 4977 0000 38B5 push {r3, r4, r5, lr} 4978 .LCFI73: 4979 .cfi_def_cfa_offset 16 4980 .cfi_offset 3, -16 4981 .cfi_offset 4, -12 4982 .cfi_offset 5, -8 4983 .cfi_offset 14, -4 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4984 .loc 1 2282 11 view .LVU1780 4985 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4986 .loc 1 2282 6 view .LVU1781 4987 0006 202B cmp r3, #32 4988 0008 50D1 bne .L414 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4989 .loc 1 2284 5 is_stmt 1 view .LVU1782 4990 000a 0446 mov r4, r0 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4991 .loc 1 2284 8 is_stmt 0 view .LVU1783 4992 000c 0029 cmp r1, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 249 4993 000e 48D0 beq .L406 2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 4994 .loc 1 2284 25 discriminator 1 view .LVU1784 4995 0010 002A cmp r2, #0 4996 0012 46D0 beq .L406 4997 0014 D8B2 uxtb r0, r3 4998 .LVL331: 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 4999 .loc 1 2290 5 is_stmt 1 view .LVU1785 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5000 .loc 1 2290 5 view .LVU1786 5001 0016 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 5002 001a 012B cmp r3, #1 5003 001c 46D0 beq .L414 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5004 .loc 1 2290 5 discriminator 2 view .LVU1787 5005 001e 0123 movs r3, #1 5006 0020 84F84030 strb r3, [r4, #64] 2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5007 .loc 1 2290 5 discriminator 2 view .LVU1788 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 5008 .loc 1 2292 5 discriminator 2 view .LVU1789 2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 5009 .loc 1 2292 23 is_stmt 0 discriminator 2 view .LVU1790 5010 0024 2123 movs r3, #33 5011 0026 84F84130 strb r3, [r4, #65] 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5012 .loc 1 2293 5 is_stmt 1 discriminator 2 view .LVU1791 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5013 .loc 1 2294 23 is_stmt 0 discriminator 2 view .LVU1792 5014 002a 0023 movs r3, #0 2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5015 .loc 1 2293 23 discriminator 2 view .LVU1793 5016 002c 84F84200 strb r0, [r4, #66] 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5017 .loc 1 2294 5 is_stmt 1 discriminator 2 view .LVU1794 2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5018 .loc 1 2294 23 is_stmt 0 discriminator 2 view .LVU1795 5019 0030 6364 str r3, [r4, #68] 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5020 .loc 1 2297 5 is_stmt 1 discriminator 2 view .LVU1796 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5021 .loc 1 2298 23 is_stmt 0 discriminator 2 view .LVU1797 5022 0032 6285 strh r2, [r4, #42] @ movhi 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5023 .loc 1 2299 29 discriminator 2 view .LVU1798 5024 0034 638D ldrh r3, [r4, #42] 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5025 .loc 1 2304 8 discriminator 2 view .LVU1799 5026 0036 226A ldr r2, [r4, #32] 5027 .LVL332: 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 5028 .loc 1 2300 23 discriminator 2 view .LVU1800 5029 0038 3248 ldr r0, .L421 5030 003a E062 str r0, [r4, #44] 5031 .LVL333: 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 250 5032 .loc 1 2299 29 discriminator 2 view .LVU1801 5033 003c 9BB2 uxth r3, r3 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5034 .loc 1 2301 23 discriminator 2 view .LVU1802 5035 003e 3248 ldr r0, .L421+4 2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5036 .loc 1 2297 23 discriminator 2 view .LVU1803 5037 0040 6162 str r1, [r4, #36] 2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5038 .loc 1 2298 5 is_stmt 1 discriminator 2 view .LVU1804 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5039 .loc 1 2299 5 discriminator 2 view .LVU1805 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5040 .loc 1 2304 8 is_stmt 0 discriminator 2 view .LVU1806 5041 0042 B2F5003F cmp r2, #131072 2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5042 .loc 1 2299 23 discriminator 2 view .LVU1807 5043 0046 2385 strh r3, [r4, #40] @ movhi 2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 5044 .loc 1 2300 5 is_stmt 1 discriminator 2 view .LVU1808 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5045 .loc 1 2301 5 discriminator 2 view .LVU1809 2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5046 .loc 1 2301 23 is_stmt 0 discriminator 2 view .LVU1810 5047 0048 6063 str r0, [r4, #52] 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5048 .loc 1 2304 5 is_stmt 1 discriminator 2 view .LVU1811 2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5049 .loc 1 2304 8 is_stmt 0 discriminator 2 view .LVU1812 5050 004a 0AD1 bne .L408 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5051 .loc 1 2308 7 is_stmt 1 view .LVU1813 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5052 .loc 1 2308 11 is_stmt 0 view .LVU1814 5053 004c 2268 ldr r2, [r4] 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5054 .loc 1 2308 30 view .LVU1815 5055 004e 11F8010B ldrb r0, [r1], #1 @ zero_extendqisi2 5056 .LVL334: 2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5057 .loc 1 2308 28 view .LVU1816 5058 0052 9062 str r0, [r2, #40] 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5059 .loc 1 2311 7 is_stmt 1 view .LVU1817 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5060 .loc 1 2313 11 is_stmt 0 view .LVU1818 5061 0054 628D ldrh r2, [r4, #42] 2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5062 .loc 1 2311 21 view .LVU1819 5063 0056 6162 str r1, [r4, #36] 5064 .LVL335: 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5065 .loc 1 2313 7 is_stmt 1 view .LVU1820 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5066 .loc 1 2313 22 is_stmt 0 view .LVU1821 5067 0058 013A subs r2, r2, #1 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 251 5068 .loc 1 2314 21 view .LVU1822 5069 005a 013B subs r3, r3, #1 2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5070 .loc 1 2313 22 view .LVU1823 5071 005c 92B2 uxth r2, r2 5072 005e 6285 strh r2, [r4, #42] @ movhi 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5073 .loc 1 2314 7 is_stmt 1 view .LVU1824 2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5074 .loc 1 2314 21 is_stmt 0 view .LVU1825 5075 0060 2385 strh r3, [r4, #40] @ movhi 5076 .LVL336: 5077 .L408: 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5078 .loc 1 2317 5 is_stmt 1 view .LVU1826 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5079 .loc 1 2317 13 is_stmt 0 view .LVU1827 5080 0062 638D ldrh r3, [r4, #42] 5081 0064 9BB2 uxth r3, r3 2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5082 .loc 1 2317 8 view .LVU1828 5083 0066 83B3 cbz r3, .L409 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5084 .loc 1 2319 7 is_stmt 1 view .LVU1829 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5085 .loc 1 2319 15 is_stmt 0 view .LVU1830 5086 0068 A06B ldr r0, [r4, #56] 2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5087 .loc 1 2319 10 view .LVU1831 5088 006a 08B3 cbz r0, .L410 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5089 .loc 1 2322 9 is_stmt 1 view .LVU1832 2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5090 .loc 1 2333 78 is_stmt 0 view .LVU1833 5091 006c 2268 ldr r2, [r4] 2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5092 .loc 1 2322 40 view .LVU1834 5093 006e 274B ldr r3, .L421+8 5094 0070 8362 str r3, [r0, #40] 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5095 .loc 1 2325 9 is_stmt 1 view .LVU1835 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 5096 .loc 1 2328 44 is_stmt 0 view .LVU1836 5097 0072 0025 movs r5, #0 2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5098 .loc 1 2325 41 view .LVU1837 5099 0074 264B ldr r3, .L421+12 5100 0076 0363 str r3, [r0, #48] 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 5101 .loc 1 2328 9 is_stmt 1 view .LVU1838 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 5102 .loc 1 2332 25 is_stmt 0 view .LVU1839 5103 0078 616A ldr r1, [r4, #36] 5104 007a 238D ldrh r3, [r4, #40] 2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 5105 .loc 1 2328 44 view .LVU1840 5106 007c C562 str r5, [r0, #44] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 252 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5107 .loc 1 2329 9 is_stmt 1 view .LVU1841 2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5108 .loc 1 2329 41 is_stmt 0 view .LVU1842 5109 007e 4563 str r5, [r0, #52] 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 5110 .loc 1 2332 9 is_stmt 1 view .LVU1843 2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, 5111 .loc 1 2332 25 is_stmt 0 view .LVU1844 5112 0080 2832 adds r2, r2, #40 5113 0082 FFF7FEFF bl HAL_DMA_Start_IT 5114 .LVL337: 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5115 .loc 1 2351 7 is_stmt 1 view .LVU1845 2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5116 .loc 1 2351 10 is_stmt 0 view .LVU1846 5117 0086 68B3 cbz r0, .L420 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5118 .loc 1 2371 9 is_stmt 1 view .LVU1847 2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5119 .loc 1 2371 25 is_stmt 0 view .LVU1848 5120 0088 2823 movs r3, #40 5121 008a 84F84130 strb r3, [r4, #65] 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5122 .loc 1 2372 9 is_stmt 1 view .LVU1849 2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5123 .loc 1 2372 25 is_stmt 0 view .LVU1850 5124 008e 84F84250 strb r5, [r4, #66] 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5125 .loc 1 2375 9 is_stmt 1 view .LVU1851 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5126 .loc 1 2375 25 is_stmt 0 view .LVU1852 5127 0092 636C ldr r3, [r4, #68] 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5128 .loc 1 2378 9 view .LVU1853 5129 0094 84F84050 strb r5, [r4, #64] 2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5130 .loc 1 2375 25 view .LVU1854 5131 0098 43F01003 orr r3, r3, #16 5132 009c 6364 str r3, [r4, #68] 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5133 .loc 1 2378 9 is_stmt 1 view .LVU1855 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5134 .loc 1 2378 9 view .LVU1856 2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5135 .loc 1 2378 9 view .LVU1857 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5136 .loc 1 2380 9 view .LVU1858 2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5137 .loc 1 2380 16 is_stmt 0 view .LVU1859 5138 009e 0120 movs r0, #1 5139 .LVL338: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5140 .loc 1 2404 1 view .LVU1860 5141 00a0 38BD pop {r3, r4, r5, pc} 5142 .LVL339: 5143 .L406: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 253 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5144 .loc 1 2286 7 is_stmt 1 view .LVU1861 2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5145 .loc 1 2286 23 is_stmt 0 view .LVU1862 5146 00a2 4FF40073 mov r3, #512 5147 00a6 6364 str r3, [r4, #68] 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5148 .loc 1 2287 7 is_stmt 1 view .LVU1863 2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5149 .loc 1 2287 15 is_stmt 0 view .LVU1864 5150 00a8 0120 movs r0, #1 5151 .LVL340: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5152 .loc 1 2404 1 view .LVU1865 5153 00aa 38BD pop {r3, r4, r5, pc} 5154 .LVL341: 5155 .L414: 2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5156 .loc 1 2402 12 view .LVU1866 5157 00ac 0220 movs r0, #2 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5158 .loc 1 2404 1 view .LVU1867 5159 00ae 38BD pop {r3, r4, r5, pc} 5160 .LVL342: 5161 .L410: 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5162 .loc 1 2339 9 is_stmt 1 view .LVU1868 2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5163 .loc 1 2339 25 is_stmt 0 view .LVU1869 5164 00b0 2823 movs r3, #40 5165 00b2 84F84130 strb r3, [r4, #65] 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5166 .loc 1 2340 9 is_stmt 1 view .LVU1870 2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5167 .loc 1 2340 25 is_stmt 0 view .LVU1871 5168 00b6 84F84200 strb r0, [r4, #66] 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5169 .loc 1 2343 9 is_stmt 1 view .LVU1872 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5170 .loc 1 2343 25 is_stmt 0 view .LVU1873 5171 00ba 636C ldr r3, [r4, #68] 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5172 .loc 1 2346 9 view .LVU1874 5173 00bc 84F84000 strb r0, [r4, #64] 2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5174 .loc 1 2343 25 view .LVU1875 5175 00c0 43F08003 orr r3, r3, #128 5176 00c4 6364 str r3, [r4, #68] 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5177 .loc 1 2346 9 is_stmt 1 view .LVU1876 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5178 .loc 1 2346 9 view .LVU1877 2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5179 .loc 1 2346 9 view .LVU1878 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5180 .loc 1 2348 9 view .LVU1879 2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 254 5181 .loc 1 2348 16 is_stmt 0 view .LVU1880 5182 00c6 0120 movs r0, #1 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5183 .loc 1 2404 1 view .LVU1881 5184 00c8 38BD pop {r3, r4, r5, pc} 5185 .LVL343: 5186 .L409: 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5187 .loc 1 2386 7 is_stmt 1 view .LVU1882 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5188 .loc 1 2386 11 is_stmt 0 view .LVU1883 5189 00ca 2268 ldr r2, [r4] 2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5190 .loc 1 2386 27 view .LVU1884 5191 00cc 5168 ldr r1, [r2, #4] 5192 00ce 21F40041 bic r1, r1, #32768 5193 00d2 5160 str r1, [r2, #4] 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5194 .loc 1 2389 7 is_stmt 1 view .LVU1885 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5195 .loc 1 2389 7 view .LVU1886 5196 00d4 84F84030 strb r3, [r4, #64] 2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5197 .loc 1 2389 7 view .LVU1887 2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5198 .loc 1 2395 7 view .LVU1888 5199 .LVL344: 5200 .LBB184: 5201 .LBI184: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5202 .loc 1 7360 13 view .LVU1889 5203 .LBB185: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5204 .loc 1 7362 3 view .LVU1890 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 5205 .loc 1 7364 3 view .LVU1891 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5206 .loc 1 7441 3 view .LVU1892 5207 .LBE185: 5208 .LBE184: 2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5209 .loc 1 2398 12 is_stmt 0 view .LVU1893 5210 00d8 1846 mov r0, r3 5211 .LBB187: 5212 .LBB186: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5213 .loc 1 7441 3 view .LVU1894 5214 00da 1368 ldr r3, [r2] 5215 00dc 43F0B803 orr r3, r3, #184 5216 00e0 1360 str r3, [r2] 5217 .LVL345: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5218 .loc 1 7441 3 view .LVU1895 5219 .LBE186: 5220 .LBE187: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5221 .loc 1 2404 1 view .LVU1896 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 255 5222 00e2 38BD pop {r3, r4, r5, pc} 5223 .LVL346: 5224 .L420: 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5225 .loc 1 2354 9 is_stmt 1 view .LVU1897 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5226 .loc 1 2354 13 is_stmt 0 view .LVU1898 5227 00e4 2368 ldr r3, [r4] 2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5228 .loc 1 2354 29 view .LVU1899 5229 00e6 5A68 ldr r2, [r3, #4] 5230 00e8 22F40042 bic r2, r2, #32768 5231 00ec 5A60 str r2, [r3, #4] 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5232 .loc 1 2357 9 is_stmt 1 view .LVU1900 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5233 .loc 1 2357 9 view .LVU1901 5234 00ee 84F84000 strb r0, [r4, #64] 2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5235 .loc 1 2357 9 view .LVU1902 2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5236 .loc 1 2363 9 view .LVU1903 5237 .LVL347: 5238 .LBB188: 5239 .LBI188: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5240 .loc 1 7360 13 view .LVU1904 5241 .LBB189: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5242 .loc 1 7362 3 view .LVU1905 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 5243 .loc 1 7364 3 view .LVU1906 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5244 .loc 1 7441 3 view .LVU1907 5245 00f2 1A68 ldr r2, [r3] 5246 00f4 42F0B802 orr r2, r2, #184 5247 00f8 1A60 str r2, [r3] 5248 .LVL348: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5249 .loc 1 7441 3 is_stmt 0 view .LVU1908 5250 .LBE189: 5251 .LBE188: 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5252 .loc 1 2366 9 is_stmt 1 view .LVU1909 2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5253 .loc 1 2366 29 is_stmt 0 view .LVU1910 5254 00fa 1A68 ldr r2, [r3] 5255 00fc 42F48042 orr r2, r2, #16384 5256 0100 1A60 str r2, [r3] 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5257 .loc 1 2404 1 view .LVU1911 5258 0102 38BD pop {r3, r4, r5, pc} 5259 .LVL349: 5260 .L422: 2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5261 .loc 1 2404 1 view .LVU1912 5262 .align 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 256 5263 .L421: 5264 0104 0000FFFF .word -65536 5265 0108 00000000 .word I2C_Slave_ISR_DMA 5266 010c 00000000 .word I2C_DMASlaveTransmitCplt 5267 0110 00000000 .word I2C_DMAError 5268 .cfi_endproc 5269 .LFE144: 5271 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits 5272 .align 1 5273 .p2align 2,,3 5274 .global HAL_I2C_Slave_Receive_DMA 5275 .syntax unified 5276 .thumb 5277 .thumb_func 5279 HAL_I2C_Slave_Receive_DMA: 5280 .LVL350: 5281 .LFB145: 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 5282 .loc 1 2415 1 is_stmt 1 view -0 5283 .cfi_startproc 5284 @ args = 0, pretend = 0, frame = 0 5285 @ frame_needed = 0, uses_anonymous_args = 0 2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5286 .loc 1 2416 3 view .LVU1914 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5287 .loc 1 2418 3 view .LVU1915 2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 5288 .loc 1 2415 1 is_stmt 0 view .LVU1916 5289 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 5290 .LCFI74: 5291 .cfi_def_cfa_offset 24 5292 .cfi_offset 3, -24 5293 .cfi_offset 4, -20 5294 .cfi_offset 5, -16 5295 .cfi_offset 6, -12 5296 .cfi_offset 7, -8 5297 .cfi_offset 14, -4 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5298 .loc 1 2418 11 view .LVU1917 5299 0002 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5300 .loc 1 2418 6 view .LVU1918 5301 0006 202B cmp r3, #32 5302 0008 3DD1 bne .L431 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5303 .loc 1 2420 5 is_stmt 1 view .LVU1919 5304 000a 0446 mov r4, r0 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5305 .loc 1 2420 8 is_stmt 0 view .LVU1920 5306 000c 0029 cmp r1, #0 5307 000e 35D0 beq .L425 2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5308 .loc 1 2420 25 discriminator 1 view .LVU1921 5309 0010 002A cmp r2, #0 5310 0012 33D0 beq .L425 5311 0014 D8B2 uxtb r0, r3 5312 .LVL351: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 257 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5313 .loc 1 2426 5 is_stmt 1 view .LVU1922 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5314 .loc 1 2426 5 view .LVU1923 5315 0016 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 5316 001a 012B cmp r3, #1 5317 001c 33D0 beq .L431 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5318 .loc 1 2426 5 discriminator 2 view .LVU1924 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 5319 .loc 1 2428 23 is_stmt 0 discriminator 2 view .LVU1925 5320 001e 2223 movs r3, #34 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5321 .loc 1 2430 23 discriminator 2 view .LVU1926 5322 0020 0025 movs r5, #0 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 5323 .loc 1 2428 23 discriminator 2 view .LVU1927 5324 0022 84F84130 strb r3, [r4, #65] 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5325 .loc 1 2429 23 discriminator 2 view .LVU1928 5326 0026 84F84200 strb r0, [r4, #66] 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5327 .loc 1 2430 23 discriminator 2 view .LVU1929 5328 002a 6564 str r5, [r4, #68] 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5329 .loc 1 2434 23 discriminator 2 view .LVU1930 5330 002c 6285 strh r2, [r4, #42] @ movhi 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5331 .loc 1 2435 29 discriminator 2 view .LVU1931 5332 002e 638D ldrh r3, [r4, #42] 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 5333 .loc 1 2436 23 discriminator 2 view .LVU1932 5334 0030 244A ldr r2, .L438 5335 .LVL352: 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5336 .loc 1 2439 13 discriminator 2 view .LVU1933 5337 0032 E06B ldr r0, [r4, #60] 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 5338 .loc 1 2436 23 discriminator 2 view .LVU1934 5339 0034 E262 str r2, [r4, #44] 5340 .LVL353: 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5341 .loc 1 2426 5 discriminator 2 view .LVU1935 5342 0036 0126 movs r6, #1 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5343 .loc 1 2437 23 discriminator 2 view .LVU1936 5344 0038 234A ldr r2, .L438+4 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5345 .loc 1 2426 5 discriminator 2 view .LVU1937 5346 003a 84F84060 strb r6, [r4, #64] 2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5347 .loc 1 2426 5 is_stmt 1 discriminator 2 view .LVU1938 2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 5348 .loc 1 2428 5 discriminator 2 view .LVU1939 2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5349 .loc 1 2429 5 discriminator 2 view .LVU1940 2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 258 5350 .loc 1 2430 5 discriminator 2 view .LVU1941 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5351 .loc 1 2433 5 discriminator 2 view .LVU1942 2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 5352 .loc 1 2434 5 discriminator 2 view .LVU1943 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5353 .loc 1 2435 5 discriminator 2 view .LVU1944 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5354 .loc 1 2435 29 is_stmt 0 discriminator 2 view .LVU1945 5355 003e 9BB2 uxth r3, r3 2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5356 .loc 1 2433 23 discriminator 2 view .LVU1946 5357 0040 6162 str r1, [r4, #36] 2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 5358 .loc 1 2435 23 discriminator 2 view .LVU1947 5359 0042 2385 strh r3, [r4, #40] @ movhi 2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 5360 .loc 1 2436 5 is_stmt 1 discriminator 2 view .LVU1948 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5361 .loc 1 2437 5 discriminator 2 view .LVU1949 2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5362 .loc 1 2437 23 is_stmt 0 discriminator 2 view .LVU1950 5363 0044 6263 str r2, [r4, #52] 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5364 .loc 1 2439 5 is_stmt 1 discriminator 2 view .LVU1951 2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5365 .loc 1 2439 8 is_stmt 0 discriminator 2 view .LVU1952 5366 0046 0028 cmp r0, #0 5367 0048 2FD0 beq .L427 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5368 .loc 1 2442 7 is_stmt 1 view .LVU1953 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5369 .loc 1 2442 38 is_stmt 0 view .LVU1954 5370 004a 204F ldr r7, .L438+8 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 5371 .loc 1 2448 42 view .LVU1955 5372 004c C562 str r5, [r0, #44] 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5373 .loc 1 2452 23 view .LVU1956 5374 004e 0A46 mov r2, r1 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5375 .loc 1 2452 64 view .LVU1957 5376 0050 2168 ldr r1, [r4] 5377 .LVL354: 2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5378 .loc 1 2442 38 view .LVU1958 5379 0052 8762 str r7, [r0, #40] 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5380 .loc 1 2445 7 is_stmt 1 view .LVU1959 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5381 .loc 1 2445 39 is_stmt 0 view .LVU1960 5382 0054 1E4F ldr r7, .L438+12 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5383 .loc 1 2449 39 view .LVU1961 5384 0056 4563 str r5, [r0, #52] 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5385 .loc 1 2452 23 view .LVU1962 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 259 5386 0058 2431 adds r1, r1, #36 2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5387 .loc 1 2445 39 view .LVU1963 5388 005a 0763 str r7, [r0, #48] 2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 5389 .loc 1 2448 7 is_stmt 1 view .LVU1964 2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5390 .loc 1 2449 7 view .LVU1965 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5391 .loc 1 2452 7 view .LVU1966 2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 5392 .loc 1 2452 23 is_stmt 0 view .LVU1967 5393 005c FFF7FEFF bl HAL_DMA_Start_IT 5394 .LVL355: 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5395 .loc 1 2470 5 is_stmt 1 view .LVU1968 2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5396 .loc 1 2470 8 is_stmt 0 view .LVU1969 5397 0060 98B1 cbz r0, .L437 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5398 .loc 1 2490 7 is_stmt 1 view .LVU1970 2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5399 .loc 1 2490 23 is_stmt 0 view .LVU1971 5400 0062 2823 movs r3, #40 5401 0064 84F84130 strb r3, [r4, #65] 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5402 .loc 1 2491 7 is_stmt 1 view .LVU1972 2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5403 .loc 1 2491 23 is_stmt 0 view .LVU1973 5404 0068 84F84250 strb r5, [r4, #66] 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5405 .loc 1 2494 7 is_stmt 1 view .LVU1974 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5406 .loc 1 2494 23 is_stmt 0 view .LVU1975 5407 006c 636C ldr r3, [r4, #68] 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5408 .loc 1 2497 7 view .LVU1976 5409 006e 84F84050 strb r5, [r4, #64] 2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5410 .loc 1 2494 23 view .LVU1977 5411 0072 43F01003 orr r3, r3, #16 5412 0076 6364 str r3, [r4, #68] 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5413 .loc 1 2497 7 is_stmt 1 view .LVU1978 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5414 .loc 1 2497 7 view .LVU1979 2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5415 .loc 1 2497 7 view .LVU1980 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5416 .loc 1 2499 7 view .LVU1981 2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5417 .loc 1 2499 14 is_stmt 0 view .LVU1982 5418 0078 3046 mov r0, r6 5419 .LVL356: 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5420 .loc 1 2508 1 view .LVU1983 5421 007a F8BD pop {r3, r4, r5, r6, r7, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 260 5422 .LVL357: 5423 .L425: 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5424 .loc 1 2422 7 is_stmt 1 view .LVU1984 2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5425 .loc 1 2422 23 is_stmt 0 view .LVU1985 5426 007c 4FF40073 mov r3, #512 5427 0080 6364 str r3, [r4, #68] 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5428 .loc 1 2423 7 is_stmt 1 view .LVU1986 2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5429 .loc 1 2423 15 is_stmt 0 view .LVU1987 5430 0082 0120 movs r0, #1 5431 .LVL358: 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5432 .loc 1 2508 1 view .LVU1988 5433 0084 F8BD pop {r3, r4, r5, r6, r7, pc} 5434 .LVL359: 5435 .L431: 2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5436 .loc 1 2506 12 view .LVU1989 5437 0086 0220 movs r0, #2 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5438 .loc 1 2508 1 view .LVU1990 5439 0088 F8BD pop {r3, r4, r5, r6, r7, pc} 5440 .LVL360: 5441 .L437: 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5442 .loc 1 2473 7 is_stmt 1 view .LVU1991 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5443 .loc 1 2473 11 is_stmt 0 view .LVU1992 5444 008a 2368 ldr r3, [r4] 2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5445 .loc 1 2473 27 view .LVU1993 5446 008c 5A68 ldr r2, [r3, #4] 5447 008e 22F40042 bic r2, r2, #32768 5448 0092 5A60 str r2, [r3, #4] 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5449 .loc 1 2476 7 is_stmt 1 view .LVU1994 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5450 .loc 1 2476 7 view .LVU1995 5451 0094 84F84000 strb r0, [r4, #64] 2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5452 .loc 1 2476 7 view .LVU1996 2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5453 .loc 1 2482 7 view .LVU1997 5454 .LVL361: 5455 .LBB192: 5456 .LBI192: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5457 .loc 1 7360 13 view .LVU1998 5458 .LBB193: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5459 .loc 1 7362 3 view .LVU1999 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 5460 .loc 1 7364 3 view .LVU2000 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 261 5461 .loc 1 7441 3 view .LVU2001 5462 0098 1A68 ldr r2, [r3] 5463 009a 42F0B802 orr r2, r2, #184 5464 009e 1A60 str r2, [r3] 5465 .LVL362: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5466 .loc 1 7441 3 is_stmt 0 view .LVU2002 5467 .LBE193: 5468 .LBE192: 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5469 .loc 1 2485 7 is_stmt 1 view .LVU2003 2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5470 .loc 1 2485 27 is_stmt 0 view .LVU2004 5471 00a0 1A68 ldr r2, [r3] 5472 00a2 42F40042 orr r2, r2, #32768 5473 00a6 1A60 str r2, [r3] 2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5474 .loc 1 2502 5 is_stmt 1 view .LVU2005 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5475 .loc 1 2508 1 is_stmt 0 view .LVU2006 5476 00a8 F8BD pop {r3, r4, r5, r6, r7, pc} 5477 .LVL363: 5478 .L427: 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5479 .loc 1 2458 7 is_stmt 1 view .LVU2007 2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 5480 .loc 1 2458 23 is_stmt 0 view .LVU2008 5481 00aa 2823 movs r3, #40 5482 00ac 84F84130 strb r3, [r4, #65] 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5483 .loc 1 2459 7 is_stmt 1 view .LVU2009 2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5484 .loc 1 2459 23 is_stmt 0 view .LVU2010 5485 00b0 84F84200 strb r0, [r4, #66] 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5486 .loc 1 2462 7 is_stmt 1 view .LVU2011 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5487 .loc 1 2462 23 is_stmt 0 view .LVU2012 5488 00b4 636C ldr r3, [r4, #68] 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5489 .loc 1 2465 7 view .LVU2013 5490 00b6 84F84000 strb r0, [r4, #64] 2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5491 .loc 1 2462 23 view .LVU2014 5492 00ba 43F08003 orr r3, r3, #128 5493 00be 6364 str r3, [r4, #68] 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5494 .loc 1 2465 7 is_stmt 1 view .LVU2015 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5495 .loc 1 2465 7 view .LVU2016 2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5496 .loc 1 2465 7 view .LVU2017 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5497 .loc 1 2467 7 view .LVU2018 2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5498 .loc 1 2467 14 is_stmt 0 view .LVU2019 5499 00c0 3046 mov r0, r6 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 262 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5500 .loc 1 2508 1 view .LVU2020 5501 00c2 F8BD pop {r3, r4, r5, r6, r7, pc} 5502 .LVL364: 5503 .L439: 2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5504 .loc 1 2508 1 view .LVU2021 5505 .align 2 5506 .L438: 5507 00c4 0000FFFF .word -65536 5508 00c8 00000000 .word I2C_Slave_ISR_DMA 5509 00cc 00000000 .word I2C_DMASlaveReceiveCplt 5510 00d0 00000000 .word I2C_DMAError 5511 .cfi_endproc 5512 .LFE145: 5514 .section .text.HAL_I2C_Mem_Write,"ax",%progbits 5515 .align 1 5516 .p2align 2,,3 5517 .global HAL_I2C_Mem_Write 5518 .syntax unified 5519 .thumb 5520 .thumb_func 5522 HAL_I2C_Mem_Write: 5523 .LVL365: 5524 .LFB146: 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5525 .loc 1 2525 1 is_stmt 1 view -0 5526 .cfi_startproc 5527 @ args = 12, pretend = 0, frame = 0 5528 @ frame_needed = 0, uses_anonymous_args = 0 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5529 .loc 1 2525 1 is_stmt 0 view .LVU2023 5530 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 5531 .LCFI75: 5532 .cfi_def_cfa_offset 36 5533 .cfi_offset 4, -36 5534 .cfi_offset 5, -32 5535 .cfi_offset 6, -28 5536 .cfi_offset 7, -24 5537 .cfi_offset 8, -20 5538 .cfi_offset 9, -16 5539 .cfi_offset 10, -12 5540 .cfi_offset 11, -8 5541 .cfi_offset 14, -4 5542 0004 9846 mov r8, r3 5543 0006 83B0 sub sp, sp, #12 5544 .LCFI76: 5545 .cfi_def_cfa_offset 48 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5546 .loc 1 2529 3 view .LVU2024 5547 0008 013B subs r3, r3, #1 5548 .LVL366: 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5549 .loc 1 2529 3 view .LVU2025 5550 000a 012B cmp r3, #1 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5551 .loc 1 2525 1 view .LVU2026 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 263 5552 000c BDF834A0 ldrh r10, [sp, #52] 5553 0010 0E9F ldr r7, [sp, #56] 5554 0012 0446 mov r4, r0 2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5555 .loc 1 2526 3 is_stmt 1 view .LVU2027 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5556 .loc 1 2529 3 view .LVU2028 2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 5557 .loc 1 2525 1 is_stmt 0 view .LVU2029 5558 0014 0D46 mov r5, r1 5559 0016 9146 mov r9, r2 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5560 .loc 1 2529 3 view .LVU2030 5561 0018 04D9 bls .L441 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5562 .loc 1 2529 3 discriminator 1 view .LVU2031 5563 001a 9C48 ldr r0, .L475 5564 .LVL367: 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5565 .loc 1 2529 3 discriminator 1 view .LVU2032 5566 001c 40F6E111 movw r1, #2529 5567 .LVL368: 2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5568 .loc 1 2529 3 discriminator 1 view .LVU2033 5569 0020 FFF7FEFF bl assert_failed 5570 .LVL369: 5571 .L441: 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5572 .loc 1 2531 3 is_stmt 1 view .LVU2034 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5573 .loc 1 2531 11 is_stmt 0 view .LVU2035 5574 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5575 .loc 1 2531 6 view .LVU2036 5576 0028 202B cmp r3, #32 5577 002a 23D1 bne .L462 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5578 .loc 1 2533 5 is_stmt 1 view .LVU2037 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5579 .loc 1 2533 8 is_stmt 0 view .LVU2038 5580 002c 0C9B ldr r3, [sp, #48] 5581 002e D3B1 cbz r3, .L443 2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5582 .loc 1 2533 25 discriminator 1 view .LVU2039 5583 0030 BAF1000F cmp r10, #0 5584 0034 17D0 beq .L443 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5585 .loc 1 2540 5 is_stmt 1 view .LVU2040 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5586 .loc 1 2540 5 view .LVU2041 5587 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 5588 003a 012B cmp r3, #1 5589 003c 1AD0 beq .L462 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5590 .loc 1 2540 5 discriminator 2 view .LVU2042 5591 003e 4FF0010B mov fp, #1 5592 0042 84F840B0 strb fp, [r4, #64] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 264 2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5593 .loc 1 2540 5 discriminator 2 view .LVU2043 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5594 .loc 1 2543 5 discriminator 2 view .LVU2044 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5595 .loc 1 2543 17 is_stmt 0 discriminator 2 view .LVU2045 5596 0046 FFF7FEFF bl HAL_GetTick 5597 .LVL370: 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5598 .loc 1 2545 9 discriminator 2 view .LVU2046 5599 004a 5A46 mov r2, fp 2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5600 .loc 1 2543 17 discriminator 2 view .LVU2047 5601 004c 0646 mov r6, r0 5602 .LVL371: 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5603 .loc 1 2545 5 is_stmt 1 discriminator 2 view .LVU2048 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5604 .loc 1 2545 9 is_stmt 0 discriminator 2 view .LVU2049 5605 004e 0090 str r0, [sp] 5606 0050 1923 movs r3, #25 5607 0052 4FF40041 mov r1, #32768 5608 0056 2046 mov r0, r4 5609 .LVL372: 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5610 .loc 1 2545 9 discriminator 2 view .LVU2050 5611 0058 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5612 .LVL373: 2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5613 .loc 1 2545 8 discriminator 2 view .LVU2051 5614 005c 70B1 cbz r0, .L445 5615 .LVL374: 5616 .L473: 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5617 .loc 1 2563 7 is_stmt 1 view .LVU2052 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5618 .loc 1 2564 7 view .LVU2053 2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5619 .loc 1 2564 14 is_stmt 0 view .LVU2054 5620 005e 0120 movs r0, #1 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5621 .loc 1 2645 1 view .LVU2055 5622 0060 03B0 add sp, sp, #12 5623 .LCFI77: 5624 .cfi_remember_state 5625 .cfi_def_cfa_offset 36 5626 @ sp needed 5627 0062 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 5628 .LVL375: 5629 .L443: 5630 .LCFI78: 5631 .cfi_restore_state 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5632 .loc 1 2535 7 is_stmt 1 view .LVU2056 2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 5633 .loc 1 2535 23 is_stmt 0 view .LVU2057 5634 0066 4FF40073 mov r3, #512 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 265 5635 006a 6364 str r3, [r4, #68] 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5636 .loc 1 2536 7 is_stmt 1 view .LVU2058 2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5637 .loc 1 2536 15 is_stmt 0 view .LVU2059 5638 006c 0120 movs r0, #1 5639 .LVL376: 5640 .L442: 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5641 .loc 1 2645 1 view .LVU2060 5642 006e 03B0 add sp, sp, #12 5643 .LCFI79: 5644 .cfi_remember_state 5645 .cfi_def_cfa_offset 36 5646 @ sp needed 5647 0070 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 5648 .LVL377: 5649 .L462: 5650 .LCFI80: 5651 .cfi_restore_state 2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5652 .loc 1 2643 12 view .LVU2061 5653 0074 0220 movs r0, #2 2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5654 .loc 1 2645 1 view .LVU2062 5655 0076 03B0 add sp, sp, #12 5656 .LCFI81: 5657 .cfi_remember_state 5658 .cfi_def_cfa_offset 36 5659 @ sp needed 5660 0078 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 5661 .LVL378: 5662 .L445: 5663 .LCFI82: 5664 .cfi_restore_state 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5665 .loc 1 2550 5 is_stmt 1 view .LVU2063 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5666 .loc 1 2555 21 is_stmt 0 view .LVU2064 5667 007c 0C9B ldr r3, [sp, #48] 5668 .LBB206: 5669 .LBB207: 5670 .LBB208: 5671 .LBB209: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5672 .loc 1 7337 3 view .LVU2065 5673 007e 2268 ldr r2, [r4] 5674 .LBE209: 5675 .LBE208: 5676 .LBE207: 5677 .LBE206: 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5678 .loc 1 2555 21 view .LVU2066 5679 0080 6362 str r3, [r4, #36] 5680 .LBB220: 5681 .LBB216: 5682 .LBB213: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 266 5683 .LBB210: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5684 .loc 1 7337 3 view .LVU2067 5685 0082 834B ldr r3, .L475+4 5686 .LBE210: 5687 .LBE213: 5688 .LBE216: 5689 .LBE220: 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5690 .loc 1 2557 21 view .LVU2068 5691 0084 6063 str r0, [r4, #52] 2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 5692 .loc 1 2550 21 view .LVU2069 5693 0086 2121 movs r1, #33 5694 0088 84F84110 strb r1, [r4, #65] 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5695 .loc 1 2551 5 is_stmt 1 view .LVU2070 5696 .LBB221: 5697 .LBB217: 5698 .LBB214: 5699 .LBB211: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5700 .loc 1 7337 3 is_stmt 0 view .LVU2071 5701 008c 9A42 cmp r2, r3 5702 .LBE211: 5703 .LBE214: 5704 .LBE217: 5705 .LBE221: 2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 5706 .loc 1 2551 21 view .LVU2072 5707 008e 4FF04001 mov r1, #64 5708 0092 84F84210 strb r1, [r4, #66] 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5709 .loc 1 2552 5 is_stmt 1 view .LVU2073 2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5710 .loc 1 2552 21 is_stmt 0 view .LVU2074 5711 0096 6064 str r0, [r4, #68] 2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 5712 .loc 1 2555 5 is_stmt 1 view .LVU2075 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5713 .loc 1 2556 5 view .LVU2076 2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 5714 .loc 1 2556 21 is_stmt 0 view .LVU2077 5715 0098 A4F82AA0 strh r10, [r4, #42] @ movhi 2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5716 .loc 1 2557 5 is_stmt 1 view .LVU2078 2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5717 .loc 1 2560 5 view .LVU2079 5718 .LVL379: 5719 .LBB222: 5720 .LBI206: 5853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t 5721 .loc 1 5853 26 view .LVU2080 5722 .LBB218: 5857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5723 .loc 1 5857 3 view .LVU2081 5724 009c 5FFA88FA uxtb r10, r8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 267 5725 .LVL380: 5726 .LBB215: 5727 .LBI208: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 5728 .loc 1 7333 13 view .LVU2082 5729 .LBB212: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5730 .loc 1 7337 3 view .LVU2083 5731 00a0 09D0 beq .L446 5732 00a2 03F58063 add r3, r3, #1024 5733 00a6 9A42 cmp r2, r3 5734 00a8 05D0 beq .L446 5735 00aa 7848 ldr r0, .L475 5736 00ac 41F6A941 movw r1, #7337 5737 00b0 FFF7FEFF bl assert_failed 5738 .LVL381: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5739 .loc 1 7347 3 is_stmt 0 view .LVU2084 5740 00b4 2268 ldr r2, [r4] 5741 .L446: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 5742 .loc 1 7338 3 is_stmt 1 view .LVU2085 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5743 .loc 1 7339 3 view .LVU2086 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 5744 .loc 1 7342 3 view .LVU2087 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5745 .loc 1 7347 3 is_stmt 0 view .LVU2088 5746 00b6 5368 ldr r3, [r2, #4] 5747 00b8 7649 ldr r1, .L475+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 5748 .loc 1 7342 52 view .LVU2089 5749 00ba C5F30905 ubfx r5, r5, #0, #10 5750 .LVL382: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5751 .loc 1 7347 3 is_stmt 1 view .LVU2090 5752 00be 0B40 ands r3, r3, r1 5753 00c0 2B43 orrs r3, r3, r5 5754 00c2 43EA0A43 orr r3, r3, r10, lsl #16 5755 00c6 43F08073 orr r3, r3, #16777216 5756 00ca 43F40053 orr r3, r3, #8192 5757 00ce 5360 str r3, [r2, #4] 5758 .LVL383: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5759 .loc 1 7347 3 is_stmt 0 view .LVU2091 5760 .LBE212: 5761 .LBE215: 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5762 .loc 1 5860 3 is_stmt 1 view .LVU2092 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5763 .loc 1 5860 7 is_stmt 0 view .LVU2093 5764 00d0 3946 mov r1, r7 5765 00d2 3246 mov r2, r6 5766 00d4 2046 mov r0, r4 5767 00d6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 5768 .LVL384: 5860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 268 5769 .loc 1 5860 6 view .LVU2094 5770 00da 0028 cmp r0, #0 5771 00dc 40F08880 bne .L447 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5772 .loc 1 5866 3 is_stmt 1 view .LVU2095 5866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5773 .loc 1 5866 6 is_stmt 0 view .LVU2096 5774 00e0 B8F1010F cmp r8, #1 5775 00e4 78D1 bne .L448 5776 .L472: 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5777 .loc 1 5884 5 is_stmt 1 view .LVU2097 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5778 .loc 1 5888 3 view .LVU2098 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5779 .loc 1 5884 9 is_stmt 0 view .LVU2099 5780 00e6 2368 ldr r3, [r4] 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5781 .loc 1 5884 28 view .LVU2100 5782 00e8 5FFA89F2 uxtb r2, r9 5884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5783 .loc 1 5884 26 view .LVU2101 5784 00ec 9A62 str r2, [r3, #40] 5785 .LVL385: 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5786 .loc 1 5888 7 view .LVU2102 5787 00ee 8021 movs r1, #128 5788 00f0 0096 str r6, [sp] 5789 00f2 3B46 mov r3, r7 5790 00f4 0022 movs r2, #0 5791 00f6 2046 mov r0, r4 5792 00f8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5793 .LVL386: 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5794 .loc 1 5888 6 view .LVU2103 5795 00fc 0028 cmp r0, #0 5796 00fe 77D1 bne .L447 5797 .LVL387: 5888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5798 .loc 1 5888 6 view .LVU2104 5799 .LBE218: 5800 .LBE222: 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5801 .loc 1 2568 5 is_stmt 1 view .LVU2105 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5802 .loc 1 2568 13 is_stmt 0 view .LVU2106 5803 0100 638D ldrh r3, [r4, #42] 5804 0102 9BB2 uxth r3, r3 2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5805 .loc 1 2568 8 view .LVU2107 5806 0104 FF2B cmp r3, #255 5807 0106 77D8 bhi .L450 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5808 .loc 1 2575 7 is_stmt 1 view .LVU2108 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5809 .loc 1 2575 28 is_stmt 0 view .LVU2109 5810 0108 638D ldrh r3, [r4, #42] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 269 5811 .LBB223: 5812 .LBB224: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5813 .loc 1 7337 3 view .LVU2110 5814 010a 2268 ldr r2, [r4] 5815 .LBE224: 5816 .LBE223: 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5817 .loc 1 2575 28 view .LVU2111 5818 010c 9BB2 uxth r3, r3 2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS 5819 .loc 1 2575 22 view .LVU2112 5820 010e 2385 strh r3, [r4, #40] @ movhi 2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 5821 .loc 1 2576 7 is_stmt 1 view .LVU2113 5822 0110 5FFA83F8 uxtb r8, r3 5823 .LVL388: 5824 .LBB226: 5825 .LBI223: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 5826 .loc 1 7333 13 view .LVU2114 5827 .LBB225: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5828 .loc 1 7337 3 view .LVU2115 5829 0114 5E4B ldr r3, .L475+4 5830 0116 9A42 cmp r2, r3 5831 0118 09D0 beq .L454 5832 011a 03F58063 add r3, r3, #1024 5833 011e 9A42 cmp r2, r3 5834 0120 05D0 beq .L454 5835 0122 5A48 ldr r0, .L475 5836 0124 41F6A941 movw r1, #7337 5837 0128 FFF7FEFF bl assert_failed 5838 .LVL389: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5839 .loc 1 7347 3 is_stmt 0 view .LVU2116 5840 012c 2268 ldr r2, [r4] 5841 .L454: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 5842 .loc 1 7338 3 is_stmt 1 view .LVU2117 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5843 .loc 1 7339 3 view .LVU2118 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 5844 .loc 1 7342 3 view .LVU2119 5845 .LVL390: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5846 .loc 1 7347 3 view .LVU2120 5847 012e 5368 ldr r3, [r2, #4] 5848 0130 5949 ldr r1, .L475+12 5849 0132 0B40 ands r3, r3, r1 5850 0134 2B43 orrs r3, r3, r5 5851 0136 43EA0843 orr r3, r3, r8, lsl #16 5852 013a 43F00073 orr r3, r3, #33554432 5853 013e 5360 str r3, [r2, #4] 5854 .LVL391: 5855 .L455: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 270 5856 .loc 1 7347 3 is_stmt 0 view .LVU2121 5857 .LBE225: 5858 .LBE226: 5859 .LBB227: 5860 .LBB228: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5861 .loc 1 7337 3 view .LVU2122 5862 0140 DFF84C91 ldr r9, .L475+4 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5863 .loc 1 7347 3 view .LVU2123 5864 0144 DFF85081 ldr r8, .L475+12 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5865 .loc 1 7337 3 view .LVU2124 5866 0148 DFF854A1 ldr r10, .L475+20 5867 014c 04E0 b .L453 5868 .L457: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5869 .loc 1 7337 3 view .LVU2125 5870 .LBE228: 5871 .LBE227: 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5872 .loc 1 2618 13 is_stmt 1 view .LVU2126 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5873 .loc 1 2618 18 is_stmt 0 view .LVU2127 5874 014e 638D ldrh r3, [r4, #42] 5875 0150 9BB2 uxth r3, r3 2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5876 .loc 1 2618 5 view .LVU2128 5877 0152 002B cmp r3, #0 5878 0154 00F08480 beq .L474 5879 .L453: 2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5880 .loc 1 2579 5 is_stmt 1 view .LVU2129 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5881 .loc 1 2582 7 view .LVU2130 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5882 .loc 1 2582 11 is_stmt 0 view .LVU2131 5883 0158 3246 mov r2, r6 5884 015a 3946 mov r1, r7 5885 015c 2046 mov r0, r4 5886 015e FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 5887 .LVL392: 2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5888 .loc 1 2582 10 view .LVU2132 5889 0162 0028 cmp r0, #0 5890 0164 7FF47BAF bne .L473 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5891 .loc 1 2588 7 is_stmt 1 view .LVU2133 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5892 .loc 1 2588 30 is_stmt 0 view .LVU2134 5893 0168 636A ldr r3, [r4, #36] 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5894 .loc 1 2588 11 view .LVU2135 5895 016a 2268 ldr r2, [r4] 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5896 .loc 1 2588 30 view .LVU2136 5897 016c 13F8011B ldrb r1, [r3], #1 @ zero_extendqisi2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 271 2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5898 .loc 1 2588 28 view .LVU2137 5899 0170 9162 str r1, [r2, #40] 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5900 .loc 1 2591 7 is_stmt 1 view .LVU2138 2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5901 .loc 1 2591 21 is_stmt 0 view .LVU2139 5902 0172 6362 str r3, [r4, #36] 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5903 .loc 1 2593 7 is_stmt 1 view .LVU2140 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5904 .loc 1 2593 11 is_stmt 0 view .LVU2141 5905 0174 638D ldrh r3, [r4, #42] 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5906 .loc 1 2594 21 view .LVU2142 5907 0176 228D ldrh r2, [r4, #40] 2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 5908 .loc 1 2593 22 view .LVU2143 5909 0178 013B subs r3, r3, #1 5910 017a 9BB2 uxth r3, r3 5911 017c 6385 strh r3, [r4, #42] @ movhi 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5912 .loc 1 2594 7 is_stmt 1 view .LVU2144 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5913 .loc 1 2596 16 is_stmt 0 view .LVU2145 5914 017e 638D ldrh r3, [r4, #42] 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5915 .loc 1 2594 21 view .LVU2146 5916 0180 013A subs r2, r2, #1 5917 0182 92B2 uxth r2, r2 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5918 .loc 1 2596 16 view .LVU2147 5919 0184 9BB2 uxth r3, r3 2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5920 .loc 1 2594 21 view .LVU2148 5921 0186 2285 strh r2, [r4, #40] @ movhi 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5922 .loc 1 2596 7 is_stmt 1 view .LVU2149 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5923 .loc 1 2596 10 is_stmt 0 view .LVU2150 5924 0188 002B cmp r3, #0 5925 018a E0D0 beq .L457 2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5926 .loc 1 2596 35 discriminator 1 view .LVU2151 5927 018c 002A cmp r2, #0 5928 018e DED1 bne .L457 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5929 .loc 1 2599 9 is_stmt 1 view .LVU2152 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5930 .loc 1 2599 13 is_stmt 0 view .LVU2153 5931 0190 0096 str r6, [sp] 5932 0192 3B46 mov r3, r7 5933 0194 8021 movs r1, #128 5934 0196 2046 mov r0, r4 5935 0198 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 5936 .LVL393: 2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 272 5937 .loc 1 2599 12 view .LVU2154 5938 019c 0028 cmp r0, #0 5939 019e 7FF45EAF bne .L473 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5940 .loc 1 2604 9 is_stmt 1 view .LVU2155 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5941 .loc 1 2604 17 is_stmt 0 view .LVU2156 5942 01a2 638D ldrh r3, [r4, #42] 5943 01a4 9BB2 uxth r3, r3 2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 5944 .loc 1 2604 12 view .LVU2157 5945 01a6 FF2B cmp r3, #255 5946 01a8 40D9 bls .L458 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5947 .loc 1 2606 11 is_stmt 1 view .LVU2158 5948 .LBB232: 5949 .LBB233: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5950 .loc 1 7337 3 is_stmt 0 view .LVU2159 5951 01aa 2268 ldr r2, [r4] 5952 .LBE233: 5953 .LBE232: 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5954 .loc 1 2606 26 view .LVU2160 5955 01ac FF23 movs r3, #255 5956 .LBB236: 5957 .LBB234: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5958 .loc 1 7337 3 view .LVU2161 5959 01ae 4A45 cmp r2, r9 5960 .LBE234: 5961 .LBE236: 2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 5962 .loc 1 2606 26 view .LVU2162 5963 01b0 2385 strh r3, [r4, #40] @ movhi 2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 5964 .loc 1 2607 11 is_stmt 1 view .LVU2163 5965 .LVL394: 5966 .LBB237: 5967 .LBI232: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 5968 .loc 1 7333 13 view .LVU2164 5969 .LBB235: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 5970 .loc 1 7337 3 view .LVU2165 5971 01b2 07D0 beq .L459 5972 01b4 5245 cmp r2, r10 5973 01b6 05D0 beq .L459 5974 01b8 3448 ldr r0, .L475 5975 01ba 41F6A941 movw r1, #7337 5976 01be FFF7FEFF bl assert_failed 5977 .LVL395: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5978 .loc 1 7347 3 is_stmt 0 view .LVU2166 5979 01c2 2268 ldr r2, [r4] 5980 .L459: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 273 5981 .loc 1 7338 3 is_stmt 1 view .LVU2167 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5982 .loc 1 7339 3 view .LVU2168 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 5983 .loc 1 7342 3 view .LVU2169 5984 .LVL396: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 5985 .loc 1 7347 3 view .LVU2170 5986 01c4 5368 ldr r3, [r2, #4] 5987 01c6 03EA0803 and r3, r3, r8 5988 01ca 2B43 orrs r3, r3, r5 5989 01cc 43F0FF73 orr r3, r3, #33423360 5990 01d0 43F48033 orr r3, r3, #65536 5991 01d4 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5992 .loc 1 7351 1 is_stmt 0 view .LVU2171 5993 01d6 BAE7 b .L457 5994 .LVL397: 5995 .L448: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 5996 .loc 1 7351 1 view .LVU2172 5997 .LBE235: 5998 .LBE237: 5999 .LBB238: 6000 .LBB219: 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6001 .loc 1 5875 5 is_stmt 1 view .LVU2173 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6002 .loc 1 5875 9 is_stmt 0 view .LVU2174 6003 01d8 2368 ldr r3, [r4] 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6004 .loc 1 5875 28 view .LVU2175 6005 01da 4FEA1922 lsr r2, r9, #8 5875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6006 .loc 1 5875 26 view .LVU2176 6007 01de 9A62 str r2, [r3, #40] 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6008 .loc 1 5878 5 is_stmt 1 view .LVU2177 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6009 .loc 1 5878 9 is_stmt 0 view .LVU2178 6010 01e0 3946 mov r1, r7 6011 01e2 3246 mov r2, r6 6012 01e4 2046 mov r0, r4 6013 01e6 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 6014 .LVL398: 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6015 .loc 1 5878 8 view .LVU2179 6016 01ea 0028 cmp r0, #0 6017 01ec 3FF47BAF beq .L472 6018 .LVL399: 6019 .L447: 5878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6020 .loc 1 5878 8 view .LVU2180 6021 .LBE219: 6022 .LBE238: 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6023 .loc 1 2563 7 is_stmt 1 view .LVU2181 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 274 2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6024 .loc 1 2563 7 view .LVU2182 6025 01f0 0023 movs r3, #0 6026 01f2 84F84030 strb r3, [r4, #64] 6027 01f6 32E7 b .L473 6028 .L450: 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 6029 .loc 1 2570 7 view .LVU2183 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 6030 .loc 1 2570 22 is_stmt 0 view .LVU2184 6031 01f8 FF23 movs r3, #255 6032 .LBB239: 6033 .LBB240: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6034 .loc 1 7337 3 view .LVU2185 6035 01fa 2268 ldr r2, [r4] 6036 .LBE240: 6037 .LBE239: 2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST 6038 .loc 1 2570 22 view .LVU2186 6039 01fc 2385 strh r3, [r4, #40] @ movhi 2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6040 .loc 1 2571 7 is_stmt 1 view .LVU2187 6041 .LVL400: 6042 .LBB242: 6043 .LBI239: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6044 .loc 1 7333 13 view .LVU2188 6045 .LBB241: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6046 .loc 1 7337 3 view .LVU2189 6047 01fe 244B ldr r3, .L475+4 6048 0200 9A42 cmp r2, r3 6049 0202 09D0 beq .L452 6050 0204 03F58063 add r3, r3, #1024 6051 0208 9A42 cmp r2, r3 6052 020a 05D0 beq .L452 6053 020c 1F48 ldr r0, .L475 6054 020e 41F6A941 movw r1, #7337 6055 0212 FFF7FEFF bl assert_failed 6056 .LVL401: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6057 .loc 1 7347 3 is_stmt 0 view .LVU2190 6058 0216 2268 ldr r2, [r4] 6059 .L452: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6060 .loc 1 7338 3 is_stmt 1 view .LVU2191 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6061 .loc 1 7339 3 view .LVU2192 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6062 .loc 1 7342 3 view .LVU2193 6063 .LVL402: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6064 .loc 1 7347 3 view .LVU2194 6065 0218 5368 ldr r3, [r2, #4] 6066 021a 1F49 ldr r1, .L475+12 6067 021c 0B40 ands r3, r3, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 275 6068 021e 2B43 orrs r3, r3, r5 6069 0220 43F0FF73 orr r3, r3, #33423360 6070 0224 43F48033 orr r3, r3, #65536 6071 0228 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6072 .loc 1 7351 1 is_stmt 0 view .LVU2195 6073 022a 89E7 b .L455 6074 .LVL403: 6075 .L458: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6076 .loc 1 7351 1 view .LVU2196 6077 .LBE241: 6078 .LBE242: 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6079 .loc 1 2612 11 is_stmt 1 view .LVU2197 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6080 .loc 1 2612 32 is_stmt 0 view .LVU2198 6081 022c 638D ldrh r3, [r4, #42] 6082 .LBB243: 6083 .LBB229: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6084 .loc 1 7337 3 view .LVU2199 6085 022e 2268 ldr r2, [r4] 6086 .LBE229: 6087 .LBE243: 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6088 .loc 1 2612 32 view .LVU2200 6089 0230 9BB2 uxth r3, r3 6090 .LBB244: 6091 .LBB230: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6092 .loc 1 7337 3 view .LVU2201 6093 0232 4A45 cmp r2, r9 6094 .LBE230: 6095 .LBE244: 2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6096 .loc 1 2612 26 view .LVU2202 6097 0234 2385 strh r3, [r4, #40] @ movhi 2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 6098 .loc 1 2613 11 is_stmt 1 view .LVU2203 6099 0236 5FFA83FB uxtb fp, r3 6100 .LVL404: 6101 .LBB245: 6102 .LBI227: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6103 .loc 1 7333 13 view .LVU2204 6104 .LBB231: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6105 .loc 1 7337 3 view .LVU2205 6106 023a 07D0 beq .L460 6107 023c 5245 cmp r2, r10 6108 023e 05D0 beq .L460 6109 0240 1248 ldr r0, .L475 6110 0242 41F6A941 movw r1, #7337 6111 0246 FFF7FEFF bl assert_failed 6112 .LVL405: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 276 6113 .loc 1 7347 3 is_stmt 0 view .LVU2206 6114 024a 2268 ldr r2, [r4] 6115 .L460: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6116 .loc 1 7338 3 is_stmt 1 view .LVU2207 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6117 .loc 1 7339 3 view .LVU2208 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6118 .loc 1 7342 3 view .LVU2209 6119 .LVL406: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6120 .loc 1 7347 3 view .LVU2210 6121 024c 5368 ldr r3, [r2, #4] 6122 024e 03EA0803 and r3, r3, r8 6123 0252 2B43 orrs r3, r3, r5 6124 0254 43EA0B43 orr r3, r3, fp, lsl #16 6125 0258 43F00073 orr r3, r3, #33554432 6126 025c 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6127 .loc 1 7351 1 is_stmt 0 view .LVU2211 6128 025e 76E7 b .L457 6129 .LVL407: 6130 .L474: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6131 .loc 1 7351 1 view .LVU2212 6132 .LBE231: 6133 .LBE245: 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6134 .loc 1 2622 5 is_stmt 1 view .LVU2213 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6135 .loc 1 2622 9 is_stmt 0 view .LVU2214 6136 0260 3246 mov r2, r6 6137 0262 3946 mov r1, r7 6138 0264 2046 mov r0, r4 6139 0266 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout 6140 .LVL408: 2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6141 .loc 1 2622 8 view .LVU2215 6142 026a 0028 cmp r0, #0 6143 026c 7FF4F7AE bne .L473 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6144 .loc 1 2628 5 is_stmt 1 view .LVU2216 6145 0270 2368 ldr r3, [r4] 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6146 .loc 1 2631 5 is_stmt 0 view .LVU2217 6147 0272 0A4D ldr r5, .L475+16 2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6148 .loc 1 2628 5 view .LVU2218 6149 0274 2021 movs r1, #32 6150 0276 D961 str r1, [r3, #28] 2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6151 .loc 1 2631 5 is_stmt 1 view .LVU2219 6152 0278 5A68 ldr r2, [r3, #4] 6153 027a 2A40 ands r2, r2, r5 6154 027c 5A60 str r2, [r3, #4] 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6155 .loc 1 2633 5 view .LVU2220 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 277 2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6156 .loc 1 2633 17 is_stmt 0 view .LVU2221 6157 027e 84F84110 strb r1, [r4, #65] 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6158 .loc 1 2634 5 is_stmt 1 view .LVU2222 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6159 .loc 1 2637 5 is_stmt 0 view .LVU2223 6160 0282 84F84000 strb r0, [r4, #64] 2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6161 .loc 1 2634 17 view .LVU2224 6162 0286 84F84200 strb r0, [r4, #66] 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6163 .loc 1 2637 5 is_stmt 1 view .LVU2225 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6164 .loc 1 2637 5 view .LVU2226 2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6165 .loc 1 2637 5 view .LVU2227 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6166 .loc 1 2639 5 view .LVU2228 2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6167 .loc 1 2639 12 is_stmt 0 view .LVU2229 6168 028a F0E6 b .L442 6169 .L476: 6170 .align 2 6171 .L475: 6172 028c 00000000 .word .LC0 6173 0290 00540040 .word 1073763328 6174 0294 009800FC .word -67069952 6175 0298 009C00FC .word -67068928 6176 029c 00E800FE .word -33495040 6177 02a0 00580040 .word 1073764352 6178 .cfi_endproc 6179 .LFE146: 6181 .section .text.HAL_I2C_Mem_Read,"ax",%progbits 6182 .align 1 6183 .p2align 2,,3 6184 .global HAL_I2C_Mem_Read 6185 .syntax unified 6186 .thumb 6187 .thumb_func 6189 HAL_I2C_Mem_Read: 6190 .LVL409: 6191 .LFB147: 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6192 .loc 1 2662 1 is_stmt 1 view -0 6193 .cfi_startproc 6194 @ args = 12, pretend = 0, frame = 0 6195 @ frame_needed = 0, uses_anonymous_args = 0 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6196 .loc 1 2662 1 is_stmt 0 view .LVU2231 6197 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 6198 .LCFI83: 6199 .cfi_def_cfa_offset 36 6200 .cfi_offset 4, -36 6201 .cfi_offset 5, -32 6202 .cfi_offset 6, -28 6203 .cfi_offset 7, -24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 278 6204 .cfi_offset 8, -20 6205 .cfi_offset 9, -16 6206 .cfi_offset 10, -12 6207 .cfi_offset 11, -8 6208 .cfi_offset 14, -4 6209 0004 9846 mov r8, r3 6210 0006 83B0 sub sp, sp, #12 6211 .LCFI84: 6212 .cfi_def_cfa_offset 48 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6213 .loc 1 2666 3 view .LVU2232 6214 0008 013B subs r3, r3, #1 6215 .LVL410: 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6216 .loc 1 2666 3 view .LVU2233 6217 000a 012B cmp r3, #1 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6218 .loc 1 2662 1 view .LVU2234 6219 000c BDF834A0 ldrh r10, [sp, #52] 6220 0010 0E9F ldr r7, [sp, #56] 6221 0012 0446 mov r4, r0 2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6222 .loc 1 2663 3 is_stmt 1 view .LVU2235 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6223 .loc 1 2666 3 view .LVU2236 2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 6224 .loc 1 2662 1 is_stmt 0 view .LVU2237 6225 0014 0D46 mov r5, r1 6226 0016 9146 mov r9, r2 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6227 .loc 1 2666 3 view .LVU2238 6228 0018 04D9 bls .L478 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6229 .loc 1 2666 3 discriminator 1 view .LVU2239 6230 001a 9E48 ldr r0, .L512 6231 .LVL411: 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6232 .loc 1 2666 3 discriminator 1 view .LVU2240 6233 001c 40F66A21 movw r1, #2666 6234 .LVL412: 2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6235 .loc 1 2666 3 discriminator 1 view .LVU2241 6236 0020 FFF7FEFF bl assert_failed 6237 .LVL413: 6238 .L478: 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6239 .loc 1 2668 3 is_stmt 1 view .LVU2242 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6240 .loc 1 2668 11 is_stmt 0 view .LVU2243 6241 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6242 .loc 1 2668 6 view .LVU2244 6243 0028 202B cmp r3, #32 6244 002a 23D1 bne .L499 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6245 .loc 1 2670 5 is_stmt 1 view .LVU2245 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 279 6246 .loc 1 2670 8 is_stmt 0 view .LVU2246 6247 002c 0C9B ldr r3, [sp, #48] 6248 002e D3B1 cbz r3, .L480 2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6249 .loc 1 2670 25 discriminator 1 view .LVU2247 6250 0030 BAF1000F cmp r10, #0 6251 0034 17D0 beq .L480 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6252 .loc 1 2677 5 is_stmt 1 view .LVU2248 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6253 .loc 1 2677 5 view .LVU2249 6254 0036 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 6255 003a 012B cmp r3, #1 6256 003c 1AD0 beq .L499 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6257 .loc 1 2677 5 discriminator 2 view .LVU2250 6258 003e 4FF0010B mov fp, #1 6259 0042 84F840B0 strb fp, [r4, #64] 2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6260 .loc 1 2677 5 discriminator 2 view .LVU2251 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6261 .loc 1 2680 5 discriminator 2 view .LVU2252 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6262 .loc 1 2680 17 is_stmt 0 discriminator 2 view .LVU2253 6263 0046 FFF7FEFF bl HAL_GetTick 6264 .LVL414: 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6265 .loc 1 2682 9 discriminator 2 view .LVU2254 6266 004a 5A46 mov r2, fp 2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6267 .loc 1 2680 17 discriminator 2 view .LVU2255 6268 004c 0646 mov r6, r0 6269 .LVL415: 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6270 .loc 1 2682 5 is_stmt 1 discriminator 2 view .LVU2256 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6271 .loc 1 2682 9 is_stmt 0 discriminator 2 view .LVU2257 6272 004e 0090 str r0, [sp] 6273 0050 1923 movs r3, #25 6274 0052 4FF40041 mov r1, #32768 6275 0056 2046 mov r0, r4 6276 .LVL416: 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6277 .loc 1 2682 9 discriminator 2 view .LVU2258 6278 0058 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6279 .LVL417: 2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6280 .loc 1 2682 8 discriminator 2 view .LVU2259 6281 005c 70B1 cbz r0, .L482 6282 .LVL418: 6283 .L510: 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6284 .loc 1 2700 7 is_stmt 1 view .LVU2260 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6285 .loc 1 2701 7 view .LVU2261 2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6286 .loc 1 2701 14 is_stmt 0 view .LVU2262 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 280 6287 005e 0120 movs r0, #1 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6288 .loc 1 2784 1 view .LVU2263 6289 0060 03B0 add sp, sp, #12 6290 .LCFI85: 6291 .cfi_remember_state 6292 .cfi_def_cfa_offset 36 6293 @ sp needed 6294 0062 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 6295 .LVL419: 6296 .L480: 6297 .LCFI86: 6298 .cfi_restore_state 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6299 .loc 1 2672 7 is_stmt 1 view .LVU2264 2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6300 .loc 1 2672 23 is_stmt 0 view .LVU2265 6301 0066 4FF40073 mov r3, #512 6302 006a 6364 str r3, [r4, #68] 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6303 .loc 1 2673 7 is_stmt 1 view .LVU2266 2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6304 .loc 1 2673 15 is_stmt 0 view .LVU2267 6305 006c 0120 movs r0, #1 6306 .LVL420: 6307 .L479: 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6308 .loc 1 2784 1 view .LVU2268 6309 006e 03B0 add sp, sp, #12 6310 .LCFI87: 6311 .cfi_remember_state 6312 .cfi_def_cfa_offset 36 6313 @ sp needed 6314 0070 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 6315 .LVL421: 6316 .L499: 6317 .LCFI88: 6318 .cfi_restore_state 2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6319 .loc 1 2782 12 view .LVU2269 6320 0074 0220 movs r0, #2 2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 6321 .loc 1 2784 1 view .LVU2270 6322 0076 03B0 add sp, sp, #12 6323 .LCFI89: 6324 .cfi_remember_state 6325 .cfi_def_cfa_offset 36 6326 @ sp needed 6327 0078 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 6328 .LVL422: 6329 .L482: 6330 .LCFI90: 6331 .cfi_restore_state 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6332 .loc 1 2687 5 is_stmt 1 view .LVU2271 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6333 .loc 1 2692 21 is_stmt 0 view .LVU2272 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 281 6334 007c 0C9B ldr r3, [sp, #48] 6335 .LBB258: 6336 .LBB259: 6337 .LBB260: 6338 .LBB261: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6339 .loc 1 7337 3 view .LVU2273 6340 007e 2268 ldr r2, [r4] 6341 .LBE261: 6342 .LBE260: 6343 .LBE259: 6344 .LBE258: 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6345 .loc 1 2692 21 view .LVU2274 6346 0080 6362 str r3, [r4, #36] 6347 .LBB272: 6348 .LBB268: 6349 .LBB265: 6350 .LBB262: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6351 .loc 1 7337 3 view .LVU2275 6352 0082 854B ldr r3, .L512+4 6353 .LBE262: 6354 .LBE265: 6355 .LBE268: 6356 .LBE272: 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6357 .loc 1 2694 21 view .LVU2276 6358 0084 6063 str r0, [r4, #52] 2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6359 .loc 1 2687 21 view .LVU2277 6360 0086 2221 movs r1, #34 6361 0088 84F84110 strb r1, [r4, #65] 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6362 .loc 1 2688 5 is_stmt 1 view .LVU2278 6363 .LBB273: 6364 .LBB269: 6365 .LBB266: 6366 .LBB263: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6367 .loc 1 7337 3 is_stmt 0 view .LVU2279 6368 008c 9A42 cmp r2, r3 6369 .LBE263: 6370 .LBE266: 6371 .LBE269: 6372 .LBE273: 2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6373 .loc 1 2688 21 view .LVU2280 6374 008e 4FF04001 mov r1, #64 6375 0092 84F84210 strb r1, [r4, #66] 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6376 .loc 1 2689 5 is_stmt 1 view .LVU2281 2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6377 .loc 1 2689 21 is_stmt 0 view .LVU2282 6378 0096 6064 str r0, [r4, #68] 2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6379 .loc 1 2692 5 is_stmt 1 view .LVU2283 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 282 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6380 .loc 1 2693 5 view .LVU2284 2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 6381 .loc 1 2693 21 is_stmt 0 view .LVU2285 6382 0098 A4F82AA0 strh r10, [r4, #42] @ movhi 2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6383 .loc 1 2694 5 is_stmt 1 view .LVU2286 2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6384 .loc 1 2697 5 view .LVU2287 6385 .LVL423: 6386 .LBB274: 6387 .LBI258: 5908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t MemAddress, uint16_t MemAddSize, uint32_t T 6388 .loc 1 5908 26 view .LVU2288 6389 .LBB270: 5912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6390 .loc 1 5912 3 view .LVU2289 6391 009c 5FFA88FA uxtb r10, r8 6392 .LVL424: 6393 .LBB267: 6394 .LBI260: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6395 .loc 1 7333 13 view .LVU2290 6396 .LBB264: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6397 .loc 1 7337 3 view .LVU2291 6398 00a0 09D0 beq .L483 6399 00a2 03F58063 add r3, r3, #1024 6400 00a6 9A42 cmp r2, r3 6401 00a8 05D0 beq .L483 6402 00aa 7A48 ldr r0, .L512 6403 00ac 41F6A941 movw r1, #7337 6404 00b0 FFF7FEFF bl assert_failed 6405 .LVL425: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6406 .loc 1 7347 3 is_stmt 0 view .LVU2292 6407 00b4 2268 ldr r2, [r4] 6408 .L483: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6409 .loc 1 7338 3 is_stmt 1 view .LVU2293 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6410 .loc 1 7339 3 view .LVU2294 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6411 .loc 1 7342 3 view .LVU2295 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6412 .loc 1 7347 3 is_stmt 0 view .LVU2296 6413 00b6 5368 ldr r3, [r2, #4] 6414 00b8 7849 ldr r1, .L512+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6415 .loc 1 7342 52 view .LVU2297 6416 00ba C5F30905 ubfx r5, r5, #0, #10 6417 .LVL426: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6418 .loc 1 7347 3 is_stmt 1 view .LVU2298 6419 00be 0B40 ands r3, r3, r1 6420 00c0 2B43 orrs r3, r3, r5 6421 00c2 43EA0A43 orr r3, r3, r10, lsl #16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 283 6422 00c6 43F40053 orr r3, r3, #8192 6423 00ca 5360 str r3, [r2, #4] 6424 .LVL427: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6425 .loc 1 7347 3 is_stmt 0 view .LVU2299 6426 .LBE264: 6427 .LBE267: 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6428 .loc 1 5915 3 is_stmt 1 view .LVU2300 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6429 .loc 1 5915 7 is_stmt 0 view .LVU2301 6430 00cc 3946 mov r1, r7 6431 00ce 3246 mov r2, r6 6432 00d0 2046 mov r0, r4 6433 00d2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 6434 .LVL428: 5915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6435 .loc 1 5915 6 view .LVU2302 6436 00d6 0028 cmp r0, #0 6437 00d8 40F08D80 bne .L484 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6438 .loc 1 5921 3 is_stmt 1 view .LVU2303 5921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6439 .loc 1 5921 6 is_stmt 0 view .LVU2304 6440 00dc B8F1010F cmp r8, #1 6441 00e0 7DD1 bne .L485 6442 .L509: 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6443 .loc 1 5939 5 is_stmt 1 view .LVU2305 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6444 .loc 1 5943 3 view .LVU2306 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6445 .loc 1 5939 9 is_stmt 0 view .LVU2307 6446 00e2 2368 ldr r3, [r4] 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6447 .loc 1 5939 28 view .LVU2308 6448 00e4 5FFA89F2 uxtb r2, r9 5939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6449 .loc 1 5939 26 view .LVU2309 6450 00e8 9A62 str r2, [r3, #40] 6451 .LVL429: 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6452 .loc 1 5943 7 view .LVU2310 6453 00ea 4021 movs r1, #64 6454 00ec 0096 str r6, [sp] 6455 00ee 3B46 mov r3, r7 6456 00f0 0022 movs r2, #0 6457 00f2 2046 mov r0, r4 6458 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6459 .LVL430: 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6460 .loc 1 5943 6 view .LVU2311 6461 00f8 0028 cmp r0, #0 6462 00fa 7CD1 bne .L484 6463 .LVL431: 5943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6464 .loc 1 5943 6 view .LVU2312 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 284 6465 .LBE270: 6466 .LBE274: 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6467 .loc 1 2706 5 is_stmt 1 view .LVU2313 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6468 .loc 1 2706 13 is_stmt 0 view .LVU2314 6469 00fc 638D ldrh r3, [r4, #42] 6470 00fe 9BB2 uxth r3, r3 2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6471 .loc 1 2706 8 view .LVU2315 6472 0100 FF2B cmp r3, #255 6473 0102 7CD8 bhi .L487 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6474 .loc 1 2714 7 is_stmt 1 view .LVU2316 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6475 .loc 1 2714 28 is_stmt 0 view .LVU2317 6476 0104 638D ldrh r3, [r4, #42] 6477 .LBB275: 6478 .LBB276: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6479 .loc 1 7337 3 view .LVU2318 6480 0106 2268 ldr r2, [r4] 6481 .LBE276: 6482 .LBE275: 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6483 .loc 1 2714 28 view .LVU2319 6484 0108 9BB2 uxth r3, r3 2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6485 .loc 1 2714 22 view .LVU2320 6486 010a 2385 strh r3, [r4, #40] @ movhi 2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 6487 .loc 1 2715 7 is_stmt 1 view .LVU2321 6488 010c 5FFA83F8 uxtb r8, r3 6489 .LVL432: 6490 .LBB278: 6491 .LBI275: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6492 .loc 1 7333 13 view .LVU2322 6493 .LBB277: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6494 .loc 1 7337 3 view .LVU2323 6495 0110 614B ldr r3, .L512+4 6496 0112 9A42 cmp r2, r3 6497 0114 09D0 beq .L491 6498 0116 03F58063 add r3, r3, #1024 6499 011a 9A42 cmp r2, r3 6500 011c 05D0 beq .L491 6501 011e 5D48 ldr r0, .L512 6502 0120 41F6A941 movw r1, #7337 6503 0124 FFF7FEFF bl assert_failed 6504 .LVL433: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6505 .loc 1 7347 3 is_stmt 0 view .LVU2324 6506 0128 2268 ldr r2, [r4] 6507 .L491: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6508 .loc 1 7338 3 is_stmt 1 view .LVU2325 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 285 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6509 .loc 1 7339 3 view .LVU2326 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6510 .loc 1 7342 3 view .LVU2327 6511 .LVL434: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6512 .loc 1 7347 3 view .LVU2328 6513 012a 5368 ldr r3, [r2, #4] 6514 012c 5B49 ldr r1, .L512+8 6515 012e 0B40 ands r3, r3, r1 6516 0130 2B43 orrs r3, r3, r5 6517 0132 43EA0843 orr r3, r3, r8, lsl #16 6518 0136 43F00073 orr r3, r3, #33554432 6519 013a 43F41053 orr r3, r3, #9216 6520 013e 5360 str r3, [r2, #4] 6521 .LVL435: 6522 .L492: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6523 .loc 1 7347 3 is_stmt 0 view .LVU2329 6524 .LBE277: 6525 .LBE278: 6526 .LBB279: 6527 .LBB280: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6528 .loc 1 7337 3 view .LVU2330 6529 0140 DFF85491 ldr r9, .L512+4 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6530 .loc 1 7347 3 view .LVU2331 6531 0144 DFF85C81 ldr r8, .L512+16 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6532 .loc 1 7337 3 view .LVU2332 6533 0148 DFF85CA1 ldr r10, .L512+20 6534 014c 04E0 b .L490 6535 .L494: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6536 .loc 1 7337 3 view .LVU2333 6537 .LBE280: 6538 .LBE279: 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6539 .loc 1 2757 13 is_stmt 1 view .LVU2334 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6540 .loc 1 2757 18 is_stmt 0 view .LVU2335 6541 014e 638D ldrh r3, [r4, #42] 6542 0150 9BB2 uxth r3, r3 2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6543 .loc 1 2757 5 view .LVU2336 6544 0152 002B cmp r3, #0 6545 0154 00F08780 beq .L511 6546 .L490: 2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6547 .loc 1 2719 5 is_stmt 1 view .LVU2337 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6548 .loc 1 2722 7 view .LVU2338 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6549 .loc 1 2722 11 is_stmt 0 view .LVU2339 6550 0158 0096 str r6, [sp] 6551 015a 3B46 mov r3, r7 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 286 6552 015c 0022 movs r2, #0 6553 015e 0421 movs r1, #4 6554 0160 2046 mov r0, r4 6555 0162 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6556 .LVL436: 2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6557 .loc 1 2722 10 view .LVU2340 6558 0166 0028 cmp r0, #0 6559 0168 7FF479AF bne .L510 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6560 .loc 1 2728 7 is_stmt 1 view .LVU2341 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6561 .loc 1 2728 38 is_stmt 0 view .LVU2342 6562 016c 2368 ldr r3, [r4] 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6563 .loc 1 2728 48 view .LVU2343 6564 016e 5A6A ldr r2, [r3, #36] 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6565 .loc 1 2728 12 view .LVU2344 6566 0170 636A ldr r3, [r4, #36] 2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6567 .loc 1 2728 25 view .LVU2345 6568 0172 1A70 strb r2, [r3] 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6569 .loc 1 2731 7 is_stmt 1 view .LVU2346 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6570 .loc 1 2734 11 is_stmt 0 view .LVU2347 6571 0174 638D ldrh r3, [r4, #42] 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6572 .loc 1 2733 21 view .LVU2348 6573 0176 228D ldrh r2, [r4, #40] 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6574 .loc 1 2734 22 view .LVU2349 6575 0178 013B subs r3, r3, #1 6576 017a 9BB2 uxth r3, r3 6577 017c 6385 strh r3, [r4, #42] @ movhi 2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6578 .loc 1 2731 21 view .LVU2350 6579 017e 636A ldr r3, [r4, #36] 6580 0180 0133 adds r3, r3, #1 6581 0182 6362 str r3, [r4, #36] 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6582 .loc 1 2733 7 is_stmt 1 view .LVU2351 2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6583 .loc 1 2734 7 view .LVU2352 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6584 .loc 1 2736 7 view .LVU2353 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6585 .loc 1 2736 16 is_stmt 0 view .LVU2354 6586 0184 638D ldrh r3, [r4, #42] 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6587 .loc 1 2733 21 view .LVU2355 6588 0186 013A subs r2, r2, #1 6589 0188 92B2 uxth r2, r2 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6590 .loc 1 2736 16 view .LVU2356 6591 018a 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 287 2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 6592 .loc 1 2733 21 view .LVU2357 6593 018c 2285 strh r2, [r4, #40] @ movhi 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6594 .loc 1 2736 10 view .LVU2358 6595 018e 002B cmp r3, #0 6596 0190 DDD0 beq .L494 2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6597 .loc 1 2736 35 discriminator 1 view .LVU2359 6598 0192 002A cmp r2, #0 6599 0194 DBD1 bne .L494 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6600 .loc 1 2739 9 is_stmt 1 view .LVU2360 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6601 .loc 1 2739 13 is_stmt 0 view .LVU2361 6602 0196 0096 str r6, [sp] 6603 0198 3B46 mov r3, r7 6604 019a 8021 movs r1, #128 6605 019c 2046 mov r0, r4 6606 019e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 6607 .LVL437: 2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6608 .loc 1 2739 12 view .LVU2362 6609 01a2 0028 cmp r0, #0 6610 01a4 7FF45BAF bne .L510 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6611 .loc 1 2744 9 is_stmt 1 view .LVU2363 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6612 .loc 1 2744 17 is_stmt 0 view .LVU2364 6613 01a8 638D ldrh r3, [r4, #42] 6614 01aa 9BB2 uxth r3, r3 2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6615 .loc 1 2744 12 view .LVU2365 6616 01ac FF2B cmp r3, #255 6617 01ae 40D9 bls .L495 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 6618 .loc 1 2746 11 is_stmt 1 view .LVU2366 6619 .LBB284: 6620 .LBB285: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6621 .loc 1 7337 3 is_stmt 0 view .LVU2367 6622 01b0 2268 ldr r2, [r4] 6623 .LBE285: 6624 .LBE284: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 6625 .loc 1 2746 26 view .LVU2368 6626 01b2 0123 movs r3, #1 6627 .LBB288: 6628 .LBB286: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6629 .loc 1 7337 3 view .LVU2369 6630 01b4 4A45 cmp r2, r9 6631 .LBE286: 6632 .LBE288: 2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, 6633 .loc 1 2746 26 view .LVU2370 6634 01b6 2385 strh r3, [r4, #40] @ movhi ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 288 2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 6635 .loc 1 2747 11 is_stmt 1 view .LVU2371 6636 .LVL438: 6637 .LBB289: 6638 .LBI284: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6639 .loc 1 7333 13 view .LVU2372 6640 .LBB287: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6641 .loc 1 7337 3 view .LVU2373 6642 01b8 07D0 beq .L496 6643 01ba 5245 cmp r2, r10 6644 01bc 05D0 beq .L496 6645 01be 3548 ldr r0, .L512 6646 01c0 41F6A941 movw r1, #7337 6647 01c4 FFF7FEFF bl assert_failed 6648 .LVL439: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6649 .loc 1 7347 3 is_stmt 0 view .LVU2374 6650 01c8 2268 ldr r2, [r4] 6651 .L496: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6652 .loc 1 7338 3 is_stmt 1 view .LVU2375 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6653 .loc 1 7339 3 view .LVU2376 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6654 .loc 1 7342 3 view .LVU2377 6655 .LVL440: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6656 .loc 1 7347 3 view .LVU2378 6657 01ca 5368 ldr r3, [r2, #4] 6658 01cc 03EA0803 and r3, r3, r8 6659 01d0 2B43 orrs r3, r3, r5 6660 01d2 43F08073 orr r3, r3, #16777216 6661 01d6 43F48033 orr r3, r3, #65536 6662 01da 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6663 .loc 1 7351 1 is_stmt 0 view .LVU2379 6664 01dc B7E7 b .L494 6665 .LVL441: 6666 .L485: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6667 .loc 1 7351 1 view .LVU2380 6668 .LBE287: 6669 .LBE289: 6670 .LBB290: 6671 .LBB271: 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6672 .loc 1 5930 5 is_stmt 1 view .LVU2381 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6673 .loc 1 5930 9 is_stmt 0 view .LVU2382 6674 01de 2368 ldr r3, [r4] 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6675 .loc 1 5930 28 view .LVU2383 6676 01e0 4FEA1922 lsr r2, r9, #8 5930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6677 .loc 1 5930 26 view .LVU2384 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 289 6678 01e4 9A62 str r2, [r3, #40] 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6679 .loc 1 5933 5 is_stmt 1 view .LVU2385 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6680 .loc 1 5933 9 is_stmt 0 view .LVU2386 6681 01e6 3946 mov r1, r7 6682 01e8 3246 mov r2, r6 6683 01ea 2046 mov r0, r4 6684 01ec FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout 6685 .LVL442: 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6686 .loc 1 5933 8 view .LVU2387 6687 01f0 0028 cmp r0, #0 6688 01f2 3FF476AF beq .L509 6689 .LVL443: 6690 .L484: 5933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6691 .loc 1 5933 8 view .LVU2388 6692 .LBE271: 6693 .LBE290: 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6694 .loc 1 2700 7 is_stmt 1 view .LVU2389 2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 6695 .loc 1 2700 7 view .LVU2390 6696 01f6 0023 movs r3, #0 6697 01f8 84F84030 strb r3, [r4, #64] 6698 01fc 2FE7 b .L510 6699 .L487: 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 6700 .loc 1 2708 7 view .LVU2391 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 6701 .loc 1 2708 22 is_stmt 0 view .LVU2392 6702 01fe 0123 movs r3, #1 6703 .LBB291: 6704 .LBB292: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6705 .loc 1 7337 3 view .LVU2393 6706 0200 2268 ldr r2, [r4] 6707 .LBE292: 6708 .LBE291: 2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, 6709 .loc 1 2708 22 view .LVU2394 6710 0202 2385 strh r3, [r4, #40] @ movhi 2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 6711 .loc 1 2709 7 is_stmt 1 view .LVU2395 6712 .LVL444: 6713 .LBB294: 6714 .LBI291: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6715 .loc 1 7333 13 view .LVU2396 6716 .LBB293: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6717 .loc 1 7337 3 view .LVU2397 6718 0204 244B ldr r3, .L512+4 6719 0206 9A42 cmp r2, r3 6720 0208 09D0 beq .L489 6721 020a 03F58063 add r3, r3, #1024 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 290 6722 020e 9A42 cmp r2, r3 6723 0210 05D0 beq .L489 6724 0212 2048 ldr r0, .L512 6725 0214 41F6A941 movw r1, #7337 6726 0218 FFF7FEFF bl assert_failed 6727 .LVL445: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6728 .loc 1 7347 3 is_stmt 0 view .LVU2398 6729 021c 2268 ldr r2, [r4] 6730 .L489: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6731 .loc 1 7338 3 is_stmt 1 view .LVU2399 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6732 .loc 1 7339 3 view .LVU2400 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6733 .loc 1 7342 3 view .LVU2401 6734 .LVL446: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6735 .loc 1 7347 3 view .LVU2402 6736 021e 5368 ldr r3, [r2, #4] 6737 0220 1E49 ldr r1, .L512+8 6738 0222 0B40 ands r3, r3, r1 6739 0224 2B43 orrs r3, r3, r5 6740 0226 43F08073 orr r3, r3, #16777216 6741 022a 43F49233 orr r3, r3, #74752 6742 022e 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6743 .loc 1 7351 1 is_stmt 0 view .LVU2403 6744 0230 86E7 b .L492 6745 .LVL447: 6746 .L495: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6747 .loc 1 7351 1 view .LVU2404 6748 .LBE293: 6749 .LBE294: 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6750 .loc 1 2752 11 is_stmt 1 view .LVU2405 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6751 .loc 1 2752 32 is_stmt 0 view .LVU2406 6752 0232 638D ldrh r3, [r4, #42] 6753 .LBB295: 6754 .LBB281: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6755 .loc 1 7337 3 view .LVU2407 6756 0234 2268 ldr r2, [r4] 6757 .LBE281: 6758 .LBE295: 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6759 .loc 1 2752 32 view .LVU2408 6760 0236 9BB2 uxth r3, r3 6761 .LBB296: 6762 .LBB282: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6763 .loc 1 7337 3 view .LVU2409 6764 0238 4A45 cmp r2, r9 6765 .LBE282: 6766 .LBE296: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 291 2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, 6767 .loc 1 2752 26 view .LVU2410 6768 023a 2385 strh r3, [r4, #40] @ movhi 2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_NO_STARTSTOP); 6769 .loc 1 2753 11 is_stmt 1 view .LVU2411 6770 023c 5FFA83FB uxtb fp, r3 6771 .LVL448: 6772 .LBB297: 6773 .LBI279: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6774 .loc 1 7333 13 view .LVU2412 6775 .LBB283: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6776 .loc 1 7337 3 view .LVU2413 6777 0240 07D0 beq .L497 6778 0242 5245 cmp r2, r10 6779 0244 05D0 beq .L497 6780 0246 1348 ldr r0, .L512 6781 0248 41F6A941 movw r1, #7337 6782 024c FFF7FEFF bl assert_failed 6783 .LVL449: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6784 .loc 1 7347 3 is_stmt 0 view .LVU2414 6785 0250 2268 ldr r2, [r4] 6786 .L497: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 6787 .loc 1 7338 3 is_stmt 1 view .LVU2415 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6788 .loc 1 7339 3 view .LVU2416 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 6789 .loc 1 7342 3 view .LVU2417 6790 .LVL450: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 6791 .loc 1 7347 3 view .LVU2418 6792 0252 5368 ldr r3, [r2, #4] 6793 0254 03EA0803 and r3, r3, r8 6794 0258 2B43 orrs r3, r3, r5 6795 025a 43EA0B43 orr r3, r3, fp, lsl #16 6796 025e 43F00073 orr r3, r3, #33554432 6797 0262 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6798 .loc 1 7351 1 is_stmt 0 view .LVU2419 6799 0264 73E7 b .L494 6800 .LVL451: 6801 .L511: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6802 .loc 1 7351 1 view .LVU2420 6803 .LBE283: 6804 .LBE297: 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6805 .loc 1 2761 5 is_stmt 1 view .LVU2421 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6806 .loc 1 2761 9 is_stmt 0 view .LVU2422 6807 0266 3246 mov r2, r6 6808 0268 3946 mov r1, r7 6809 026a 2046 mov r0, r4 6810 026c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 292 6811 .LVL452: 2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6812 .loc 1 2761 8 view .LVU2423 6813 0270 0028 cmp r0, #0 6814 0272 7FF4F4AE bne .L510 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6815 .loc 1 2767 5 is_stmt 1 view .LVU2424 6816 0276 2368 ldr r3, [r4] 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6817 .loc 1 2770 5 is_stmt 0 view .LVU2425 6818 0278 094D ldr r5, .L512+12 2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6819 .loc 1 2767 5 view .LVU2426 6820 027a 2021 movs r1, #32 6821 027c D961 str r1, [r3, #28] 2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6822 .loc 1 2770 5 is_stmt 1 view .LVU2427 6823 027e 5A68 ldr r2, [r3, #4] 6824 0280 2A40 ands r2, r2, r5 6825 0282 5A60 str r2, [r3, #4] 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6826 .loc 1 2772 5 view .LVU2428 2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 6827 .loc 1 2772 17 is_stmt 0 view .LVU2429 6828 0284 84F84110 strb r1, [r4, #65] 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6829 .loc 1 2773 5 is_stmt 1 view .LVU2430 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6830 .loc 1 2776 5 is_stmt 0 view .LVU2431 6831 0288 84F84000 strb r0, [r4, #64] 2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6832 .loc 1 2773 17 view .LVU2432 6833 028c 84F84200 strb r0, [r4, #66] 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6834 .loc 1 2776 5 is_stmt 1 view .LVU2433 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6835 .loc 1 2776 5 view .LVU2434 2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6836 .loc 1 2776 5 view .LVU2435 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6837 .loc 1 2778 5 view .LVU2436 2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6838 .loc 1 2778 12 is_stmt 0 view .LVU2437 6839 0290 EDE6 b .L479 6840 .L513: 6841 0292 00BF .align 2 6842 .L512: 6843 0294 00000000 .word .LC0 6844 0298 00540040 .word 1073763328 6845 029c 009800FC .word -67069952 6846 02a0 00E800FE .word -33495040 6847 02a4 009C00FC .word -67068928 6848 02a8 00580040 .word 1073764352 6849 .cfi_endproc 6850 .LFE147: 6852 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits 6853 .align 1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 293 6854 .p2align 2,,3 6855 .global HAL_I2C_Mem_Write_IT 6856 .syntax unified 6857 .thumb 6858 .thumb_func 6860 HAL_I2C_Mem_Write_IT: 6861 .LVL453: 6862 .LFB148: 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 6863 .loc 1 2799 1 is_stmt 1 view -0 6864 .cfi_startproc 6865 @ args = 8, pretend = 0, frame = 0 6866 @ frame_needed = 0, uses_anonymous_args = 0 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6867 .loc 1 2801 3 view .LVU2439 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 6868 .loc 1 2799 1 is_stmt 0 view .LVU2440 6869 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 6870 .LCFI91: 6871 .cfi_def_cfa_offset 32 6872 .cfi_offset 3, -32 6873 .cfi_offset 4, -28 6874 .cfi_offset 5, -24 6875 .cfi_offset 6, -20 6876 .cfi_offset 7, -16 6877 .cfi_offset 8, -12 6878 .cfi_offset 9, -8 6879 .cfi_offset 14, -4 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 6880 .loc 1 2799 1 view .LVU2441 6881 0004 0446 mov r4, r0 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6882 .loc 1 2801 3 view .LVU2442 6883 0006 581E subs r0, r3, #1 6884 .LVL454: 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6885 .loc 1 2801 3 view .LVU2443 6886 0008 0128 cmp r0, #1 2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 6887 .loc 1 2799 1 view .LVU2444 6888 000a BDF82490 ldrh r9, [sp, #36] 6889 000e 9846 mov r8, r3 6890 0010 0F46 mov r7, r1 6891 0012 1546 mov r5, r2 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6892 .loc 1 2801 3 view .LVU2445 6893 0014 04D9 bls .L515 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6894 .loc 1 2801 3 discriminator 1 view .LVU2446 6895 0016 3348 ldr r0, .L530 6896 0018 40F6F121 movw r1, #2801 6897 .LVL455: 2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6898 .loc 1 2801 3 discriminator 1 view .LVU2447 6899 001c FFF7FEFF bl assert_failed 6900 .LVL456: 6901 .L515: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 294 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6902 .loc 1 2803 3 is_stmt 1 view .LVU2448 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6903 .loc 1 2803 11 is_stmt 0 view .LVU2449 6904 0020 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6905 .loc 1 2803 6 view .LVU2450 6906 0024 2028 cmp r0, #32 6907 0026 54D1 bne .L524 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6908 .loc 1 2805 5 is_stmt 1 view .LVU2451 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6909 .loc 1 2805 8 is_stmt 0 view .LVU2452 6910 0028 089B ldr r3, [sp, #32] 6911 002a 002B cmp r3, #0 6912 002c 4BD0 beq .L517 2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6913 .loc 1 2805 25 discriminator 1 view .LVU2453 6914 002e B9F1000F cmp r9, #0 6915 0032 48D0 beq .L517 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6916 .loc 1 2811 5 is_stmt 1 view .LVU2454 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6917 .loc 1 2811 9 is_stmt 0 view .LVU2455 6918 0034 2668 ldr r6, [r4] 6919 0036 B369 ldr r3, [r6, #24] 2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6920 .loc 1 2811 8 view .LVU2456 6921 0038 13F40043 ands r3, r3, #32768 6922 003c 49D1 bne .L524 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6923 .loc 1 2817 5 is_stmt 1 view .LVU2457 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6924 .loc 1 2817 5 view .LVU2458 6925 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 6926 0042 012A cmp r2, #1 6927 0044 45D0 beq .L524 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6928 .loc 1 2817 5 discriminator 2 view .LVU2459 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6929 .loc 1 2828 23 is_stmt 0 discriminator 2 view .LVU2460 6930 0046 2849 ldr r1, .L530+4 6931 0048 6163 str r1, [r4, #52] 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6932 .loc 1 2817 5 discriminator 2 view .LVU2461 6933 004a 0121 movs r1, #1 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6934 .loc 1 2825 23 discriminator 2 view .LVU2462 6935 004c 089A ldr r2, [sp, #32] 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6936 .loc 1 2817 5 discriminator 2 view .LVU2463 6937 004e 84F84010 strb r1, [r4, #64] 2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6938 .loc 1 2817 5 is_stmt 1 discriminator 2 view .LVU2464 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 6939 .loc 1 2819 5 discriminator 2 view .LVU2465 2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 295 6940 .loc 1 2819 23 is_stmt 0 discriminator 2 view .LVU2466 6941 0052 2121 movs r1, #33 6942 0054 84F84110 strb r1, [r4, #65] 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6943 .loc 1 2820 5 is_stmt 1 discriminator 2 view .LVU2467 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6944 .loc 1 2825 23 is_stmt 0 discriminator 2 view .LVU2468 6945 0058 6262 str r2, [r4, #36] 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6946 .loc 1 2820 23 discriminator 2 view .LVU2469 6947 005a 4021 movs r1, #64 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 6948 .loc 1 2827 23 discriminator 2 view .LVU2470 6949 005c 234A ldr r2, .L530+8 2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 6950 .loc 1 2820 23 discriminator 2 view .LVU2471 6951 005e 84F84210 strb r1, [r4, #66] 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6952 .loc 1 2821 5 is_stmt 1 discriminator 2 view .LVU2472 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6953 .loc 1 2832 8 is_stmt 0 discriminator 2 view .LVU2473 6954 0062 B8F1010F cmp r8, #1 2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6955 .loc 1 2821 23 discriminator 2 view .LVU2474 6956 0066 6364 str r3, [r4, #68] 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 6957 .loc 1 2824 5 is_stmt 1 discriminator 2 view .LVU2475 2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 6958 .loc 1 2825 5 discriminator 2 view .LVU2476 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6959 .loc 1 2826 5 discriminator 2 view .LVU2477 2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->pBuffPtr = pData; 6960 .loc 1 2824 23 is_stmt 0 discriminator 2 view .LVU2478 6961 0068 2385 strh r3, [r4, #40] @ movhi 2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 6962 .loc 1 2826 23 discriminator 2 view .LVU2479 6963 006a A4F82A90 strh r9, [r4, #42] @ movhi 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 6964 .loc 1 2827 5 is_stmt 1 discriminator 2 view .LVU2480 2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 6965 .loc 1 2827 23 is_stmt 0 discriminator 2 view .LVU2481 6966 006e E262 str r2, [r4, #44] 2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 6967 .loc 1 2828 5 is_stmt 1 discriminator 2 view .LVU2482 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6968 .loc 1 2829 5 discriminator 2 view .LVU2483 2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6969 .loc 1 2829 23 is_stmt 0 discriminator 2 view .LVU2484 6970 0070 E764 str r7, [r4, #76] 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6971 .loc 1 2832 5 is_stmt 1 discriminator 2 view .LVU2485 2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 6972 .loc 1 2832 8 is_stmt 0 discriminator 2 view .LVU2486 6973 0072 31D0 beq .L529 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6974 .loc 1 2844 7 is_stmt 1 view .LVU2487 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 296 6975 .loc 1 2844 30 is_stmt 0 view .LVU2488 6976 0074 2B0A lsrs r3, r5, #8 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6977 .loc 1 2847 26 view .LVU2489 6978 0076 EDB2 uxtb r5, r5 2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6979 .loc 1 2844 28 view .LVU2490 6980 0078 B362 str r3, [r6, #40] 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6981 .loc 1 2847 7 is_stmt 1 view .LVU2491 2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 6982 .loc 1 2847 24 is_stmt 0 view .LVU2492 6983 007a 2565 str r5, [r4, #80] 6984 .L520: 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6985 .loc 1 2850 5 is_stmt 1 view .LVU2493 6986 .LBB302: 6987 .LBB303: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 6988 .loc 1 7337 3 is_stmt 0 view .LVU2494 6989 007c 1C4B ldr r3, .L530+12 6990 007e 9E42 cmp r6, r3 6991 .LBE303: 6992 .LBE302: 2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 6993 .loc 1 2850 5 view .LVU2495 6994 0080 5FFA88F8 uxtb r8, r8 6995 .LVL457: 6996 .LBB306: 6997 .LBI302: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 6998 .loc 1 7333 13 is_stmt 1 view .LVU2496 6999 .LBB304: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7000 .loc 1 7337 3 view .LVU2497 7001 0084 09D0 beq .L521 7002 0086 03F58063 add r3, r3, #1024 7003 008a 9E42 cmp r6, r3 7004 008c 05D0 beq .L521 7005 008e 1548 ldr r0, .L530 7006 0090 41F6A941 movw r1, #7337 7007 0094 FFF7FEFF bl assert_failed 7008 .LVL458: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7009 .loc 1 7347 3 is_stmt 0 view .LVU2498 7010 0098 2668 ldr r6, [r4] 7011 .L521: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 7012 .loc 1 7338 3 is_stmt 1 view .LVU2499 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7013 .loc 1 7339 3 view .LVU2500 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7014 .loc 1 7342 3 view .LVU2501 7015 .LVL459: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7016 .loc 1 7347 3 view .LVU2502 7017 009a 7268 ldr r2, [r6, #4] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 297 7018 009c 1549 ldr r1, .L530+16 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7019 .loc 1 7342 52 is_stmt 0 view .LVU2503 7020 009e C7F30903 ubfx r3, r7, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7021 .loc 1 7347 3 view .LVU2504 7022 00a2 0A40 ands r2, r2, r1 7023 00a4 1343 orrs r3, r3, r2 7024 00a6 43EA0843 orr r3, r3, r8, lsl #16 7025 00aa 43F08073 orr r3, r3, #16777216 7026 .LBE304: 7027 .LBE306: 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7028 .loc 1 2853 5 view .LVU2505 7029 00ae 0020 movs r0, #0 7030 .LBB307: 7031 .LBB305: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7032 .loc 1 7347 3 view .LVU2506 7033 00b0 43F40053 orr r3, r3, #8192 7034 00b4 7360 str r3, [r6, #4] 7035 .LVL460: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7036 .loc 1 7347 3 view .LVU2507 7037 .LBE305: 7038 .LBE307: 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7039 .loc 1 2853 5 is_stmt 1 view .LVU2508 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7040 .loc 1 2853 5 view .LVU2509 7041 00b6 84F84000 strb r0, [r4, #64] 2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7042 .loc 1 2853 5 view .LVU2510 2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7043 .loc 1 2863 5 view .LVU2511 7044 .LVL461: 7045 .LBB308: 7046 .LBI308: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7047 .loc 1 7360 13 view .LVU2512 7048 .LBB309: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7049 .loc 1 7362 3 view .LVU2513 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 7050 .loc 1 7364 3 view .LVU2514 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7051 .loc 1 7441 3 view .LVU2515 7052 00ba 3368 ldr r3, [r6] 7053 00bc 43F0F203 orr r3, r3, #242 7054 00c0 3360 str r3, [r6] 7055 .LVL462: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7056 .loc 1 7441 3 is_stmt 0 view .LVU2516 7057 .LBE309: 7058 .LBE308: 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7059 .loc 1 2871 1 view .LVU2517 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 298 7060 00c2 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7061 .LVL463: 7062 .L517: 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7063 .loc 1 2807 7 is_stmt 1 view .LVU2518 2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7064 .loc 1 2807 23 is_stmt 0 view .LVU2519 7065 00c6 4FF40073 mov r3, #512 7066 00ca 6364 str r3, [r4, #68] 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7067 .loc 1 2808 7 is_stmt 1 view .LVU2520 2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7068 .loc 1 2808 15 is_stmt 0 view .LVU2521 7069 00cc 0120 movs r0, #1 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7070 .loc 1 2871 1 view .LVU2522 7071 00ce BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7072 .LVL464: 7073 .L524: 2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7074 .loc 1 2869 12 view .LVU2523 7075 00d2 0220 movs r0, #2 2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7076 .loc 1 2871 1 view .LVU2524 7077 00d4 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7078 .LVL465: 7079 .L529: 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7080 .loc 1 2835 7 is_stmt 1 view .LVU2525 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7081 .loc 1 2835 30 is_stmt 0 view .LVU2526 7082 00d8 EDB2 uxtb r5, r5 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7083 .loc 1 2838 24 view .LVU2527 7084 00da 4FF0FF33 mov r3, #-1 2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7085 .loc 1 2835 28 view .LVU2528 7086 00de B562 str r5, [r6, #40] 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7087 .loc 1 2838 7 is_stmt 1 view .LVU2529 2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7088 .loc 1 2838 24 is_stmt 0 view .LVU2530 7089 00e0 2365 str r3, [r4, #80] 7090 00e2 CBE7 b .L520 7091 .L531: 7092 .align 2 7093 .L530: 7094 00e4 00000000 .word .LC0 7095 00e8 00000000 .word I2C_Mem_ISR_IT 7096 00ec 0000FFFF .word -65536 7097 00f0 00540040 .word 1073763328 7098 00f4 009800FC .word -67069952 7099 .cfi_endproc 7100 .LFE148: 7102 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits 7103 .align 1 7104 .p2align 2,,3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 299 7105 .global HAL_I2C_Mem_Read_IT 7106 .syntax unified 7107 .thumb 7108 .thumb_func 7110 HAL_I2C_Mem_Read_IT: 7111 .LVL466: 7112 .LFB149: 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7113 .loc 1 2887 1 is_stmt 1 view -0 7114 .cfi_startproc 7115 @ args = 8, pretend = 0, frame = 0 7116 @ frame_needed = 0, uses_anonymous_args = 0 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7117 .loc 1 2889 3 view .LVU2532 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7118 .loc 1 2887 1 is_stmt 0 view .LVU2533 7119 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 7120 .LCFI92: 7121 .cfi_def_cfa_offset 24 7122 .cfi_offset 4, -24 7123 .cfi_offset 5, -20 7124 .cfi_offset 6, -16 7125 .cfi_offset 7, -12 7126 .cfi_offset 8, -8 7127 .cfi_offset 14, -4 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7128 .loc 1 2887 1 view .LVU2534 7129 0004 0446 mov r4, r0 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7130 .loc 1 2889 3 view .LVU2535 7131 0006 581E subs r0, r3, #1 7132 .LVL467: 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7133 .loc 1 2889 3 view .LVU2536 7134 0008 0128 cmp r0, #1 2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Check the parameters */ 7135 .loc 1 2887 1 view .LVU2537 7136 000a BDF81C80 ldrh r8, [sp, #28] 7137 000e 1F46 mov r7, r3 7138 0010 0E46 mov r6, r1 7139 0012 1546 mov r5, r2 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7140 .loc 1 2889 3 view .LVU2538 7141 0014 04D9 bls .L533 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7142 .loc 1 2889 3 discriminator 1 view .LVU2539 7143 0016 3148 ldr r0, .L548 7144 0018 40F64931 movw r1, #2889 7145 .LVL468: 2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7146 .loc 1 2889 3 discriminator 1 view .LVU2540 7147 001c FFF7FEFF bl assert_failed 7148 .LVL469: 7149 .L533: 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7150 .loc 1 2891 3 is_stmt 1 view .LVU2541 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 300 7151 .loc 1 2891 11 is_stmt 0 view .LVU2542 7152 0020 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7153 .loc 1 2891 6 view .LVU2543 7154 0024 2028 cmp r0, #32 7155 0026 4FD1 bne .L542 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7156 .loc 1 2893 5 is_stmt 1 view .LVU2544 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7157 .loc 1 2893 8 is_stmt 0 view .LVU2545 7158 0028 069B ldr r3, [sp, #24] 7159 002a 002B cmp r3, #0 7160 002c 46D0 beq .L535 2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7161 .loc 1 2893 25 discriminator 1 view .LVU2546 7162 002e B8F1000F cmp r8, #0 7163 0032 43D0 beq .L535 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7164 .loc 1 2899 5 is_stmt 1 view .LVU2547 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7165 .loc 1 2899 9 is_stmt 0 view .LVU2548 7166 0034 2168 ldr r1, [r4] 7167 0036 8B69 ldr r3, [r1, #24] 2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7168 .loc 1 2899 8 view .LVU2549 7169 0038 13F40043 ands r3, r3, #32768 7170 003c 44D1 bne .L542 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7171 .loc 1 2905 5 is_stmt 1 view .LVU2550 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7172 .loc 1 2905 5 view .LVU2551 7173 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 7174 0042 012A cmp r2, #1 7175 0044 40D0 beq .L542 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7176 .loc 1 2905 5 discriminator 2 view .LVU2552 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7177 .loc 1 2915 23 is_stmt 0 discriminator 2 view .LVU2553 7178 0046 2648 ldr r0, .L548+4 7179 0048 6063 str r0, [r4, #52] 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7180 .loc 1 2905 5 discriminator 2 view .LVU2554 7181 004a 0120 movs r0, #1 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7182 .loc 1 2912 23 discriminator 2 view .LVU2555 7183 004c 069A ldr r2, [sp, #24] 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7184 .loc 1 2905 5 discriminator 2 view .LVU2556 7185 004e 84F84000 strb r0, [r4, #64] 2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7186 .loc 1 2905 5 is_stmt 1 discriminator 2 view .LVU2557 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7187 .loc 1 2907 5 discriminator 2 view .LVU2558 2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7188 .loc 1 2907 23 is_stmt 0 discriminator 2 view .LVU2559 7189 0052 2220 movs r0, #34 7190 0054 84F84100 strb r0, [r4, #65] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 301 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7191 .loc 1 2908 5 is_stmt 1 discriminator 2 view .LVU2560 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7192 .loc 1 2912 23 is_stmt 0 discriminator 2 view .LVU2561 7193 0058 6262 str r2, [r4, #36] 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7194 .loc 1 2908 23 discriminator 2 view .LVU2562 7195 005a 4020 movs r0, #64 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 7196 .loc 1 2914 23 discriminator 2 view .LVU2563 7197 005c 214A ldr r2, .L548+8 2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7198 .loc 1 2908 23 discriminator 2 view .LVU2564 7199 005e 84F84200 strb r0, [r4, #66] 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7200 .loc 1 2909 5 is_stmt 1 discriminator 2 view .LVU2565 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7201 .loc 1 2919 8 is_stmt 0 discriminator 2 view .LVU2566 7202 0062 012F cmp r7, #1 2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7203 .loc 1 2909 23 discriminator 2 view .LVU2567 7204 0064 6364 str r3, [r4, #68] 2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7205 .loc 1 2912 5 is_stmt 1 discriminator 2 view .LVU2568 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7206 .loc 1 2913 5 discriminator 2 view .LVU2569 2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7207 .loc 1 2913 23 is_stmt 0 discriminator 2 view .LVU2570 7208 0066 A4F82A80 strh r8, [r4, #42] @ movhi 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 7209 .loc 1 2914 5 is_stmt 1 discriminator 2 view .LVU2571 2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_IT; 7210 .loc 1 2914 23 is_stmt 0 discriminator 2 view .LVU2572 7211 006a E262 str r2, [r4, #44] 2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7212 .loc 1 2915 5 is_stmt 1 discriminator 2 view .LVU2573 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7213 .loc 1 2916 5 discriminator 2 view .LVU2574 2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7214 .loc 1 2916 23 is_stmt 0 discriminator 2 view .LVU2575 7215 006c E664 str r6, [r4, #76] 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7216 .loc 1 2919 5 is_stmt 1 discriminator 2 view .LVU2576 2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7217 .loc 1 2919 8 is_stmt 0 discriminator 2 view .LVU2577 7218 006e 2ED0 beq .L547 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7219 .loc 1 2931 7 is_stmt 1 view .LVU2578 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7220 .loc 1 2931 30 is_stmt 0 view .LVU2579 7221 0070 2B0A lsrs r3, r5, #8 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7222 .loc 1 2934 26 view .LVU2580 7223 0072 EDB2 uxtb r5, r5 2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7224 .loc 1 2931 28 view .LVU2581 7225 0074 8B62 str r3, [r1, #40] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 302 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7226 .loc 1 2934 7 is_stmt 1 view .LVU2582 2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7227 .loc 1 2934 24 is_stmt 0 view .LVU2583 7228 0076 2565 str r5, [r4, #80] 7229 .L538: 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7230 .loc 1 2937 5 is_stmt 1 view .LVU2584 7231 .LBB314: 7232 .LBB315: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7233 .loc 1 7337 3 is_stmt 0 view .LVU2585 7234 0078 1B4B ldr r3, .L548+12 7235 007a 9942 cmp r1, r3 7236 .LBE315: 7237 .LBE314: 2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7238 .loc 1 2937 5 view .LVU2586 7239 007c FFB2 uxtb r7, r7 7240 .LVL470: 7241 .LBB318: 7242 .LBI314: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 7243 .loc 1 7333 13 is_stmt 1 view .LVU2587 7244 .LBB316: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7245 .loc 1 7337 3 view .LVU2588 7246 007e 09D0 beq .L539 7247 0080 03F58063 add r3, r3, #1024 7248 0084 9942 cmp r1, r3 7249 0086 05D0 beq .L539 7250 0088 41F6A941 movw r1, #7337 7251 008c 1348 ldr r0, .L548 7252 008e FFF7FEFF bl assert_failed 7253 .LVL471: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7254 .loc 1 7347 3 is_stmt 0 view .LVU2589 7255 0092 2168 ldr r1, [r4] 7256 .L539: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 7257 .loc 1 7338 3 is_stmt 1 view .LVU2590 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7258 .loc 1 7339 3 view .LVU2591 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7259 .loc 1 7342 3 view .LVU2592 7260 .LVL472: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7261 .loc 1 7347 3 view .LVU2593 7262 0094 4A68 ldr r2, [r1, #4] 7263 0096 1548 ldr r0, .L548+16 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7264 .loc 1 7342 52 is_stmt 0 view .LVU2594 7265 0098 C6F30903 ubfx r3, r6, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7266 .loc 1 7347 3 view .LVU2595 7267 009c 0240 ands r2, r2, r0 7268 009e 1343 orrs r3, r3, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 303 7269 00a0 43EA0743 orr r3, r3, r7, lsl #16 7270 .LBE316: 7271 .LBE318: 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7272 .loc 1 2940 5 view .LVU2596 7273 00a4 0020 movs r0, #0 7274 .LBB319: 7275 .LBB317: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7276 .loc 1 7347 3 view .LVU2597 7277 00a6 43F40053 orr r3, r3, #8192 7278 00aa 4B60 str r3, [r1, #4] 7279 .LVL473: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7280 .loc 1 7347 3 view .LVU2598 7281 .LBE317: 7282 .LBE319: 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7283 .loc 1 2940 5 is_stmt 1 view .LVU2599 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7284 .loc 1 2940 5 view .LVU2600 7285 00ac 84F84000 strb r0, [r4, #64] 2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7286 .loc 1 2940 5 view .LVU2601 2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7287 .loc 1 2950 5 view .LVU2602 7288 .LVL474: 7289 .LBB320: 7290 .LBI320: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7291 .loc 1 7360 13 view .LVU2603 7292 .LBB321: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7293 .loc 1 7362 3 view .LVU2604 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 7294 .loc 1 7364 3 view .LVU2605 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7295 .loc 1 7441 3 view .LVU2606 7296 00b0 0B68 ldr r3, [r1] 7297 00b2 43F0F203 orr r3, r3, #242 7298 00b6 0B60 str r3, [r1] 7299 .LVL475: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7300 .loc 1 7441 3 is_stmt 0 view .LVU2607 7301 .LBE321: 7302 .LBE320: 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7303 .loc 1 2958 1 view .LVU2608 7304 00b8 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 7305 .LVL476: 7306 .L535: 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7307 .loc 1 2895 7 is_stmt 1 view .LVU2609 2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7308 .loc 1 2895 23 is_stmt 0 view .LVU2610 7309 00bc 4FF40073 mov r3, #512 7310 00c0 6364 str r3, [r4, #68] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 304 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7311 .loc 1 2896 7 is_stmt 1 view .LVU2611 2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7312 .loc 1 2896 15 is_stmt 0 view .LVU2612 7313 00c2 0120 movs r0, #1 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7314 .loc 1 2958 1 view .LVU2613 7315 00c4 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 7316 .LVL477: 7317 .L542: 2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7318 .loc 1 2956 12 view .LVU2614 7319 00c8 0220 movs r0, #2 2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7320 .loc 1 2958 1 view .LVU2615 7321 00ca BDE8F081 pop {r4, r5, r6, r7, r8, pc} 7322 .LVL478: 7323 .L547: 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7324 .loc 1 2922 7 is_stmt 1 view .LVU2616 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7325 .loc 1 2922 30 is_stmt 0 view .LVU2617 7326 00ce EDB2 uxtb r5, r5 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7327 .loc 1 2925 24 view .LVU2618 7328 00d0 4FF0FF33 mov r3, #-1 2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7329 .loc 1 2922 28 view .LVU2619 7330 00d4 8D62 str r5, [r1, #40] 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7331 .loc 1 2925 7 is_stmt 1 view .LVU2620 2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7332 .loc 1 2925 24 is_stmt 0 view .LVU2621 7333 00d6 2365 str r3, [r4, #80] 7334 00d8 CEE7 b .L538 7335 .L549: 7336 00da 00BF .align 2 7337 .L548: 7338 00dc 00000000 .word .LC0 7339 00e0 00000000 .word I2C_Mem_ISR_IT 7340 00e4 0000FFFF .word -65536 7341 00e8 00540040 .word 1073763328 7342 00ec 009800FC .word -67069952 7343 .cfi_endproc 7344 .LFE149: 7346 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits 7347 .align 1 7348 .p2align 2,,3 7349 .global HAL_I2C_Mem_Write_DMA 7350 .syntax unified 7351 .thumb 7352 .thumb_func 7354 HAL_I2C_Mem_Write_DMA: 7355 .LVL479: 7356 .LFB150: 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7357 .loc 1 2974 1 is_stmt 1 view -0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 305 7358 .cfi_startproc 7359 @ args = 8, pretend = 0, frame = 0 7360 @ frame_needed = 0, uses_anonymous_args = 0 2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7361 .loc 1 2975 3 view .LVU2623 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7362 .loc 1 2978 3 view .LVU2624 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7363 .loc 1 2974 1 is_stmt 0 view .LVU2625 7364 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7365 .LCFI93: 7366 .cfi_def_cfa_offset 32 7367 .cfi_offset 3, -32 7368 .cfi_offset 4, -28 7369 .cfi_offset 5, -24 7370 .cfi_offset 6, -20 7371 .cfi_offset 7, -16 7372 .cfi_offset 8, -12 7373 .cfi_offset 9, -8 7374 .cfi_offset 14, -4 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7375 .loc 1 2974 1 view .LVU2626 7376 0004 1D46 mov r5, r3 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7377 .loc 1 2978 3 view .LVU2627 7378 0006 013B subs r3, r3, #1 7379 .LVL480: 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7380 .loc 1 2978 3 view .LVU2628 7381 0008 012B cmp r3, #1 2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7382 .loc 1 2974 1 view .LVU2629 7383 000a 089E ldr r6, [sp, #32] 7384 000c BDF82490 ldrh r9, [sp, #36] 7385 0010 0446 mov r4, r0 7386 0012 0F46 mov r7, r1 7387 0014 9046 mov r8, r2 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7388 .loc 1 2978 3 view .LVU2630 7389 0016 04D9 bls .L551 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7390 .loc 1 2978 3 discriminator 1 view .LVU2631 7391 0018 4E48 ldr r0, .L573 7392 .LVL481: 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7393 .loc 1 2978 3 discriminator 1 view .LVU2632 7394 001a 40F6A231 movw r1, #2978 7395 .LVL482: 2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7396 .loc 1 2978 3 discriminator 1 view .LVU2633 7397 001e FFF7FEFF bl assert_failed 7398 .LVL483: 7399 .L551: 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7400 .loc 1 2980 3 is_stmt 1 view .LVU2634 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7401 .loc 1 2980 11 is_stmt 0 view .LVU2635 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 306 7402 0022 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7403 .loc 1 2980 6 view .LVU2636 7404 0026 202B cmp r3, #32 7405 0028 58D1 bne .L564 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7406 .loc 1 2982 5 is_stmt 1 view .LVU2637 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7407 .loc 1 2982 8 is_stmt 0 view .LVU2638 7408 002a 002E cmp r6, #0 7409 002c 4FD0 beq .L553 2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7410 .loc 1 2982 25 discriminator 1 view .LVU2639 7411 002e B9F1000F cmp r9, #0 7412 0032 4CD0 beq .L553 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7413 .loc 1 2988 5 is_stmt 1 view .LVU2640 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7414 .loc 1 2988 9 is_stmt 0 view .LVU2641 7415 0034 2168 ldr r1, [r4] 7416 0036 8B69 ldr r3, [r1, #24] 2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7417 .loc 1 2988 8 view .LVU2642 7418 0038 13F40043 ands r3, r3, #32768 7419 003c 4ED1 bne .L564 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7420 .loc 1 2994 5 is_stmt 1 view .LVU2643 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7421 .loc 1 2994 5 view .LVU2644 7422 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 7423 0042 012A cmp r2, #1 7424 0044 4AD0 beq .L564 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7425 .loc 1 2994 5 discriminator 2 view .LVU2645 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7426 .loc 1 2996 23 is_stmt 0 discriminator 2 view .LVU2646 7427 0046 2120 movs r0, #33 7428 0048 84F84100 strb r0, [r4, #65] 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7429 .loc 1 3003 23 discriminator 2 view .LVU2647 7430 004c 424A ldr r2, .L573+4 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7431 .loc 1 3001 23 discriminator 2 view .LVU2648 7432 004e 6662 str r6, [r4, #36] 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7433 .loc 1 2997 23 discriminator 2 view .LVU2649 7434 0050 4020 movs r0, #64 7435 0052 84F84200 strb r0, [r4, #66] 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7436 .loc 1 2998 23 discriminator 2 view .LVU2650 7437 0056 6364 str r3, [r4, #68] 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7438 .loc 1 3002 23 discriminator 2 view .LVU2651 7439 0058 A4F82A90 strh r9, [r4, #42] @ movhi 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7440 .loc 1 3003 23 discriminator 2 view .LVU2652 7441 005c E262 str r2, [r4, #44] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 307 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7442 .loc 1 3005 23 discriminator 2 view .LVU2653 7443 005e E764 str r7, [r4, #76] 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7444 .loc 1 3007 13 discriminator 2 view .LVU2654 7445 0060 638D ldrh r3, [r4, #42] 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7446 .loc 1 3004 23 discriminator 2 view .LVU2655 7447 0062 3E4A ldr r2, .L573+8 7448 0064 6263 str r2, [r4, #52] 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7449 .loc 1 3007 13 discriminator 2 view .LVU2656 7450 0066 9BB2 uxth r3, r3 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7451 .loc 1 3007 8 discriminator 2 view .LVU2657 7452 0068 FF2B cmp r3, #255 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7453 .loc 1 3013 28 discriminator 2 view .LVU2658 7454 006a 96BF itet ls 7455 006c 638D ldrhls r3, [r4, #42] 3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7456 .loc 1 3009 22 discriminator 2 view .LVU2659 7457 006e FF23 movhi r3, #255 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7458 .loc 1 3013 28 discriminator 2 view .LVU2660 7459 0070 9BB2 uxthls r3, r3 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7460 .loc 1 2994 5 discriminator 2 view .LVU2661 7461 0072 0122 movs r2, #1 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7462 .loc 1 3017 8 discriminator 2 view .LVU2662 7463 0074 012D cmp r5, #1 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7464 .loc 1 2994 5 discriminator 2 view .LVU2663 7465 0076 84F84020 strb r2, [r4, #64] 2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7466 .loc 1 2994 5 is_stmt 1 discriminator 2 view .LVU2664 2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7467 .loc 1 2996 5 discriminator 2 view .LVU2665 2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7468 .loc 1 2997 5 discriminator 2 view .LVU2666 2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7469 .loc 1 2998 5 discriminator 2 view .LVU2667 3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7470 .loc 1 3001 5 discriminator 2 view .LVU2668 3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7471 .loc 1 3002 5 discriminator 2 view .LVU2669 3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7472 .loc 1 3003 5 discriminator 2 view .LVU2670 3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7473 .loc 1 3004 5 discriminator 2 view .LVU2671 3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7474 .loc 1 3005 5 discriminator 2 view .LVU2672 3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7475 .loc 1 3007 5 discriminator 2 view .LVU2673 3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7476 .loc 1 3013 7 discriminator 2 view .LVU2674 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 308 7477 007a 2385 strh r3, [r4, #40] @ movhi 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7478 .loc 1 3017 5 discriminator 2 view .LVU2675 3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7479 .loc 1 3017 8 is_stmt 0 discriminator 2 view .LVU2676 7480 007c 32D0 beq .L571 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7481 .loc 1 3029 7 is_stmt 1 view .LVU2677 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7482 .loc 1 3029 30 is_stmt 0 view .LVU2678 7483 007e 4FEA1822 lsr r2, r8, #8 3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7484 .loc 1 3029 28 view .LVU2679 7485 0082 8A62 str r2, [r1, #40] 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7486 .loc 1 3032 7 is_stmt 1 view .LVU2680 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7487 .loc 1 3032 26 is_stmt 0 view .LVU2681 7488 0084 5FFA88F2 uxtb r2, r8 3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7489 .loc 1 3032 24 view .LVU2682 7490 0088 2265 str r2, [r4, #80] 7491 .L557: 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7492 .loc 1 3035 5 is_stmt 1 view .LVU2683 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7493 .loc 1 3035 13 is_stmt 0 view .LVU2684 7494 008a A06B ldr r0, [r4, #56] 3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7495 .loc 1 3035 8 view .LVU2685 7496 008c 88B3 cbz r0, .L558 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7497 .loc 1 3038 7 is_stmt 1 view .LVU2686 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7498 .loc 1 3048 23 is_stmt 0 view .LVU2687 7499 008e 01F12802 add r2, r1, #40 7500 0092 3146 mov r1, r6 3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7501 .loc 1 3038 38 view .LVU2688 7502 0094 324E ldr r6, .L573+12 7503 0096 8662 str r6, [r0, #40] 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7504 .loc 1 3041 7 is_stmt 1 view .LVU2689 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 7505 .loc 1 3044 42 is_stmt 0 view .LVU2690 7506 0098 4FF00008 mov r8, #0 3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7507 .loc 1 3041 39 view .LVU2691 7508 009c 314E ldr r6, .L573+16 7509 009e 0663 str r6, [r0, #48] 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 7510 .loc 1 3044 7 is_stmt 1 view .LVU2692 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7511 .loc 1 3045 7 view .LVU2693 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7512 .loc 1 3048 7 view .LVU2694 3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 309 7513 .loc 1 3044 42 is_stmt 0 view .LVU2695 7514 00a0 C0F82C80 str r8, [r0, #44] 3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7515 .loc 1 3045 39 view .LVU2696 7516 00a4 C0F83480 str r8, [r0, #52] 3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7517 .loc 1 3048 23 view .LVU2697 7518 00a8 FFF7FEFF bl HAL_DMA_Start_IT 7519 .LVL484: 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7520 .loc 1 3066 5 is_stmt 1 view .LVU2698 3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7521 .loc 1 3066 8 is_stmt 0 view .LVU2699 7522 00ac 0646 mov r6, r0 7523 00ae 68B3 cbz r0, .L572 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7524 .loc 1 3086 7 is_stmt 1 view .LVU2700 3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7525 .loc 1 3086 23 is_stmt 0 view .LVU2701 7526 00b0 2023 movs r3, #32 7527 00b2 84F84130 strb r3, [r4, #65] 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7528 .loc 1 3087 7 is_stmt 1 view .LVU2702 3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7529 .loc 1 3087 23 is_stmt 0 view .LVU2703 7530 00b6 84F84280 strb r8, [r4, #66] 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7531 .loc 1 3090 7 is_stmt 1 view .LVU2704 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7532 .loc 1 3090 23 is_stmt 0 view .LVU2705 7533 00ba 636C ldr r3, [r4, #68] 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7534 .loc 1 3093 7 view .LVU2706 7535 00bc 84F84080 strb r8, [r4, #64] 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7536 .loc 1 3090 23 view .LVU2707 7537 00c0 43F01003 orr r3, r3, #16 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7538 .loc 1 3095 14 view .LVU2708 7539 00c4 0126 movs r6, #1 3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7540 .loc 1 3090 23 view .LVU2709 7541 00c6 6364 str r3, [r4, #68] 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7542 .loc 1 3093 7 is_stmt 1 view .LVU2710 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7543 .loc 1 3093 7 view .LVU2711 3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7544 .loc 1 3093 7 view .LVU2712 3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7545 .loc 1 3095 7 view .LVU2713 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7546 .loc 1 3104 1 is_stmt 0 view .LVU2714 7547 00c8 3046 mov r0, r6 7548 .LVL485: 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7549 .loc 1 3104 1 view .LVU2715 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 310 7550 00ca BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7551 .LVL486: 7552 .L553: 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7553 .loc 1 2984 7 is_stmt 1 view .LVU2716 2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7554 .loc 1 2984 23 is_stmt 0 view .LVU2717 7555 00ce 4FF40073 mov r3, #512 7556 00d2 6364 str r3, [r4, #68] 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7557 .loc 1 2985 7 is_stmt 1 view .LVU2718 2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7558 .loc 1 2985 15 is_stmt 0 view .LVU2719 7559 00d4 0126 movs r6, #1 7560 .L552: 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7561 .loc 1 3104 1 view .LVU2720 7562 00d6 3046 mov r0, r6 7563 00d8 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7564 .LVL487: 7565 .L564: 3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7566 .loc 1 3102 12 view .LVU2721 7567 00dc 0226 movs r6, #2 3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7568 .loc 1 3104 1 view .LVU2722 7569 00de 3046 mov r0, r6 7570 00e0 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7571 .LVL488: 7572 .L571: 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7573 .loc 1 3020 7 is_stmt 1 view .LVU2723 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7574 .loc 1 3020 30 is_stmt 0 view .LVU2724 7575 00e4 5FFA88F2 uxtb r2, r8 3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7576 .loc 1 3020 28 view .LVU2725 7577 00e8 8A62 str r2, [r1, #40] 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7578 .loc 1 3023 7 is_stmt 1 view .LVU2726 3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7579 .loc 1 3023 24 is_stmt 0 view .LVU2727 7580 00ea 4FF0FF32 mov r2, #-1 7581 00ee 2265 str r2, [r4, #80] 7582 00f0 CBE7 b .L557 7583 .L558: 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7584 .loc 1 3054 7 is_stmt 1 view .LVU2728 3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7585 .loc 1 3054 23 is_stmt 0 view .LVU2729 7586 00f2 2023 movs r3, #32 7587 00f4 84F84130 strb r3, [r4, #65] 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7588 .loc 1 3055 7 is_stmt 1 view .LVU2730 3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7589 .loc 1 3055 23 is_stmt 0 view .LVU2731 7590 00f8 84F84200 strb r0, [r4, #66] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 311 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7591 .loc 1 3058 7 is_stmt 1 view .LVU2732 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7592 .loc 1 3058 23 is_stmt 0 view .LVU2733 7593 00fc 636C ldr r3, [r4, #68] 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7594 .loc 1 3061 7 view .LVU2734 7595 00fe 84F84000 strb r0, [r4, #64] 3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7596 .loc 1 3058 23 view .LVU2735 7597 0102 43F08003 orr r3, r3, #128 7598 0106 6364 str r3, [r4, #68] 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7599 .loc 1 3061 7 is_stmt 1 view .LVU2736 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7600 .loc 1 3061 7 view .LVU2737 3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7601 .loc 1 3061 7 view .LVU2738 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7602 .loc 1 3063 7 view .LVU2739 3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7603 .loc 1 3063 14 is_stmt 0 view .LVU2740 7604 0108 0126 movs r6, #1 7605 010a E4E7 b .L552 7606 .LVL489: 7607 .L572: 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7608 .loc 1 3069 7 is_stmt 1 view .LVU2741 7609 .LBB326: 7610 .LBB327: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7611 .loc 1 7337 3 is_stmt 0 view .LVU2742 7612 010c 2268 ldr r2, [r4] 7613 010e 164B ldr r3, .L573+20 7614 0110 9A42 cmp r2, r3 7615 .LBE327: 7616 .LBE326: 3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7617 .loc 1 3069 7 view .LVU2743 7618 0112 EDB2 uxtb r5, r5 7619 .LVL490: 7620 .LBB330: 7621 .LBI326: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 7622 .loc 1 7333 13 is_stmt 1 view .LVU2744 7623 .LBB328: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7624 .loc 1 7337 3 view .LVU2745 7625 0114 09D0 beq .L561 7626 0116 03F58063 add r3, r3, #1024 7627 011a 9A42 cmp r2, r3 7628 011c 05D0 beq .L561 7629 011e 0D48 ldr r0, .L573 7630 .LVL491: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7631 .loc 1 7337 3 is_stmt 0 view .LVU2746 7632 0120 41F6A941 movw r1, #7337 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 312 7633 0124 FFF7FEFF bl assert_failed 7634 .LVL492: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7635 .loc 1 7347 3 view .LVU2747 7636 0128 2268 ldr r2, [r4] 7637 .L561: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 7638 .loc 1 7338 3 is_stmt 1 view .LVU2748 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7639 .loc 1 7339 3 view .LVU2749 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7640 .loc 1 7342 3 view .LVU2750 7641 .LVL493: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7642 .loc 1 7347 3 view .LVU2751 7643 012a 5368 ldr r3, [r2, #4] 7644 012c 0F49 ldr r1, .L573+24 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7645 .loc 1 7342 52 is_stmt 0 view .LVU2752 7646 012e C7F30907 ubfx r7, r7, #0, #10 7647 .LVL494: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7648 .loc 1 7347 3 view .LVU2753 7649 0132 0B40 ands r3, r3, r1 7650 0134 3B43 orrs r3, r3, r7 7651 0136 43EA0543 orr r3, r3, r5, lsl #16 7652 013a 43F08073 orr r3, r3, #16777216 7653 013e 43F40053 orr r3, r3, #8192 7654 .LBE328: 7655 .LBE330: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7656 .loc 1 3072 7 view .LVU2754 7657 0142 0021 movs r1, #0 7658 .LBB331: 7659 .LBB329: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7660 .loc 1 7347 3 view .LVU2755 7661 0144 5360 str r3, [r2, #4] 7662 .LVL495: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7663 .loc 1 7347 3 view .LVU2756 7664 .LBE329: 7665 .LBE331: 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7666 .loc 1 3072 7 is_stmt 1 view .LVU2757 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7667 .loc 1 3072 7 view .LVU2758 7668 0146 84F84010 strb r1, [r4, #64] 3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7669 .loc 1 3072 7 view .LVU2759 3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7670 .loc 1 3081 7 view .LVU2760 7671 .LVL496: 7672 .LBB332: 7673 .LBI332: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7674 .loc 1 7360 13 view .LVU2761 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 313 7675 .LBB333: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7676 .loc 1 7362 3 view .LVU2762 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 7677 .loc 1 7364 3 view .LVU2763 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7678 .loc 1 7441 3 view .LVU2764 7679 014a 1368 ldr r3, [r2] 7680 014c 43F0F203 orr r3, r3, #242 7681 0150 1360 str r3, [r2] 7682 .loc 1 7442 1 is_stmt 0 view .LVU2765 7683 0152 C0E7 b .L552 7684 .L574: 7685 .align 2 7686 .L573: 7687 0154 00000000 .word .LC0 7688 0158 0000FFFF .word -65536 7689 015c 00000000 .word I2C_Mem_ISR_DMA 7690 0160 00000000 .word I2C_DMAMasterTransmitCplt 7691 0164 00000000 .word I2C_DMAError 7692 0168 00540040 .word 1073763328 7693 016c 009800FC .word -67069952 7694 .LBE333: 7695 .LBE332: 7696 .cfi_endproc 7697 .LFE150: 7699 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits 7700 .align 1 7701 .p2align 2,,3 7702 .global HAL_I2C_Mem_Read_DMA 7703 .syntax unified 7704 .thumb 7705 .thumb_func 7707 HAL_I2C_Mem_Read_DMA: 7708 .LVL497: 7709 .LFB151: 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7710 .loc 1 3120 1 is_stmt 1 view -0 7711 .cfi_startproc 7712 @ args = 8, pretend = 0, frame = 0 7713 @ frame_needed = 0, uses_anonymous_args = 0 3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7714 .loc 1 3121 3 view .LVU2767 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7715 .loc 1 3124 3 view .LVU2768 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7716 .loc 1 3120 1 is_stmt 0 view .LVU2769 7717 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr} 7718 .LCFI94: 7719 .cfi_def_cfa_offset 32 7720 .cfi_offset 3, -32 7721 .cfi_offset 4, -28 7722 .cfi_offset 5, -24 7723 .cfi_offset 6, -20 7724 .cfi_offset 7, -16 7725 .cfi_offset 8, -12 7726 .cfi_offset 9, -8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 314 7727 .cfi_offset 14, -4 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7728 .loc 1 3120 1 view .LVU2770 7729 0004 1D46 mov r5, r3 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7730 .loc 1 3124 3 view .LVU2771 7731 0006 013B subs r3, r3, #1 7732 .LVL498: 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7733 .loc 1 3124 3 view .LVU2772 7734 0008 012B cmp r3, #1 3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 7735 .loc 1 3120 1 view .LVU2773 7736 000a 089E ldr r6, [sp, #32] 7737 000c BDF82490 ldrh r9, [sp, #36] 7738 0010 0446 mov r4, r0 7739 0012 0F46 mov r7, r1 7740 0014 9046 mov r8, r2 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7741 .loc 1 3124 3 view .LVU2774 7742 0016 04D9 bls .L576 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7743 .loc 1 3124 3 discriminator 1 view .LVU2775 7744 0018 4D48 ldr r0, .L598 7745 .LVL499: 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7746 .loc 1 3124 3 discriminator 1 view .LVU2776 7747 001a 40F63441 movw r1, #3124 7748 .LVL500: 3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7749 .loc 1 3124 3 discriminator 1 view .LVU2777 7750 001e FFF7FEFF bl assert_failed 7751 .LVL501: 7752 .L576: 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7753 .loc 1 3126 3 is_stmt 1 view .LVU2778 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7754 .loc 1 3126 11 is_stmt 0 view .LVU2779 7755 0022 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7756 .loc 1 3126 6 view .LVU2780 7757 0026 202B cmp r3, #32 7758 0028 57D1 bne .L589 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7759 .loc 1 3128 5 is_stmt 1 view .LVU2781 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7760 .loc 1 3128 8 is_stmt 0 view .LVU2782 7761 002a 002E cmp r6, #0 7762 002c 4ED0 beq .L578 3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7763 .loc 1 3128 25 discriminator 1 view .LVU2783 7764 002e B9F1000F cmp r9, #0 7765 0032 4BD0 beq .L578 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7766 .loc 1 3134 5 is_stmt 1 view .LVU2784 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7767 .loc 1 3134 9 is_stmt 0 view .LVU2785 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 315 7768 0034 2168 ldr r1, [r4] 7769 0036 8B69 ldr r3, [r1, #24] 3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7770 .loc 1 3134 8 view .LVU2786 7771 0038 13F40043 ands r3, r3, #32768 7772 003c 4DD1 bne .L589 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7773 .loc 1 3140 5 is_stmt 1 view .LVU2787 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7774 .loc 1 3140 5 view .LVU2788 7775 003e 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 7776 0042 012A cmp r2, #1 7777 0044 49D0 beq .L589 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7778 .loc 1 3140 5 discriminator 2 view .LVU2789 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7779 .loc 1 3142 23 is_stmt 0 discriminator 2 view .LVU2790 7780 0046 2220 movs r0, #34 7781 0048 84F84100 strb r0, [r4, #65] 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7782 .loc 1 3149 23 discriminator 2 view .LVU2791 7783 004c 414A ldr r2, .L598+4 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7784 .loc 1 3147 23 discriminator 2 view .LVU2792 7785 004e 6662 str r6, [r4, #36] 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7786 .loc 1 3143 23 discriminator 2 view .LVU2793 7787 0050 4020 movs r0, #64 7788 0052 84F84200 strb r0, [r4, #66] 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7789 .loc 1 3144 23 discriminator 2 view .LVU2794 7790 0056 6364 str r3, [r4, #68] 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7791 .loc 1 3148 23 discriminator 2 view .LVU2795 7792 0058 A4F82A90 strh r9, [r4, #42] @ movhi 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7793 .loc 1 3149 23 discriminator 2 view .LVU2796 7794 005c E262 str r2, [r4, #44] 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7795 .loc 1 3151 23 discriminator 2 view .LVU2797 7796 005e E764 str r7, [r4, #76] 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7797 .loc 1 3153 13 discriminator 2 view .LVU2798 7798 0060 638D ldrh r3, [r4, #42] 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7799 .loc 1 3150 23 discriminator 2 view .LVU2799 7800 0062 3D4A ldr r2, .L598+8 7801 0064 6263 str r2, [r4, #52] 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7802 .loc 1 3153 13 discriminator 2 view .LVU2800 7803 0066 9BB2 uxth r3, r3 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7804 .loc 1 3153 8 discriminator 2 view .LVU2801 7805 0068 FF2B cmp r3, #255 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7806 .loc 1 3159 28 discriminator 2 view .LVU2802 7807 006a 96BF itet ls ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 316 7808 006c 638D ldrhls r3, [r4, #42] 3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7809 .loc 1 3155 22 discriminator 2 view .LVU2803 7810 006e FF23 movhi r3, #255 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7811 .loc 1 3159 28 discriminator 2 view .LVU2804 7812 0070 9BB2 uxthls r3, r3 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7813 .loc 1 3140 5 discriminator 2 view .LVU2805 7814 0072 0122 movs r2, #1 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7815 .loc 1 3163 8 discriminator 2 view .LVU2806 7816 0074 012D cmp r5, #1 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7817 .loc 1 3140 5 discriminator 2 view .LVU2807 7818 0076 84F84020 strb r2, [r4, #64] 3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7819 .loc 1 3140 5 is_stmt 1 discriminator 2 view .LVU2808 3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM; 7820 .loc 1 3142 5 discriminator 2 view .LVU2809 3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 7821 .loc 1 3143 5 discriminator 2 view .LVU2810 3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7822 .loc 1 3144 5 discriminator 2 view .LVU2811 3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 7823 .loc 1 3147 5 discriminator 2 view .LVU2812 3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 7824 .loc 1 3148 5 discriminator 2 view .LVU2813 3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Mem_ISR_DMA; 7825 .loc 1 3149 5 discriminator 2 view .LVU2814 3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Devaddress = DevAddress; 7826 .loc 1 3150 5 discriminator 2 view .LVU2815 3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7827 .loc 1 3151 5 discriminator 2 view .LVU2816 3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7828 .loc 1 3153 5 discriminator 2 view .LVU2817 3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7829 .loc 1 3159 7 discriminator 2 view .LVU2818 7830 007a 2385 strh r3, [r4, #40] @ movhi 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7831 .loc 1 3163 5 discriminator 2 view .LVU2819 3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7832 .loc 1 3163 8 is_stmt 0 discriminator 2 view .LVU2820 7833 007c 31D0 beq .L596 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7834 .loc 1 3175 7 is_stmt 1 view .LVU2821 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7835 .loc 1 3175 30 is_stmt 0 view .LVU2822 7836 007e 4FEA1822 lsr r2, r8, #8 3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7837 .loc 1 3175 28 view .LVU2823 7838 0082 8A62 str r2, [r1, #40] 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7839 .loc 1 3178 7 is_stmt 1 view .LVU2824 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7840 .loc 1 3178 26 is_stmt 0 view .LVU2825 7841 0084 5FFA88F2 uxtb r2, r8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 317 3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7842 .loc 1 3178 24 view .LVU2826 7843 0088 2265 str r2, [r4, #80] 7844 .L582: 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7845 .loc 1 3181 5 is_stmt 1 view .LVU2827 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7846 .loc 1 3181 13 is_stmt 0 view .LVU2828 7847 008a E06B ldr r0, [r4, #60] 3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7848 .loc 1 3181 8 view .LVU2829 7849 008c 80B3 cbz r0, .L583 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7850 .loc 1 3184 7 is_stmt 1 view .LVU2830 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7851 .loc 1 3194 23 is_stmt 0 view .LVU2831 7852 008e 3246 mov r2, r6 3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7853 .loc 1 3184 38 view .LVU2832 7854 0090 324E ldr r6, .L598+12 7855 0092 8662 str r6, [r0, #40] 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7856 .loc 1 3187 7 is_stmt 1 view .LVU2833 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7857 .loc 1 3190 42 is_stmt 0 view .LVU2834 7858 0094 4FF00008 mov r8, #0 3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7859 .loc 1 3187 39 view .LVU2835 7860 0098 314E ldr r6, .L598+16 7861 009a 0663 str r6, [r0, #48] 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7862 .loc 1 3190 7 is_stmt 1 view .LVU2836 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7863 .loc 1 3191 7 view .LVU2837 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7864 .loc 1 3194 7 view .LVU2838 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7865 .loc 1 3194 23 is_stmt 0 view .LVU2839 7866 009c 2431 adds r1, r1, #36 3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 7867 .loc 1 3190 42 view .LVU2840 7868 009e C0F82C80 str r8, [r0, #44] 3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7869 .loc 1 3191 39 view .LVU2841 7870 00a2 C0F83480 str r8, [r0, #52] 3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 7871 .loc 1 3194 23 view .LVU2842 7872 00a6 FFF7FEFF bl HAL_DMA_Start_IT 7873 .LVL502: 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7874 .loc 1 3212 5 is_stmt 1 view .LVU2843 3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7875 .loc 1 3212 8 is_stmt 0 view .LVU2844 7876 00aa 0646 mov r6, r0 7877 00ac 68B3 cbz r0, .L597 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7878 .loc 1 3232 7 is_stmt 1 view .LVU2845 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 318 3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7879 .loc 1 3232 23 is_stmt 0 view .LVU2846 7880 00ae 2023 movs r3, #32 7881 00b0 84F84130 strb r3, [r4, #65] 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7882 .loc 1 3233 7 is_stmt 1 view .LVU2847 3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7883 .loc 1 3233 23 is_stmt 0 view .LVU2848 7884 00b4 84F84280 strb r8, [r4, #66] 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7885 .loc 1 3236 7 is_stmt 1 view .LVU2849 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7886 .loc 1 3236 23 is_stmt 0 view .LVU2850 7887 00b8 636C ldr r3, [r4, #68] 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7888 .loc 1 3239 7 view .LVU2851 7889 00ba 84F84080 strb r8, [r4, #64] 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7890 .loc 1 3236 23 view .LVU2852 7891 00be 43F01003 orr r3, r3, #16 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7892 .loc 1 3241 14 view .LVU2853 7893 00c2 0126 movs r6, #1 3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7894 .loc 1 3236 23 view .LVU2854 7895 00c4 6364 str r3, [r4, #68] 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7896 .loc 1 3239 7 is_stmt 1 view .LVU2855 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7897 .loc 1 3239 7 view .LVU2856 3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7898 .loc 1 3239 7 view .LVU2857 3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7899 .loc 1 3241 7 view .LVU2858 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7900 .loc 1 3250 1 is_stmt 0 view .LVU2859 7901 00c6 3046 mov r0, r6 7902 .LVL503: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7903 .loc 1 3250 1 view .LVU2860 7904 00c8 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7905 .LVL504: 7906 .L578: 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7907 .loc 1 3130 7 is_stmt 1 view .LVU2861 3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 7908 .loc 1 3130 23 is_stmt 0 view .LVU2862 7909 00cc 4FF40073 mov r3, #512 7910 00d0 6364 str r3, [r4, #68] 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7911 .loc 1 3131 7 is_stmt 1 view .LVU2863 3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7912 .loc 1 3131 15 is_stmt 0 view .LVU2864 7913 00d2 0126 movs r6, #1 7914 .L577: 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7915 .loc 1 3250 1 view .LVU2865 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 319 7916 00d4 3046 mov r0, r6 7917 00d6 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7918 .LVL505: 7919 .L589: 3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7920 .loc 1 3248 12 view .LVU2866 7921 00da 0226 movs r6, #2 3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7922 .loc 1 3250 1 view .LVU2867 7923 00dc 3046 mov r0, r6 7924 00de BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc} 7925 .LVL506: 7926 .L596: 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7927 .loc 1 3166 7 is_stmt 1 view .LVU2868 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7928 .loc 1 3166 30 is_stmt 0 view .LVU2869 7929 00e2 5FFA88F2 uxtb r2, r8 3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7930 .loc 1 3166 28 view .LVU2870 7931 00e6 8A62 str r2, [r1, #40] 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7932 .loc 1 3169 7 is_stmt 1 view .LVU2871 3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7933 .loc 1 3169 24 is_stmt 0 view .LVU2872 7934 00e8 4FF0FF32 mov r2, #-1 7935 00ec 2265 str r2, [r4, #80] 7936 00ee CCE7 b .L582 7937 .L583: 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7938 .loc 1 3200 7 is_stmt 1 view .LVU2873 3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 7939 .loc 1 3200 23 is_stmt 0 view .LVU2874 7940 00f0 2023 movs r3, #32 7941 00f2 84F84130 strb r3, [r4, #65] 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7942 .loc 1 3201 7 is_stmt 1 view .LVU2875 3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7943 .loc 1 3201 23 is_stmt 0 view .LVU2876 7944 00f6 84F84200 strb r0, [r4, #66] 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7945 .loc 1 3204 7 is_stmt 1 view .LVU2877 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7946 .loc 1 3204 23 is_stmt 0 view .LVU2878 7947 00fa 636C ldr r3, [r4, #68] 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7948 .loc 1 3207 7 view .LVU2879 7949 00fc 84F84000 strb r0, [r4, #64] 3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7950 .loc 1 3204 23 view .LVU2880 7951 0100 43F08003 orr r3, r3, #128 7952 0104 6364 str r3, [r4, #68] 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7953 .loc 1 3207 7 is_stmt 1 view .LVU2881 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7954 .loc 1 3207 7 view .LVU2882 3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 320 7955 .loc 1 3207 7 view .LVU2883 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7956 .loc 1 3209 7 view .LVU2884 3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7957 .loc 1 3209 14 is_stmt 0 view .LVU2885 7958 0106 0126 movs r6, #1 7959 0108 E4E7 b .L577 7960 .LVL507: 7961 .L597: 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7962 .loc 1 3215 7 is_stmt 1 view .LVU2886 7963 .LBB338: 7964 .LBB339: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7965 .loc 1 7337 3 is_stmt 0 view .LVU2887 7966 010a 2268 ldr r2, [r4] 7967 010c 154B ldr r3, .L598+20 7968 010e 9A42 cmp r2, r3 7969 .LBE339: 7970 .LBE338: 3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7971 .loc 1 3215 7 view .LVU2888 7972 0110 EDB2 uxtb r5, r5 7973 .LVL508: 7974 .LBB342: 7975 .LBI338: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 7976 .loc 1 7333 13 is_stmt 1 view .LVU2889 7977 .LBB340: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7978 .loc 1 7337 3 view .LVU2890 7979 0112 09D0 beq .L586 7980 0114 03F58063 add r3, r3, #1024 7981 0118 9A42 cmp r2, r3 7982 011a 05D0 beq .L586 7983 011c 0C48 ldr r0, .L598 7984 .LVL509: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 7985 .loc 1 7337 3 is_stmt 0 view .LVU2891 7986 011e 41F6A941 movw r1, #7337 7987 0122 FFF7FEFF bl assert_failed 7988 .LVL510: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7989 .loc 1 7347 3 view .LVU2892 7990 0126 2268 ldr r2, [r4] 7991 .L586: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 7992 .loc 1 7338 3 is_stmt 1 view .LVU2893 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7993 .loc 1 7339 3 view .LVU2894 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7994 .loc 1 7342 3 view .LVU2895 7995 .LVL511: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 7996 .loc 1 7347 3 view .LVU2896 7997 0128 5368 ldr r3, [r2, #4] 7998 012a 0F49 ldr r1, .L598+24 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 321 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 7999 .loc 1 7342 52 is_stmt 0 view .LVU2897 8000 012c C7F30907 ubfx r7, r7, #0, #10 8001 .LVL512: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 8002 .loc 1 7347 3 view .LVU2898 8003 0130 0B40 ands r3, r3, r1 8004 0132 3B43 orrs r3, r3, r7 8005 0134 43EA0543 orr r3, r3, r5, lsl #16 8006 0138 43F40053 orr r3, r3, #8192 8007 .LBE340: 8008 .LBE342: 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8009 .loc 1 3218 7 view .LVU2899 8010 013c 0021 movs r1, #0 8011 .LBB343: 8012 .LBB341: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 8013 .loc 1 7347 3 view .LVU2900 8014 013e 5360 str r3, [r2, #4] 8015 .LVL513: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 8016 .loc 1 7347 3 view .LVU2901 8017 .LBE341: 8018 .LBE343: 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8019 .loc 1 3218 7 is_stmt 1 view .LVU2902 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8020 .loc 1 3218 7 view .LVU2903 8021 0140 84F84010 strb r1, [r4, #64] 3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8022 .loc 1 3218 7 view .LVU2904 3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8023 .loc 1 3227 7 view .LVU2905 8024 .LVL514: 8025 .LBB344: 8026 .LBI344: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8027 .loc 1 7360 13 view .LVU2906 8028 .LBB345: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8029 .loc 1 7362 3 view .LVU2907 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 8030 .loc 1 7364 3 view .LVU2908 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8031 .loc 1 7441 3 view .LVU2909 8032 0144 1368 ldr r3, [r2] 8033 0146 43F0F203 orr r3, r3, #242 8034 014a 1360 str r3, [r2] 8035 .loc 1 7442 1 is_stmt 0 view .LVU2910 8036 014c C2E7 b .L577 8037 .L599: 8038 014e 00BF .align 2 8039 .L598: 8040 0150 00000000 .word .LC0 8041 0154 0000FFFF .word -65536 8042 0158 00000000 .word I2C_Mem_ISR_DMA ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 322 8043 015c 00000000 .word I2C_DMAMasterReceiveCplt 8044 0160 00000000 .word I2C_DMAError 8045 0164 00540040 .word 1073763328 8046 0168 009800FC .word -67069952 8047 .LBE345: 8048 .LBE344: 8049 .cfi_endproc 8050 .LFE151: 8052 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits 8053 .align 1 8054 .p2align 2,,3 8055 .global HAL_I2C_IsDeviceReady 8056 .syntax unified 8057 .thumb 8058 .thumb_func 8060 HAL_I2C_IsDeviceReady: 8061 .LVL515: 8062 .LFB152: 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 8063 .loc 1 3265 1 is_stmt 1 view -0 8064 .cfi_startproc 8065 @ args = 0, pretend = 0, frame = 8 8066 @ frame_needed = 0, uses_anonymous_args = 0 3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8067 .loc 1 3266 3 view .LVU2912 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8068 .loc 1 3268 3 view .LVU2913 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 8069 .loc 1 3265 1 is_stmt 0 view .LVU2914 8070 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 8071 .LCFI95: 8072 .cfi_def_cfa_offset 28 8073 .cfi_offset 4, -28 8074 .cfi_offset 5, -24 8075 .cfi_offset 6, -20 8076 .cfi_offset 7, -16 8077 .cfi_offset 8, -12 8078 .cfi_offset 9, -8 8079 .cfi_offset 14, -4 8080 0004 85B0 sub sp, sp, #20 8081 .LCFI96: 8082 .cfi_def_cfa_offset 48 3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tickstart; 8083 .loc 1 3265 1 view .LVU2915 8084 0006 0446 mov r4, r0 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8085 .loc 1 3268 17 view .LVU2916 8086 0008 0020 movs r0, #0 8087 .LVL516: 3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8088 .loc 1 3268 17 view .LVU2917 8089 000a 0390 str r0, [sp, #12] 3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** FlagStatus tmp2; 8090 .loc 1 3270 3 is_stmt 1 view .LVU2918 3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8091 .loc 1 3271 3 view .LVU2919 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 323 8092 .loc 1 3273 3 view .LVU2920 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8093 .loc 1 3273 11 is_stmt 0 view .LVU2921 8094 000c 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8095 .loc 1 3273 6 view .LVU2922 8096 0010 2028 cmp r0, #32 8097 0012 61D1 bne .L614 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8098 .loc 1 3275 5 is_stmt 1 view .LVU2923 8099 0014 9946 mov r9, r3 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8100 .loc 1 3275 9 is_stmt 0 view .LVU2924 8101 0016 2368 ldr r3, [r4] 8102 .LVL517: 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8103 .loc 1 3275 9 view .LVU2925 8104 0018 1746 mov r7, r2 8105 001a 9A69 ldr r2, [r3, #24] 8106 .LVL518: 3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8107 .loc 1 3275 8 view .LVU2926 8108 001c 12F40042 ands r2, r2, #32768 8109 0020 5AD1 bne .L614 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8110 .loc 1 3281 5 is_stmt 1 view .LVU2927 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8111 .loc 1 3281 5 view .LVU2928 8112 0022 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 8113 0026 0128 cmp r0, #1 8114 0028 56D0 beq .L614 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8115 .loc 1 3281 5 discriminator 2 view .LVU2929 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8116 .loc 1 3289 29 is_stmt 0 discriminator 2 view .LVU2930 8117 002a C1F30901 ubfx r1, r1, #0, #10 8118 .LVL519: 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8119 .loc 1 3281 5 discriminator 2 view .LVU2931 8120 002e 0120 movs r0, #1 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8121 .loc 1 3289 29 discriminator 2 view .LVU2932 8122 0030 41F00078 orr r8, r1, #33554432 8123 0034 4646 mov r6, r8 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8124 .loc 1 3281 5 discriminator 2 view .LVU2933 8125 0036 84F84000 strb r0, [r4, #64] 3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8126 .loc 1 3281 5 is_stmt 1 discriminator 2 view .LVU2934 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8127 .loc 1 3283 5 discriminator 2 view .LVU2935 3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8128 .loc 1 3283 17 is_stmt 0 discriminator 2 view .LVU2936 8129 003a 2420 movs r0, #36 8130 003c 84F84100 strb r0, [r4, #65] 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8131 .loc 1 3284 5 is_stmt 1 discriminator 2 view .LVU2937 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 324 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8132 .loc 1 3289 29 is_stmt 0 discriminator 2 view .LVU2938 8133 0040 48F42058 orr r8, r8, #10240 3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8134 .loc 1 3284 21 discriminator 2 view .LVU2939 8135 0044 6264 str r2, [r4, #68] 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8136 .loc 1 3289 29 discriminator 2 view .LVU2940 8137 0046 46F40056 orr r6, r6, #8192 8138 .L611: 3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8139 .loc 1 3286 5 is_stmt 1 view .LVU2941 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8140 .loc 1 3289 7 view .LVU2942 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8141 .loc 1 3289 29 is_stmt 0 view .LVU2943 8142 004a E268 ldr r2, [r4, #12] 8143 004c 012A cmp r2, #1 8144 004e 14BF ite ne 8145 0050 4246 movne r2, r8 8146 0052 3246 moveq r2, r6 3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8147 .loc 1 3289 27 view .LVU2944 8148 0054 5A60 str r2, [r3, #4] 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8149 .loc 1 3293 7 is_stmt 1 view .LVU2945 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8150 .loc 1 3293 19 is_stmt 0 view .LVU2946 8151 0056 FFF7FEFF bl HAL_GetTick 8152 .LVL520: 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8153 .loc 1 3295 14 view .LVU2947 8154 005a 2268 ldr r2, [r4] 8155 005c 9169 ldr r1, [r2, #24] 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8156 .loc 1 3296 14 view .LVU2948 8157 005e 9369 ldr r3, [r2, #24] 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8158 .loc 1 3295 14 view .LVU2949 8159 0060 01F02001 and r1, r1, #32 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8160 .loc 1 3296 14 view .LVU2950 8161 0064 03F01003 and r3, r3, #16 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8162 .loc 1 3298 30 view .LVU2951 8163 0068 0B43 orrs r3, r1, r3 3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8164 .loc 1 3293 19 view .LVU2952 8165 006a 0546 mov r5, r0 8166 .LVL521: 3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8167 .loc 1 3295 7 is_stmt 1 view .LVU2953 3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8168 .loc 1 3296 7 view .LVU2954 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8169 .loc 1 3298 7 view .LVU2955 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 325 8170 .loc 1 3298 13 view .LVU2956 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8171 .loc 1 3298 30 is_stmt 0 view .LVU2957 8172 006c 14D1 bne .L604 8173 .LVL522: 8174 .L607: 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8175 .loc 1 3300 9 is_stmt 1 view .LVU2958 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8176 .loc 1 3302 11 view .LVU2959 3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8177 .loc 1 3300 12 is_stmt 0 view .LVU2960 8178 006e B9F1FF3F cmp r9, #-1 8179 0072 08D0 beq .L605 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8180 .loc 1 3302 17 view .LVU2961 8181 0074 FFF7FEFF bl HAL_GetTick 8182 .LVL523: 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8183 .loc 1 3302 31 view .LVU2962 8184 0078 401B subs r0, r0, r5 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8185 .loc 1 3302 14 view .LVU2963 8186 007a 4845 cmp r0, r9 8187 007c 30D8 bhi .L606 3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8188 .loc 1 3302 55 discriminator 1 view .LVU2964 8189 007e B9F1000F cmp r9, #0 8190 0082 2DD0 beq .L606 8191 0084 2268 ldr r2, [r4] 8192 .L605: 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8193 .loc 1 3317 9 is_stmt 1 view .LVU2965 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8194 .loc 1 3317 16 is_stmt 0 view .LVU2966 8195 0086 9369 ldr r3, [r2, #24] 8196 .LVL524: 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8197 .loc 1 3318 9 is_stmt 1 view .LVU2967 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8198 .loc 1 3318 16 is_stmt 0 view .LVU2968 8199 0088 9169 ldr r1, [r2, #24] 8200 .LVL525: 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8201 .loc 1 3298 13 is_stmt 1 view .LVU2969 3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF); 8202 .loc 1 3317 16 is_stmt 0 view .LVU2970 8203 008a 03F0200C and ip, r3, #32 3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8204 .loc 1 3318 16 view .LVU2971 8205 008e 01F01001 and r1, r1, #16 8206 .LVL526: 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8207 .loc 1 3298 30 view .LVU2972 8208 0092 5CEA0103 orrs r3, ip, r1 8209 .LVL527: 3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 326 8210 .loc 1 3298 30 view .LVU2973 8211 0096 EAD0 beq .L607 8212 .L604: 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8213 .loc 1 3322 7 is_stmt 1 view .LVU2974 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8214 .loc 1 3322 11 is_stmt 0 view .LVU2975 8215 0098 9269 ldr r2, [r2, #24] 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8216 .loc 1 3325 13 view .LVU2976 8217 009a 0095 str r5, [sp] 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8218 .loc 1 3322 10 view .LVU2977 8219 009c 12F01002 ands r2, r2, #16 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8220 .loc 1 3325 13 view .LVU2978 8221 00a0 4B46 mov r3, r9 3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8222 .loc 1 3322 10 view .LVU2979 8223 00a2 2BD0 beq .L624 8224 .LVL528: 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8225 .loc 1 3344 9 is_stmt 1 view .LVU2980 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8226 .loc 1 3344 13 is_stmt 0 view .LVU2981 8227 00a4 0022 movs r2, #0 8228 00a6 2021 movs r1, #32 8229 00a8 2046 mov r0, r4 8230 00aa FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 8231 .LVL529: 3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8232 .loc 1 3344 12 view .LVU2982 8233 00ae 88B9 cbnz r0, .L623 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8234 .loc 1 3350 9 is_stmt 1 view .LVU2983 8235 00b0 2368 ldr r3, [r4] 8236 00b2 1022 movs r2, #16 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8237 .loc 1 3353 9 is_stmt 0 view .LVU2984 8238 00b4 2021 movs r1, #32 3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8239 .loc 1 3350 9 view .LVU2985 8240 00b6 DA61 str r2, [r3, #28] 3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8241 .loc 1 3353 9 is_stmt 1 view .LVU2986 8242 00b8 D961 str r1, [r3, #28] 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); 8243 .loc 1 3357 7 view .LVU2987 3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } while (I2C_Trials < Trials); 8244 .loc 1 3357 17 is_stmt 0 view .LVU2988 8245 00ba 039A ldr r2, [sp, #12] 8246 00bc 0132 adds r2, r2, #1 8247 00be 0392 str r2, [sp, #12] 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8248 .loc 1 3358 13 is_stmt 1 view .LVU2989 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8249 .loc 1 3358 25 is_stmt 0 view .LVU2990 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 327 8250 00c0 039A ldr r2, [sp, #12] 3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8251 .loc 1 3358 5 view .LVU2991 8252 00c2 BA42 cmp r2, r7 8253 00c4 C1D3 bcc .L611 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8254 .loc 1 3361 5 is_stmt 1 view .LVU2992 3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8255 .loc 1 3361 17 is_stmt 0 view .LVU2993 8256 00c6 84F84110 strb r1, [r4, #65] 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8257 .loc 1 3364 5 is_stmt 1 view .LVU2994 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8258 .loc 1 3364 21 is_stmt 0 view .LVU2995 8259 00ca 636C ldr r3, [r4, #68] 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8260 .loc 1 3367 5 view .LVU2996 8261 00cc 84F84000 strb r0, [r4, #64] 3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8262 .loc 1 3364 21 view .LVU2997 8263 00d0 0B43 orrs r3, r3, r1 8264 00d2 6364 str r3, [r4, #68] 8265 .L623: 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8266 .loc 1 3367 5 is_stmt 1 view .LVU2998 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8267 .loc 1 3367 5 view .LVU2999 3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8268 .loc 1 3367 5 view .LVU3000 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8269 .loc 1 3369 5 view .LVU3001 3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8270 .loc 1 3369 12 is_stmt 0 view .LVU3002 8271 00d4 0120 movs r0, #1 8272 00d6 00E0 b .L601 8273 .LVL530: 8274 .L614: 3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8275 .loc 1 3373 12 view .LVU3003 8276 00d8 0220 movs r0, #2 8277 .LVL531: 8278 .L601: 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8279 .loc 1 3375 1 view .LVU3004 8280 00da 05B0 add sp, sp, #20 8281 .LCFI97: 8282 .cfi_remember_state 8283 .cfi_def_cfa_offset 28 8284 @ sp needed 8285 00dc BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 8286 .LVL532: 8287 .L606: 8288 .LCFI98: 8289 .cfi_restore_state 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8290 .loc 1 3305 13 is_stmt 1 view .LVU3005 3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 328 8291 .loc 1 3305 25 is_stmt 0 view .LVU3006 8292 00e0 2023 movs r3, #32 8293 00e2 84F84130 strb r3, [r4, #65] 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8294 .loc 1 3308 13 is_stmt 1 view .LVU3007 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8295 .loc 1 3308 29 is_stmt 0 view .LVU3008 8296 00e6 636C ldr r3, [r4, #68] 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8297 .loc 1 3311 13 view .LVU3009 8298 00e8 0022 movs r2, #0 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8299 .loc 1 3308 29 view .LVU3010 8300 00ea 43F02003 orr r3, r3, #32 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8301 .loc 1 3313 20 view .LVU3011 8302 00ee 0120 movs r0, #1 3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8303 .loc 1 3308 29 view .LVU3012 8304 00f0 6364 str r3, [r4, #68] 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8305 .loc 1 3311 13 is_stmt 1 view .LVU3013 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8306 .loc 1 3311 13 view .LVU3014 8307 00f2 84F84020 strb r2, [r4, #64] 3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8308 .loc 1 3311 13 view .LVU3015 3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8309 .loc 1 3313 13 view .LVU3016 3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8310 .loc 1 3375 1 is_stmt 0 view .LVU3017 8311 00f6 05B0 add sp, sp, #20 8312 .LCFI99: 8313 .cfi_remember_state 8314 .cfi_def_cfa_offset 28 8315 @ sp needed 8316 00f8 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 8317 .LVL533: 8318 .L624: 8319 .LCFI100: 8320 .cfi_restore_state 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8321 .loc 1 3325 9 is_stmt 1 view .LVU3018 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8322 .loc 1 3325 13 is_stmt 0 view .LVU3019 8323 00fc 2021 movs r1, #32 8324 00fe 2046 mov r0, r4 8325 0100 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout 8326 .LVL534: 3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8327 .loc 1 3325 12 view .LVU3020 8328 0104 0028 cmp r0, #0 8329 0106 E5D1 bne .L623 3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8330 .loc 1 3331 9 is_stmt 1 view .LVU3021 8331 0108 2268 ldr r2, [r4] 8332 010a 2023 movs r3, #32 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 329 8333 010c D361 str r3, [r2, #28] 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8334 .loc 1 3334 9 view .LVU3022 3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8335 .loc 1 3334 21 is_stmt 0 view .LVU3023 8336 010e 84F84130 strb r3, [r4, #65] 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8337 .loc 1 3337 9 is_stmt 1 view .LVU3024 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8338 .loc 1 3337 9 view .LVU3025 8339 0112 84F84000 strb r0, [r4, #64] 3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8340 .loc 1 3337 9 view .LVU3026 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8341 .loc 1 3339 9 view .LVU3027 3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8342 .loc 1 3339 16 is_stmt 0 view .LVU3028 8343 0116 E0E7 b .L601 8344 .cfi_endproc 8345 .LFE152: 8347 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits 8348 .align 1 8349 .p2align 2,,3 8350 .global HAL_I2C_Master_Seq_Transmit_IT 8351 .syntax unified 8352 .thumb 8353 .thumb_func 8355 HAL_I2C_Master_Seq_Transmit_IT: 8356 .LVL535: 8357 .LFB153: 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8358 .loc 1 3391 1 is_stmt 1 view -0 8359 .cfi_startproc 8360 @ args = 4, pretend = 0, frame = 8 8361 @ frame_needed = 0, uses_anonymous_args = 0 3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 8362 .loc 1 3392 3 view .LVU3030 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 8363 .loc 1 3393 3 view .LVU3031 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8364 .loc 1 3394 3 view .LVU3032 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8365 .loc 1 3397 3 view .LVU3033 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8366 .loc 1 3391 1 is_stmt 0 view .LVU3034 8367 0000 F0B5 push {r4, r5, r6, r7, lr} 8368 .LCFI101: 8369 .cfi_def_cfa_offset 20 8370 .cfi_offset 4, -20 8371 .cfi_offset 5, -16 8372 .cfi_offset 6, -12 8373 .cfi_offset 7, -8 8374 .cfi_offset 14, -4 8375 0002 85B0 sub sp, sp, #20 8376 .LCFI102: 8377 .cfi_def_cfa_offset 40 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 330 8378 .loc 1 3391 1 view .LVU3035 8379 0004 0E46 mov r6, r1 8380 0006 0A9D ldr r5, [sp, #40] 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8381 .loc 1 3397 3 view .LVU3036 8382 0008 35F08071 bics r1, r5, #16777216 8383 .LVL536: 3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8384 .loc 1 3391 1 view .LVU3037 8385 000c 0446 mov r4, r0 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8386 .loc 1 3397 3 view .LVU3038 8387 000e 10D0 beq .L626 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8388 .loc 1 3397 3 discriminator 2 view .LVU3039 8389 0010 B5F1007F cmp r5, #33554432 8390 0014 0DD0 beq .L626 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8391 .loc 1 3397 3 discriminator 4 view .LVU3040 8392 0016 AA2D cmp r5, #170 8393 0018 0BD0 beq .L626 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8394 .loc 1 3397 3 discriminator 5 view .LVU3041 8395 001a B5F52A4F cmp r5, #43520 8396 001e 08D0 beq .L626 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8397 .loc 1 3397 3 discriminator 6 view .LVU3042 8398 0020 4048 ldr r0, .L662 8399 .LVL537: 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8400 .loc 1 3397 3 discriminator 6 view .LVU3043 8401 0022 40F64551 movw r1, #3397 8402 0026 CDE90223 strd r2, r3, [sp, #8] 8403 002a FFF7FEFF bl assert_failed 8404 .LVL538: 3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8405 .loc 1 3397 3 discriminator 6 view .LVU3044 8406 002e DDE90223 ldrd r2, r3, [sp, #8] 8407 .LVL539: 8408 .L626: 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8409 .loc 1 3399 3 is_stmt 1 view .LVU3045 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8410 .loc 1 3399 11 is_stmt 0 view .LVU3046 8411 0032 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8412 .loc 1 3399 6 view .LVU3047 8413 0036 2029 cmp r1, #32 8414 0038 69D1 bne .L638 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8415 .loc 1 3402 5 is_stmt 1 view .LVU3048 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8416 .loc 1 3402 5 view .LVU3049 8417 003a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 8418 003e 0129 cmp r1, #1 8419 0040 65D0 beq .L638 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 331 8420 .loc 1 3402 5 discriminator 2 view .LVU3050 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 8421 .loc 1 3404 21 is_stmt 0 discriminator 2 view .LVU3051 8422 0042 2121 movs r1, #33 8423 0044 84F84110 strb r1, [r4, #65] 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8424 .loc 1 3405 21 discriminator 2 view .LVU3052 8425 0048 1021 movs r1, #16 8426 004a 84F84210 strb r1, [r4, #66] 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8427 .loc 1 3406 21 discriminator 2 view .LVU3053 8428 004e 0021 movs r1, #0 8429 0050 6164 str r1, [r4, #68] 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8430 .loc 1 3410 23 discriminator 2 view .LVU3054 8431 0052 6385 strh r3, [r4, #42] @ movhi 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8432 .loc 1 3412 23 discriminator 2 view .LVU3055 8433 0054 344B ldr r3, .L662+4 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 8434 .loc 1 3411 23 discriminator 2 view .LVU3056 8435 0056 E562 str r5, [r4, #44] 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8436 .loc 1 3412 23 discriminator 2 view .LVU3057 8437 0058 6363 str r3, [r4, #52] 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8438 .loc 1 3415 13 discriminator 2 view .LVU3058 8439 005a 638D ldrh r3, [r4, #42] 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8440 .loc 1 3409 23 discriminator 2 view .LVU3059 8441 005c 6262 str r2, [r4, #36] 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8442 .loc 1 3415 13 discriminator 2 view .LVU3060 8443 005e 9BB2 uxth r3, r3 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8444 .loc 1 3402 5 discriminator 2 view .LVU3061 8445 0060 0121 movs r1, #1 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8446 .loc 1 3415 8 discriminator 2 view .LVU3062 8447 0062 FF2B cmp r3, #255 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8448 .loc 1 3402 5 discriminator 2 view .LVU3063 8449 0064 84F84010 strb r1, [r4, #64] 3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8450 .loc 1 3402 5 is_stmt 1 discriminator 2 view .LVU3064 3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 8451 .loc 1 3404 5 discriminator 2 view .LVU3065 3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8452 .loc 1 3405 5 discriminator 2 view .LVU3066 3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8453 .loc 1 3406 5 discriminator 2 view .LVU3067 3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8454 .loc 1 3409 5 discriminator 2 view .LVU3068 3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8455 .loc 1 3410 5 discriminator 2 view .LVU3069 3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 8456 .loc 1 3411 5 discriminator 2 view .LVU3070 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 332 3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8457 .loc 1 3412 5 discriminator 2 view .LVU3071 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8458 .loc 1 3415 5 discriminator 2 view .LVU3072 3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8459 .loc 1 3415 8 is_stmt 0 discriminator 2 view .LVU3073 8460 0068 2BD8 bhi .L658 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8461 .loc 1 3422 7 is_stmt 1 view .LVU3074 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8462 .loc 1 3422 28 is_stmt 0 view .LVU3075 8463 006a 608D ldrh r0, [r4, #42] 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8464 .loc 1 3423 16 view .LVU3076 8465 006c E36A ldr r3, [r4, #44] 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8466 .loc 1 3422 28 view .LVU3077 8467 006e 80B2 uxth r0, r0 3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8468 .loc 1 3422 22 view .LVU3078 8469 0070 2085 strh r0, [r4, #40] @ movhi 3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8470 .loc 1 3423 7 is_stmt 1 view .LVU3079 8471 .LVL540: 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8472 .loc 1 3426 5 view .LVU3080 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8473 .loc 1 3426 8 is_stmt 0 view .LVU3081 8474 0072 50BB cbnz r0, .L629 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8475 .loc 1 3426 31 view .LVU3082 8476 0074 25F00071 bic r1, r5, #33554432 8477 .L630: 8478 .LVL541: 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8479 .loc 1 3444 5 is_stmt 1 view .LVU3083 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8480 .loc 1 3444 14 is_stmt 0 view .LVU3084 8481 0078 226B ldr r2, [r4, #48] 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8482 .loc 1 3444 8 view .LVU3085 8483 007a 112A cmp r2, #17 8484 007c 38D0 beq .L659 8485 .L631: 3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8486 .loc 1 3452 7 is_stmt 1 view .LVU3086 8487 .LVL542: 8488 .LBB352: 8489 .LBI352: 7443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts. 7446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains 7447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * the configuration information for the specified I2C. 7448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition. 7449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 333 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest) 7452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpisr = 0U; 7454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT) 7456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and TXI interrupts */ 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI; 7459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7460: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) 7461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ 7463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT) 7468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable TC and RXI interrupts */ 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI; 7471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7472: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) 7473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */ 7475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT) 7480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */ 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI; 7483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_ERROR_IT) 7486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */ 7488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI; 7489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_CPLT_IT) 7492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable STOP interrupts */ 7494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI; 7495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (InterruptRequest == I2C_XFER_RELOAD_IT) 7498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Enable TC interrupts */ 7500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI; 7501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Disable interrupts only at the end */ 7504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */ 7505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* all disable interrupts request are not done */ 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr); 7507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 334 7508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 7509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /** 7510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functional XferOptions. 7511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @param hi2c I2C handle. 7512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** * @retval None 7513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** */ 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c) 8490 .loc 1 7514 13 view .LVU3087 8491 .LBB353: 7515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */ 7517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ 7518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */ 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME) 8492 .loc 1 7519 3 view .LVU3088 8493 .loc 1 7519 11 is_stmt 0 view .LVU3089 8494 007e E26A ldr r2, [r4, #44] 8495 .loc 1 7519 6 view .LVU3090 8496 0080 AA2A cmp r2, #170 8497 0082 4BD0 beq .L660 8498 .LVL543: 8499 .LBB354: 8500 .LBI354: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8501 .loc 1 7514 13 is_stmt 1 view .LVU3091 8502 .LBB355: 7520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME; 7522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */ 7524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */ 7525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */ 7526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */ 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME) 8503 .loc 1 7527 8 view .LVU3092 8504 .loc 1 7527 16 is_stmt 0 view .LVU3093 8505 0084 E26A ldr r2, [r4, #44] 8506 .loc 1 7527 11 view .LVU3094 8507 0086 B2F52A4F cmp r2, #43520 7528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME; 8508 .loc 1 7529 5 is_stmt 1 view .LVU3095 8509 .loc 1 7529 23 is_stmt 0 view .LVU3096 8510 008a 04BF itt eq 8511 008c 4FF00072 moveq r2, #33554432 8512 0090 E262 streq r2, [r4, #44] 8513 .LVL544: 8514 .L634: 8515 .loc 1 7529 23 view .LVU3097 8516 .LBE355: 8517 .LBE354: 7530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 7531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** else 7532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 7533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Nothing to do */ 7534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8518 .loc 1 7534 3 is_stmt 1 view .LVU3098 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 335 8519 .loc 1 7534 3 is_stmt 0 view .LVU3099 8520 .LBE353: 8521 .LBE352: 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8522 .loc 1 3455 7 is_stmt 1 view .LVU3100 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8523 .loc 1 3455 15 is_stmt 0 view .LVU3101 8524 0092 628D ldrh r2, [r4, #42] 8525 0094 92B2 uxth r2, r2 3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8526 .loc 1 3455 10 view .LVU3102 8527 0096 FF2A cmp r2, #255 8528 0098 3CD8 bhi .L641 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8529 .loc 1 3457 9 is_stmt 1 view .LVU3103 3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8530 .loc 1 3457 18 is_stmt 0 view .LVU3104 8531 009a E36A ldr r3, [r4, #44] 8532 .LVL545: 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 8533 .loc 1 3393 12 view .LVU3105 8534 009c 234D ldr r5, .L662+8 8535 .L632: 8536 .LVL546: 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8537 .loc 1 3462 5 is_stmt 1 view .LVU3106 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8538 .loc 1 3462 8 is_stmt 0 view .LVU3107 8539 009e 79B3 cbz r1, .L661 8540 .L635: 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8541 .loc 1 3468 7 is_stmt 1 view .LVU3108 8542 00a0 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 8543 00a4 0095 str r5, [sp] 8544 00a6 3146 mov r1, r6 8545 00a8 2046 mov r0, r4 8546 .LVL547: 3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8547 .loc 1 3468 7 is_stmt 0 view .LVU3109 8548 00aa FFF7FEFF bl I2C_TransferConfig 8549 .LVL548: 8550 .L636: 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8551 .loc 1 3472 5 is_stmt 1 view .LVU3110 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8552 .loc 1 3472 5 view .LVU3111 8553 .LBB357: 8554 .LBB358: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8555 .loc 1 7441 3 is_stmt 0 view .LVU3112 8556 00ae 2268 ldr r2, [r4] 8557 .LBE358: 8558 .LBE357: 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8559 .loc 1 3472 5 view .LVU3113 8560 00b0 0020 movs r0, #0 8561 00b2 84F84000 strb r0, [r4, #64] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 336 3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8562 .loc 1 3472 5 is_stmt 1 view .LVU3114 3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8563 .loc 1 3481 5 view .LVU3115 8564 .LVL549: 8565 .LBB360: 8566 .LBI357: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8567 .loc 1 7360 13 view .LVU3116 8568 .LBB359: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8569 .loc 1 7362 3 view .LVU3117 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 8570 .loc 1 7364 3 view .LVU3118 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8571 .loc 1 7441 3 view .LVU3119 8572 00b6 1368 ldr r3, [r2] 8573 00b8 43F0F203 orr r3, r3, #242 8574 00bc 1360 str r3, [r2] 8575 .LVL550: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8576 .loc 1 7441 3 is_stmt 0 view .LVU3120 8577 .LBE359: 8578 .LBE360: 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8579 .loc 1 3489 1 view .LVU3121 8580 00be 05B0 add sp, sp, #20 8581 .LCFI103: 8582 .cfi_remember_state 8583 .cfi_def_cfa_offset 20 8584 @ sp needed 8585 00c0 F0BD pop {r4, r5, r6, r7, pc} 8586 .LVL551: 8587 .L658: 8588 .LCFI104: 8589 .cfi_restore_state 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 8590 .loc 1 3417 7 is_stmt 1 view .LVU3122 3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 8591 .loc 1 3417 22 is_stmt 0 view .LVU3123 8592 00c2 FF20 movs r0, #255 8593 00c4 2085 strh r0, [r4, #40] @ movhi 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8594 .loc 1 3418 7 is_stmt 1 view .LVU3124 8595 .LVL552: 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8596 .loc 1 3426 5 view .LVU3125 3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8597 .loc 1 3418 16 is_stmt 0 view .LVU3126 8598 00c6 4FF08073 mov r3, #16777216 8599 .LVL553: 8600 .L629: 3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8601 .loc 1 3426 31 discriminator 1 view .LVU3127 8602 00ca 35F00071 bics r1, r5, #33554432 8603 00ce 23D1 bne .L639 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 337 8604 .loc 1 3431 7 is_stmt 1 view .LVU3128 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8605 .loc 1 3431 30 is_stmt 0 view .LVU3129 8606 00d0 9446 mov ip, r2 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8607 .loc 1 3431 28 view .LVU3130 8608 00d2 2268 ldr r2, [r4] 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8609 .loc 1 3431 30 view .LVU3131 8610 00d4 1CF8017B ldrb r7, [ip], #1 @ zero_extendqisi2 3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8611 .loc 1 3431 28 view .LVU3132 8612 00d8 9762 str r7, [r2, #40] 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8613 .loc 1 3434 7 is_stmt 1 view .LVU3133 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 8614 .loc 1 3437 11 is_stmt 0 view .LVU3134 8615 00da 628D ldrh r2, [r4, #42] 3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8616 .loc 1 3434 21 view .LVU3135 8617 00dc C4F824C0 str ip, [r4, #36] 3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 8618 .loc 1 3436 7 is_stmt 1 view .LVU3136 8619 .LVL554: 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 8620 .loc 1 3437 7 view .LVU3137 3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 8621 .loc 1 3437 22 is_stmt 0 view .LVU3138 8622 00e0 013A subs r2, r2, #1 8623 00e2 92B2 uxth r2, r2 8624 00e4 6285 strh r2, [r4, #42] @ movhi 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8625 .loc 1 3438 7 is_stmt 1 view .LVU3139 3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8626 .loc 1 3438 21 is_stmt 0 view .LVU3140 8627 00e6 421E subs r2, r0, #1 8628 00e8 2285 strh r2, [r4, #40] @ movhi 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8629 .loc 1 3444 5 is_stmt 1 view .LVU3141 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8630 .loc 1 3444 14 is_stmt 0 view .LVU3142 8631 00ea 226B ldr r2, [r4, #48] 3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8632 .loc 1 3444 8 view .LVU3143 8633 00ec 112A cmp r2, #17 8634 00ee C6D1 bne .L631 8635 .L659: 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8636 .loc 1 3445 10 view .LVU3144 8637 00f0 AA2D cmp r5, #170 8638 00f2 C4D0 beq .L631 3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8639 .loc 1 3445 10 discriminator 2 view .LVU3145 8640 00f4 B5F52A4F cmp r5, #43520 8641 00f8 C1D0 beq .L631 3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8642 .loc 1 3447 19 view .LVU3146 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 338 8643 00fa 0025 movs r5, #0 8644 .LVL555: 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8645 .loc 1 3462 5 is_stmt 1 view .LVU3147 3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8646 .loc 1 3462 8 is_stmt 0 view .LVU3148 8647 00fc 0029 cmp r1, #0 8648 00fe CFD1 bne .L635 8649 .LVL556: 8650 .L661: 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8651 .loc 1 3464 7 is_stmt 1 view .LVU3149 8652 0100 C2B2 uxtb r2, r0 8653 0102 0095 str r5, [sp] 8654 0104 3146 mov r1, r6 8655 0106 2046 mov r0, r4 8656 .LVL557: 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8657 .loc 1 3464 7 is_stmt 0 view .LVU3150 8658 0108 FFF7FEFF bl I2C_TransferConfig 8659 .LVL558: 3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8660 .loc 1 3464 7 view .LVU3151 8661 010c CFE7 b .L636 8662 .LVL559: 8663 .L638: 3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8664 .loc 1 3487 12 view .LVU3152 8665 010e 0220 movs r0, #2 3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8666 .loc 1 3489 1 view .LVU3153 8667 0110 05B0 add sp, sp, #20 8668 .LCFI105: 8669 .cfi_remember_state 8670 .cfi_def_cfa_offset 20 8671 @ sp needed 8672 0112 F0BD pop {r4, r5, r6, r7, pc} 8673 .LVL560: 8674 .L641: 8675 .LCFI106: 8676 .cfi_restore_state 3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 8677 .loc 1 3393 12 view .LVU3154 8678 0114 054D ldr r5, .L662+8 8679 0116 C2E7 b .L632 8680 .LVL561: 8681 .L639: 3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8682 .loc 1 3394 12 view .LVU3155 8683 0118 0020 movs r0, #0 8684 011a ADE7 b .L630 8685 .LVL562: 8686 .L660: 8687 .LBB361: 8688 .LBB356: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8689 .loc 1 7521 5 is_stmt 1 view .LVU3156 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 339 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8690 .loc 1 7521 23 is_stmt 0 view .LVU3157 8691 011c 0022 movs r2, #0 8692 011e E262 str r2, [r4, #44] 8693 .LVL563: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8694 .loc 1 7521 23 view .LVU3158 8695 0120 B7E7 b .L634 8696 .L663: 8697 0122 00BF .align 2 8698 .L662: 8699 0124 00000000 .word .LC0 8700 0128 00000000 .word I2C_Master_ISR_IT 8701 012c 00200080 .word -2147475456 8702 .LBE356: 8703 .LBE361: 8704 .cfi_endproc 8705 .LFE153: 8707 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits 8708 .align 1 8709 .p2align 2,,3 8710 .global HAL_I2C_Master_Seq_Transmit_DMA 8711 .syntax unified 8712 .thumb 8713 .thumb_func 8715 HAL_I2C_Master_Seq_Transmit_DMA: 8716 .LVL564: 8717 .LFB154: 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8718 .loc 1 3505 1 is_stmt 1 view -0 8719 .cfi_startproc 8720 @ args = 4, pretend = 0, frame = 8 8721 @ frame_needed = 0, uses_anonymous_args = 0 3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE; 8722 .loc 1 3506 3 view .LVU3160 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 8723 .loc 1 3507 3 view .LVU3161 3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t sizetoxfer = 0U; 8724 .loc 1 3508 3 view .LVU3162 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8725 .loc 1 3509 3 view .LVU3163 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8726 .loc 1 3512 3 view .LVU3164 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8727 .loc 1 3505 1 is_stmt 0 view .LVU3165 8728 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 8729 .LCFI107: 8730 .cfi_def_cfa_offset 36 8731 .cfi_offset 4, -36 8732 .cfi_offset 5, -32 8733 .cfi_offset 6, -28 8734 .cfi_offset 7, -24 8735 .cfi_offset 8, -20 8736 .cfi_offset 9, -16 8737 .cfi_offset 10, -12 8738 .cfi_offset 11, -8 8739 .cfi_offset 14, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 340 8740 0004 85B0 sub sp, sp, #20 8741 .LCFI108: 8742 .cfi_def_cfa_offset 56 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8743 .loc 1 3505 1 view .LVU3166 8744 0006 0F46 mov r7, r1 8745 0008 0E9E ldr r6, [sp, #56] 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8746 .loc 1 3512 3 view .LVU3167 8747 000a 36F08071 bics r1, r6, #16777216 8748 .LVL565: 3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 8749 .loc 1 3505 1 view .LVU3168 8750 000e 0446 mov r4, r0 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8751 .loc 1 3512 3 view .LVU3169 8752 0010 10D0 beq .L665 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8753 .loc 1 3512 3 discriminator 2 view .LVU3170 8754 0012 B6F1007F cmp r6, #33554432 8755 0016 0DD0 beq .L665 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8756 .loc 1 3512 3 discriminator 4 view .LVU3171 8757 0018 AA2E cmp r6, #170 8758 001a 0BD0 beq .L665 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8759 .loc 1 3512 3 discriminator 5 view .LVU3172 8760 001c B6F52A4F cmp r6, #43520 8761 0020 08D0 beq .L665 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8762 .loc 1 3512 3 discriminator 6 view .LVU3173 8763 0022 7748 ldr r0, .L711 8764 .LVL566: 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8765 .loc 1 3512 3 discriminator 6 view .LVU3174 8766 0024 40F6B851 movw r1, #3512 8767 0028 CDE90223 strd r2, r3, [sp, #8] 8768 002c FFF7FEFF bl assert_failed 8769 .LVL567: 3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8770 .loc 1 3512 3 discriminator 6 view .LVU3175 8771 0030 DDE90223 ldrd r2, r3, [sp, #8] 8772 .LVL568: 8773 .L665: 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8774 .loc 1 3514 3 is_stmt 1 view .LVU3176 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8775 .loc 1 3514 11 is_stmt 0 view .LVU3177 8776 0034 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8777 .loc 1 3514 6 view .LVU3178 8778 0038 2029 cmp r1, #32 8779 003a 40F0B180 bne .L684 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8780 .loc 1 3517 5 is_stmt 1 view .LVU3179 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8781 .loc 1 3517 5 view .LVU3180 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 341 8782 003e 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 8783 0042 0129 cmp r1, #1 8784 0044 00F0AC80 beq .L684 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8785 .loc 1 3517 5 discriminator 2 view .LVU3181 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 8786 .loc 1 3519 21 is_stmt 0 discriminator 2 view .LVU3182 8787 0048 2121 movs r1, #33 8788 004a 84F84110 strb r1, [r4, #65] 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8789 .loc 1 3520 21 discriminator 2 view .LVU3183 8790 004e 1021 movs r1, #16 8791 0050 84F84210 strb r1, [r4, #66] 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8792 .loc 1 3521 21 discriminator 2 view .LVU3184 8793 0054 0021 movs r1, #0 8794 0056 6164 str r1, [r4, #68] 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8795 .loc 1 3525 23 discriminator 2 view .LVU3185 8796 0058 6385 strh r3, [r4, #42] @ movhi 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8797 .loc 1 3527 23 discriminator 2 view .LVU3186 8798 005a 6A4B ldr r3, .L711+4 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 8799 .loc 1 3526 23 discriminator 2 view .LVU3187 8800 005c E662 str r6, [r4, #44] 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8801 .loc 1 3527 23 discriminator 2 view .LVU3188 8802 005e 6363 str r3, [r4, #52] 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8803 .loc 1 3530 13 discriminator 2 view .LVU3189 8804 0060 638D ldrh r3, [r4, #42] 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8805 .loc 1 3524 23 discriminator 2 view .LVU3190 8806 0062 6262 str r2, [r4, #36] 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8807 .loc 1 3530 13 discriminator 2 view .LVU3191 8808 0064 9BB2 uxth r3, r3 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8809 .loc 1 3517 5 discriminator 2 view .LVU3192 8810 0066 0121 movs r1, #1 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8811 .loc 1 3530 8 discriminator 2 view .LVU3193 8812 0068 FF2B cmp r3, #255 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8813 .loc 1 3517 5 discriminator 2 view .LVU3194 8814 006a 84F84010 strb r1, [r4, #64] 3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8815 .loc 1 3517 5 is_stmt 1 discriminator 2 view .LVU3195 3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 8816 .loc 1 3519 5 discriminator 2 view .LVU3196 3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 8817 .loc 1 3520 5 discriminator 2 view .LVU3197 3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8818 .loc 1 3521 5 discriminator 2 view .LVU3198 3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 8819 .loc 1 3524 5 discriminator 2 view .LVU3199 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 342 3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 8820 .loc 1 3525 5 discriminator 2 view .LVU3200 3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 8821 .loc 1 3526 5 discriminator 2 view .LVU3201 3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8822 .loc 1 3527 5 discriminator 2 view .LVU3202 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8823 .loc 1 3530 5 discriminator 2 view .LVU3203 3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8824 .loc 1 3530 8 is_stmt 0 discriminator 2 view .LVU3204 8825 006e 5BD8 bhi .L705 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8826 .loc 1 3537 7 is_stmt 1 view .LVU3205 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8827 .loc 1 3537 28 is_stmt 0 view .LVU3206 8828 0070 658D ldrh r5, [r4, #42] 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8829 .loc 1 3538 16 view .LVU3207 8830 0072 D4F82C80 ldr r8, [r4, #44] 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8831 .loc 1 3537 28 view .LVU3208 8832 0076 ADB2 uxth r5, r5 3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 8833 .loc 1 3537 22 view .LVU3209 8834 0078 2585 strh r5, [r4, #40] @ movhi 3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8835 .loc 1 3538 7 is_stmt 1 view .LVU3210 8836 .LVL569: 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8837 .loc 1 3541 5 view .LVU3211 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8838 .loc 1 3509 12 is_stmt 0 view .LVU3212 8839 007a AA46 mov r10, r5 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 8840 .loc 1 3541 8 view .LVU3213 8841 007c 002D cmp r5, #0 8842 007e 57D1 bne .L668 8843 .L669: 8844 .LVL570: 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8845 .loc 1 3559 5 is_stmt 1 view .LVU3214 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8846 .loc 1 3559 14 is_stmt 0 view .LVU3215 8847 0080 236B ldr r3, [r4, #48] 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 8848 .loc 1 3559 8 view .LVU3216 8849 0082 112B cmp r3, #17 8850 0084 67D0 beq .L706 8851 .L671: 3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8852 .loc 1 3567 7 is_stmt 1 view .LVU3217 8853 .LVL571: 8854 .LBB370: 8855 .LBI370: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8856 .loc 1 7514 13 view .LVU3218 8857 .LBB371: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 343 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8858 .loc 1 7519 3 view .LVU3219 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8859 .loc 1 7519 11 is_stmt 0 view .LVU3220 8860 0086 E36A ldr r3, [r4, #44] 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8861 .loc 1 7519 6 view .LVU3221 8862 0088 AA2B cmp r3, #170 8863 008a 00F0A580 beq .L707 8864 .LVL572: 8865 .LBB372: 8866 .LBI372: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8867 .loc 1 7514 13 is_stmt 1 view .LVU3222 8868 .LBB373: 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8869 .loc 1 7527 8 view .LVU3223 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8870 .loc 1 7527 16 is_stmt 0 view .LVU3224 8871 008e E36A ldr r3, [r4, #44] 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8872 .loc 1 7527 11 view .LVU3225 8873 0090 B3F52A4F cmp r3, #43520 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8874 .loc 1 7529 5 is_stmt 1 view .LVU3226 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8875 .loc 1 7529 23 is_stmt 0 view .LVU3227 8876 0094 04BF itt eq 8877 0096 4FF00073 moveq r3, #33554432 8878 009a E362 streq r3, [r4, #44] 8879 .LVL573: 8880 .L674: 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8881 .loc 1 7529 23 view .LVU3228 8882 .LBE373: 8883 .LBE372: 8884 .loc 1 7534 3 is_stmt 1 view .LVU3229 8885 .loc 1 7534 3 is_stmt 0 view .LVU3230 8886 .LBE371: 8887 .LBE370: 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8888 .loc 1 3570 7 is_stmt 1 view .LVU3231 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8889 .loc 1 3570 15 is_stmt 0 view .LVU3232 8890 009c 638D ldrh r3, [r4, #42] 8891 009e 9BB2 uxth r3, r3 3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8892 .loc 1 3570 10 view .LVU3233 8893 00a0 FF2B cmp r3, #255 8894 00a2 00F28280 bhi .L687 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8895 .loc 1 3572 9 is_stmt 1 view .LVU3234 3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8896 .loc 1 3572 18 is_stmt 0 view .LVU3235 8897 00a6 D4F82C80 ldr r8, [r4, #44] 8898 .LVL574: 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 344 8899 .loc 1 3507 12 view .LVU3236 8900 00aa DFF86891 ldr r9, .L711+20 8901 .L672: 8902 .LVL575: 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8903 .loc 1 3576 5 is_stmt 1 view .LVU3237 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8904 .loc 1 3576 8 is_stmt 0 view .LVU3238 8905 00ae 002D cmp r5, #0 8906 00b0 5AD0 beq .L675 8907 .L710: 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8908 .loc 1 3578 7 is_stmt 1 view .LVU3239 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8909 .loc 1 3578 15 is_stmt 0 view .LVU3240 8910 00b2 A06B ldr r0, [r4, #56] 3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8911 .loc 1 3578 10 view .LVU3241 8912 00b4 0028 cmp r0, #0 8913 00b6 00F09280 beq .L676 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8914 .loc 1 3581 9 is_stmt 1 view .LVU3242 3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8915 .loc 1 3592 52 is_stmt 0 view .LVU3243 8916 00ba 2268 ldr r2, [r4] 3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8917 .loc 1 3581 40 view .LVU3244 8918 00bc 5249 ldr r1, .L711+8 8919 00be 8162 str r1, [r0, #40] 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8920 .loc 1 3584 9 is_stmt 1 view .LVU3245 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8921 .loc 1 3587 44 is_stmt 0 view .LVU3246 8922 00c0 4FF0000B mov fp, #0 3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8923 .loc 1 3584 41 view .LVU3247 8924 00c4 5149 ldr r1, .L711+12 8925 00c6 0163 str r1, [r0, #48] 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8926 .loc 1 3587 9 is_stmt 1 view .LVU3248 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8927 .loc 1 3588 9 view .LVU3249 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 8928 .loc 1 3591 9 view .LVU3250 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 8929 .loc 1 3591 25 is_stmt 0 view .LVU3251 8930 00c8 2B46 mov r3, r5 8931 00ca 616A ldr r1, [r4, #36] 3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 8932 .loc 1 3587 44 view .LVU3252 8933 00cc C0F82CB0 str fp, [r0, #44] 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 8934 .loc 1 3591 25 view .LVU3253 8935 00d0 2832 adds r2, r2, #40 3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8936 .loc 1 3588 41 view .LVU3254 8937 00d2 C0F834B0 str fp, [r0, #52] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 345 3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize); 8938 .loc 1 3591 25 view .LVU3255 8939 00d6 FFF7FEFF bl HAL_DMA_Start_IT 8940 .LVL576: 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8941 .loc 1 3609 7 is_stmt 1 view .LVU3256 3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8942 .loc 1 3609 10 is_stmt 0 view .LVU3257 8943 00da 0546 mov r5, r0 8944 00dc 0028 cmp r0, #0 8945 00de 6BD1 bne .L708 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8946 .loc 1 3612 9 is_stmt 1 view .LVU3258 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8947 .loc 1 3614 11 view .LVU3259 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8948 .loc 1 3618 11 view .LVU3260 3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8949 .loc 1 3612 12 is_stmt 0 view .LVU3261 8950 00e0 36F00073 bics r3, r6, #33554432 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8951 .loc 1 3614 11 view .LVU3262 8952 00e4 CDF80090 str r9, [sp] 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8953 .loc 1 3618 11 view .LVU3263 8954 00e8 13BF iteet ne 8955 00ea 94F82820 ldrbne r2, [r4, #40] @ zero_extendqisi2 3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8956 .loc 1 3614 11 view .LVU3264 8957 00ee 4346 moveq r3, r8 8958 00f0 5FFA8AF2 uxtbeq r2, r10 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8959 .loc 1 3618 11 view .LVU3265 8960 00f4 4346 movne r3, r8 8961 00f6 3946 mov r1, r7 8962 00f8 2046 mov r0, r4 8963 .LVL577: 3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8964 .loc 1 3618 11 view .LVU3266 8965 00fa FFF7FEFF bl I2C_TransferConfig 8966 .LVL578: 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8967 .loc 1 3622 9 is_stmt 1 view .LVU3267 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8968 .loc 1 3622 25 is_stmt 0 view .LVU3268 8969 00fe 638D ldrh r3, [r4, #42] 8970 0100 218D ldrh r1, [r4, #40] 8971 .LBB375: 8972 .LBB376: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8973 .loc 1 7441 3 view .LVU3269 8974 0102 2268 ldr r2, [r4] 8975 .LBE376: 8976 .LBE375: 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8977 .loc 1 3622 25 view .LVU3270 8978 0104 5B1A subs r3, r3, r1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 346 8979 0106 9BB2 uxth r3, r3 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8980 .loc 1 3625 9 view .LVU3271 8981 0108 0021 movs r1, #0 3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8982 .loc 1 3622 25 view .LVU3272 8983 010a 6385 strh r3, [r4, #42] @ movhi 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8984 .loc 1 3625 9 is_stmt 1 view .LVU3273 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8985 .loc 1 3625 9 view .LVU3274 8986 010c 84F84010 strb r1, [r4, #64] 3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8987 .loc 1 3625 9 view .LVU3275 3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8988 .loc 1 3631 9 view .LVU3276 8989 .LVL579: 8990 .LBB378: 8991 .LBI375: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 8992 .loc 1 7360 13 view .LVU3277 8993 .LBB377: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 8994 .loc 1 7362 3 view .LVU3278 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 8995 .loc 1 7364 3 view .LVU3279 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 8996 .loc 1 7441 3 view .LVU3280 8997 0110 1368 ldr r3, [r2] 8998 0112 43F09003 orr r3, r3, #144 8999 0116 1360 str r3, [r2] 9000 .LVL580: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9001 .loc 1 7441 3 is_stmt 0 view .LVU3281 9002 .LBE377: 9003 .LBE378: 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9004 .loc 1 3634 9 is_stmt 1 view .LVU3282 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9005 .loc 1 3634 29 is_stmt 0 view .LVU3283 9006 0118 1368 ldr r3, [r2] 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9007 .loc 1 3686 1 view .LVU3284 9008 011a 2846 mov r0, r5 3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9009 .loc 1 3634 29 view .LVU3285 9010 011c 43F48043 orr r3, r3, #16384 9011 0120 1360 str r3, [r2] 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9012 .loc 1 3686 1 view .LVU3286 9013 0122 05B0 add sp, sp, #20 9014 .LCFI109: 9015 .cfi_remember_state 9016 .cfi_def_cfa_offset 36 9017 @ sp needed 9018 0124 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 9019 .LVL581: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 347 9020 .L705: 9021 .LCFI110: 9022 .cfi_restore_state 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9023 .loc 1 3532 7 is_stmt 1 view .LVU3287 3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9024 .loc 1 3532 22 is_stmt 0 view .LVU3288 9025 0128 FF25 movs r5, #255 9026 012a 2585 strh r5, [r4, #40] @ movhi 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9027 .loc 1 3533 7 is_stmt 1 view .LVU3289 9028 .LVL582: 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 9029 .loc 1 3541 5 view .LVU3290 3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9030 .loc 1 3533 16 is_stmt 0 view .LVU3291 9031 012c 4FF08078 mov r8, #16777216 9032 .LVL583: 9033 .L668: 3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (XferOptions == I2C_FIRST_AND_LAST_FRAME))) 9034 .loc 1 3541 31 discriminator 1 view .LVU3292 9035 0130 36F00073 bics r3, r6, #33554432 9036 0134 3CD1 bne .L709 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9037 .loc 1 3546 7 is_stmt 1 view .LVU3293 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9038 .loc 1 3546 11 is_stmt 0 view .LVU3294 9039 0136 2368 ldr r3, [r4] 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9040 .loc 1 3546 30 view .LVU3295 9041 0138 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9042 .loc 1 3546 28 view .LVU3296 9043 013c 9962 str r1, [r3, #40] 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9044 .loc 1 3549 7 is_stmt 1 view .LVU3297 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 9045 .loc 1 3552 11 is_stmt 0 view .LVU3298 9046 013e 638D ldrh r3, [r4, #42] 3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9047 .loc 1 3549 21 view .LVU3299 9048 0140 6262 str r2, [r4, #36] 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 9049 .loc 1 3551 7 is_stmt 1 view .LVU3300 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 9050 .loc 1 3552 22 is_stmt 0 view .LVU3301 9051 0142 013B subs r3, r3, #1 9052 0144 9BB2 uxth r3, r3 9053 0146 6385 strh r3, [r4, #42] @ movhi 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9054 .loc 1 3553 21 view .LVU3302 9055 0148 6B1E subs r3, r5, #1 3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 9056 .loc 1 3551 18 view .LVU3303 9057 014a AA46 mov r10, r5 9058 .LVL584: 3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 348 9059 .loc 1 3552 7 is_stmt 1 view .LVU3304 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9060 .loc 1 3553 7 view .LVU3305 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9061 .loc 1 3553 21 is_stmt 0 view .LVU3306 9062 014c 9DB2 uxth r5, r3 9063 .LVL585: 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9064 .loc 1 3559 14 view .LVU3307 9065 014e 236B ldr r3, [r4, #48] 3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9066 .loc 1 3553 21 view .LVU3308 9067 0150 2585 strh r5, [r4, #40] @ movhi 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9068 .loc 1 3559 5 is_stmt 1 view .LVU3309 3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9069 .loc 1 3559 8 is_stmt 0 view .LVU3310 9070 0152 112B cmp r3, #17 9071 0154 97D1 bne .L671 9072 .L706: 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9073 .loc 1 3560 10 view .LVU3311 9074 0156 AA2E cmp r6, #170 9075 0158 95D0 beq .L671 3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9076 .loc 1 3560 10 discriminator 2 view .LVU3312 9077 015a B6F52A4F cmp r6, #43520 9078 015e 92D0 beq .L671 3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9079 .loc 1 3562 19 view .LVU3313 9080 0160 4FF00009 mov r9, #0 9081 .LVL586: 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9082 .loc 1 3576 5 is_stmt 1 view .LVU3314 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9083 .loc 1 3576 8 is_stmt 0 view .LVU3315 9084 0164 002D cmp r5, #0 9085 0166 A4D1 bne .L710 9086 .LVL587: 9087 .L675: 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9088 .loc 1 3654 7 is_stmt 1 view .LVU3316 3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9089 .loc 1 3654 21 is_stmt 0 view .LVU3317 9090 0168 294B ldr r3, .L711+16 9091 016a 6363 str r3, [r4, #52] 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9092 .loc 1 3658 7 is_stmt 1 view .LVU3318 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9093 .loc 1 3660 9 view .LVU3319 3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9094 .loc 1 3658 10 is_stmt 0 view .LVU3320 9095 016c 36F00073 bics r3, r6, #33554432 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9096 .loc 1 3664 9 view .LVU3321 9097 0170 18BF it ne 9098 0172 2A46 movne r2, r5 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 349 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9099 .loc 1 3660 9 view .LVU3322 9100 0174 4346 mov r3, r8 9101 0176 08BF it eq 9102 0178 5FFA8AF2 uxtbeq r2, r10 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9103 .loc 1 3664 9 is_stmt 1 view .LVU3323 9104 017c 2046 mov r0, r4 3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9105 .loc 1 3660 9 is_stmt 0 view .LVU3324 9106 017e CDF80090 str r9, [sp] 3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9107 .loc 1 3664 9 view .LVU3325 9108 0182 3946 mov r1, r7 9109 0184 FFF7FEFF bl I2C_TransferConfig 9110 .LVL588: 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9111 .loc 1 3668 7 is_stmt 1 view .LVU3326 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9112 .loc 1 3668 7 view .LVU3327 9113 0188 0025 movs r5, #0 9114 .LBB379: 9115 .LBB380: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9116 .loc 1 7441 3 is_stmt 0 view .LVU3328 9117 018a 2268 ldr r2, [r4] 9118 .LBE380: 9119 .LBE379: 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9120 .loc 1 3668 7 view .LVU3329 9121 018c 84F84050 strb r5, [r4, #64] 3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9122 .loc 1 3668 7 is_stmt 1 view .LVU3330 3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9123 .loc 1 3677 7 view .LVU3331 9124 .LVL589: 9125 .LBB383: 9126 .LBI379: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9127 .loc 1 7360 13 view .LVU3332 9128 .LBB381: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9129 .loc 1 7362 3 view .LVU3333 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 9130 .loc 1 7364 3 view .LVU3334 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9131 .loc 1 7441 3 view .LVU3335 9132 0190 1368 ldr r3, [r2] 9133 .LBE381: 9134 .LBE383: 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9135 .loc 1 3686 1 is_stmt 0 view .LVU3336 9136 0192 2846 mov r0, r5 9137 .LBB384: 9138 .LBB382: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9139 .loc 1 7441 3 view .LVU3337 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 350 9140 0194 43F0F203 orr r3, r3, #242 9141 0198 1360 str r3, [r2] 9142 .LVL590: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9143 .loc 1 7441 3 view .LVU3338 9144 .LBE382: 9145 .LBE384: 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9146 .loc 1 3686 1 view .LVU3339 9147 019a 05B0 add sp, sp, #20 9148 .LCFI111: 9149 .cfi_remember_state 9150 .cfi_def_cfa_offset 36 9151 @ sp needed 9152 019c BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 9153 .LVL591: 9154 .L684: 9155 .LCFI112: 9156 .cfi_restore_state 3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9157 .loc 1 3684 12 view .LVU3340 9158 01a0 0225 movs r5, #2 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9159 .loc 1 3686 1 view .LVU3341 9160 01a2 2846 mov r0, r5 9161 01a4 05B0 add sp, sp, #20 9162 .LCFI113: 9163 .cfi_remember_state 9164 .cfi_def_cfa_offset 36 9165 @ sp needed 9166 01a6 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 9167 .LVL592: 9168 .L687: 9169 .LCFI114: 9170 .cfi_restore_state 3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 9171 .loc 1 3507 12 view .LVU3342 9172 01aa DFF86890 ldr r9, .L711+20 9173 01ae 7EE7 b .L672 9174 .LVL593: 9175 .L709: 3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9176 .loc 1 3576 13 view .LVU3343 9177 01b0 258D ldrh r5, [r4, #40] 3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9178 .loc 1 3509 12 view .LVU3344 9179 01b2 4FF0000A mov r10, #0 9180 01b6 63E7 b .L669 9181 .LVL594: 9182 .L708: 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9183 .loc 1 3639 9 is_stmt 1 view .LVU3345 3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9184 .loc 1 3639 25 is_stmt 0 view .LVU3346 9185 01b8 2023 movs r3, #32 9186 01ba 84F84130 strb r3, [r4, #65] 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 351 9187 .loc 1 3640 9 is_stmt 1 view .LVU3347 3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9188 .loc 1 3640 25 is_stmt 0 view .LVU3348 9189 01be 84F842B0 strb fp, [r4, #66] 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9190 .loc 1 3643 9 is_stmt 1 view .LVU3349 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9191 .loc 1 3643 25 is_stmt 0 view .LVU3350 9192 01c2 636C ldr r3, [r4, #68] 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9193 .loc 1 3646 9 view .LVU3351 9194 01c4 84F840B0 strb fp, [r4, #64] 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9195 .loc 1 3648 16 view .LVU3352 9196 01c8 0125 movs r5, #1 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9197 .loc 1 3643 25 view .LVU3353 9198 01ca 43F01003 orr r3, r3, #16 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9199 .loc 1 3686 1 view .LVU3354 9200 01ce 2846 mov r0, r5 9201 .LVL595: 3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9202 .loc 1 3643 25 view .LVU3355 9203 01d0 6364 str r3, [r4, #68] 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9204 .loc 1 3646 9 is_stmt 1 view .LVU3356 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9205 .loc 1 3646 9 view .LVU3357 3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9206 .loc 1 3646 9 view .LVU3358 3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9207 .loc 1 3648 9 view .LVU3359 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9208 .loc 1 3686 1 is_stmt 0 view .LVU3360 9209 01d2 05B0 add sp, sp, #20 9210 .LCFI115: 9211 .cfi_remember_state 9212 .cfi_def_cfa_offset 36 9213 @ sp needed 9214 01d4 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 9215 .LVL596: 9216 .L707: 9217 .LCFI116: 9218 .cfi_restore_state 9219 .LBB385: 9220 .LBB374: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9221 .loc 1 7521 5 is_stmt 1 view .LVU3361 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9222 .loc 1 7521 23 is_stmt 0 view .LVU3362 9223 01d8 0023 movs r3, #0 9224 01da E362 str r3, [r4, #44] 9225 .LVL597: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9226 .loc 1 7521 23 view .LVU3363 9227 01dc 5EE7 b .L674 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 352 9228 .LVL598: 9229 .L676: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9230 .loc 1 7521 23 view .LVU3364 9231 .LBE374: 9232 .LBE385: 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9233 .loc 1 3597 9 is_stmt 1 view .LVU3365 3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9234 .loc 1 3597 25 is_stmt 0 view .LVU3366 9235 01de 2023 movs r3, #32 9236 01e0 84F84130 strb r3, [r4, #65] 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9237 .loc 1 3598 9 is_stmt 1 view .LVU3367 3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9238 .loc 1 3598 25 is_stmt 0 view .LVU3368 9239 01e4 84F84200 strb r0, [r4, #66] 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9240 .loc 1 3601 9 is_stmt 1 view .LVU3369 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9241 .loc 1 3601 25 is_stmt 0 view .LVU3370 9242 01e8 636C ldr r3, [r4, #68] 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9243 .loc 1 3604 9 view .LVU3371 9244 01ea 84F84000 strb r0, [r4, #64] 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9245 .loc 1 3606 16 view .LVU3372 9246 01ee 0125 movs r5, #1 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9247 .loc 1 3601 25 view .LVU3373 9248 01f0 43F08003 orr r3, r3, #128 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9249 .loc 1 3686 1 view .LVU3374 9250 01f4 2846 mov r0, r5 3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9251 .loc 1 3601 25 view .LVU3375 9252 01f6 6364 str r3, [r4, #68] 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9253 .loc 1 3604 9 is_stmt 1 view .LVU3376 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9254 .loc 1 3604 9 view .LVU3377 3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9255 .loc 1 3604 9 view .LVU3378 3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9256 .loc 1 3606 9 view .LVU3379 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9257 .loc 1 3686 1 is_stmt 0 view .LVU3380 9258 01f8 05B0 add sp, sp, #20 9259 .LCFI117: 9260 .cfi_def_cfa_offset 36 9261 @ sp needed 9262 01fa BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 9263 .LVL599: 9264 .L712: 3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9265 .loc 1 3686 1 view .LVU3381 9266 01fe 00BF .align 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 353 9267 .L711: 9268 0200 00000000 .word .LC0 9269 0204 00000000 .word I2C_Master_ISR_DMA 9270 0208 00000000 .word I2C_DMAMasterTransmitCplt 9271 020c 00000000 .word I2C_DMAError 9272 0210 00000000 .word I2C_Master_ISR_IT 9273 0214 00200080 .word -2147475456 9274 .cfi_endproc 9275 .LFE154: 9277 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits 9278 .align 1 9279 .p2align 2,,3 9280 .global HAL_I2C_Master_Seq_Receive_IT 9281 .syntax unified 9282 .thumb 9283 .thumb_func 9285 HAL_I2C_Master_Seq_Receive_IT: 9286 .LVL600: 9287 .LFB155: 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9288 .loc 1 3702 1 is_stmt 1 view -0 9289 .cfi_startproc 9290 @ args = 4, pretend = 0, frame = 8 9291 @ frame_needed = 0, uses_anonymous_args = 0 3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 9292 .loc 1 3703 3 view .LVU3383 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9293 .loc 1 3704 3 view .LVU3384 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9294 .loc 1 3707 3 view .LVU3385 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9295 .loc 1 3702 1 is_stmt 0 view .LVU3386 9296 0000 70B5 push {r4, r5, r6, lr} 9297 .LCFI118: 9298 .cfi_def_cfa_offset 16 9299 .cfi_offset 4, -16 9300 .cfi_offset 5, -12 9301 .cfi_offset 6, -8 9302 .cfi_offset 14, -4 9303 0002 84B0 sub sp, sp, #16 9304 .LCFI119: 9305 .cfi_def_cfa_offset 32 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9306 .loc 1 3702 1 view .LVU3387 9307 0004 0D46 mov r5, r1 9308 0006 089E ldr r6, [sp, #32] 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9309 .loc 1 3707 3 view .LVU3388 9310 0008 36F08071 bics r1, r6, #16777216 9311 .LVL601: 3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9312 .loc 1 3702 1 view .LVU3389 9313 000c 0446 mov r4, r0 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9314 .loc 1 3707 3 view .LVU3390 9315 000e 10D0 beq .L714 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 354 9316 .loc 1 3707 3 discriminator 2 view .LVU3391 9317 0010 B6F1007F cmp r6, #33554432 9318 0014 0DD0 beq .L714 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9319 .loc 1 3707 3 discriminator 4 view .LVU3392 9320 0016 AA2E cmp r6, #170 9321 0018 0BD0 beq .L714 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9322 .loc 1 3707 3 discriminator 5 view .LVU3393 9323 001a B6F52A4F cmp r6, #43520 9324 001e 08D0 beq .L714 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9325 .loc 1 3707 3 discriminator 6 view .LVU3394 9326 0020 3048 ldr r0, .L745 9327 .LVL602: 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9328 .loc 1 3707 3 discriminator 6 view .LVU3395 9329 0022 40F67B61 movw r1, #3707 9330 0026 CDE90223 strd r2, r3, [sp, #8] 9331 002a FFF7FEFF bl assert_failed 9332 .LVL603: 3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9333 .loc 1 3707 3 discriminator 6 view .LVU3396 9334 002e DDE90223 ldrd r2, r3, [sp, #8] 9335 .LVL604: 9336 .L714: 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9337 .loc 1 3709 3 is_stmt 1 view .LVU3397 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9338 .loc 1 3709 11 is_stmt 0 view .LVU3398 9339 0032 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9340 .loc 1 3709 6 view .LVU3399 9341 0036 2029 cmp r1, #32 9342 0038 4CD1 bne .L723 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9343 .loc 1 3712 5 is_stmt 1 view .LVU3400 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9344 .loc 1 3712 5 view .LVU3401 9345 003a 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 9346 003e 0129 cmp r1, #1 9347 0040 48D0 beq .L723 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9348 .loc 1 3712 5 discriminator 2 view .LVU3402 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9349 .loc 1 3719 23 is_stmt 0 discriminator 2 view .LVU3403 9350 0042 6262 str r2, [r4, #36] 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9351 .loc 1 3722 23 discriminator 2 view .LVU3404 9352 0044 284A ldr r2, .L745+4 9353 0046 6263 str r2, [r4, #52] 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 9354 .loc 1 3714 21 discriminator 2 view .LVU3405 9355 0048 2222 movs r2, #34 9356 004a 84F84120 strb r2, [r4, #65] 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9357 .loc 1 3715 21 discriminator 2 view .LVU3406 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 355 9358 004e 1022 movs r2, #16 9359 0050 84F84220 strb r2, [r4, #66] 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9360 .loc 1 3716 21 discriminator 2 view .LVU3407 9361 0054 0022 movs r2, #0 9362 0056 6264 str r2, [r4, #68] 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9363 .loc 1 3720 23 discriminator 2 view .LVU3408 9364 0058 6385 strh r3, [r4, #42] @ movhi 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 9365 .loc 1 3721 23 discriminator 2 view .LVU3409 9366 005a E662 str r6, [r4, #44] 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9367 .loc 1 3725 13 discriminator 2 view .LVU3410 9368 005c 638D ldrh r3, [r4, #42] 9369 005e 9BB2 uxth r3, r3 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9370 .loc 1 3712 5 discriminator 2 view .LVU3411 9371 0060 0122 movs r2, #1 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9372 .loc 1 3725 8 discriminator 2 view .LVU3412 9373 0062 FF2B cmp r3, #255 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9374 .loc 1 3712 5 discriminator 2 view .LVU3413 9375 0064 84F84020 strb r2, [r4, #64] 3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9376 .loc 1 3712 5 is_stmt 1 discriminator 2 view .LVU3414 3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 9377 .loc 1 3714 5 discriminator 2 view .LVU3415 3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9378 .loc 1 3715 5 discriminator 2 view .LVU3416 3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9379 .loc 1 3716 5 discriminator 2 view .LVU3417 3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9380 .loc 1 3719 5 discriminator 2 view .LVU3418 3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9381 .loc 1 3720 5 discriminator 2 view .LVU3419 3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT; 9382 .loc 1 3721 5 discriminator 2 view .LVU3420 3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9383 .loc 1 3722 5 discriminator 2 view .LVU3421 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9384 .loc 1 3725 5 discriminator 2 view .LVU3422 3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9385 .loc 1 3725 8 is_stmt 0 discriminator 2 view .LVU3423 9386 0068 26D8 bhi .L742 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9387 .loc 1 3732 7 is_stmt 1 view .LVU3424 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9388 .loc 1 3732 28 is_stmt 0 view .LVU3425 9389 006a 628D ldrh r2, [r4, #42] 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9390 .loc 1 3733 16 view .LVU3426 9391 006c E36A ldr r3, [r4, #44] 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9392 .loc 1 3739 14 view .LVU3427 9393 006e 216B ldr r1, [r4, #48] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 356 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9394 .loc 1 3732 28 view .LVU3428 9395 0070 92B2 uxth r2, r2 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9396 .loc 1 3739 8 view .LVU3429 9397 0072 1229 cmp r1, #18 3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9398 .loc 1 3732 22 view .LVU3430 9399 0074 2285 strh r2, [r4, #40] @ movhi 3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9400 .loc 1 3733 7 is_stmt 1 view .LVU3431 9401 .LVL605: 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9402 .loc 1 3757 5 is_stmt 0 view .LVU3432 9403 0076 D2B2 uxtb r2, r2 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9404 .loc 1 3739 5 is_stmt 1 view .LVU3433 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9405 .loc 1 3739 8 is_stmt 0 view .LVU3434 9406 0078 25D0 beq .L743 9407 .L718: 3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9408 .loc 1 3747 7 is_stmt 1 view .LVU3435 9409 .LVL606: 9410 .LBB392: 9411 .LBI392: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9412 .loc 1 7514 13 view .LVU3436 9413 .LBB393: 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9414 .loc 1 7519 3 view .LVU3437 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9415 .loc 1 7519 11 is_stmt 0 view .LVU3438 9416 007a E16A ldr r1, [r4, #44] 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9417 .loc 1 7519 6 view .LVU3439 9418 007c AA29 cmp r1, #170 9419 007e 2ED0 beq .L744 9420 .LVL607: 9421 .LBB394: 9422 .LBI394: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9423 .loc 1 7514 13 is_stmt 1 view .LVU3440 9424 .LBB395: 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9425 .loc 1 7527 8 view .LVU3441 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9426 .loc 1 7527 16 is_stmt 0 view .LVU3442 9427 0080 E16A ldr r1, [r4, #44] 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9428 .loc 1 7527 11 view .LVU3443 9429 0082 B1F52A4F cmp r1, #43520 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9430 .loc 1 7529 5 is_stmt 1 view .LVU3444 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9431 .loc 1 7529 23 is_stmt 0 view .LVU3445 9432 0086 04BF itt eq ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 357 9433 0088 4FF00071 moveq r1, #33554432 9434 008c E162 streq r1, [r4, #44] 9435 .LVL608: 9436 .L721: 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9437 .loc 1 7529 23 view .LVU3446 9438 .LBE395: 9439 .LBE394: 9440 .loc 1 7534 3 is_stmt 1 view .LVU3447 9441 .loc 1 7534 3 is_stmt 0 view .LVU3448 9442 .LBE393: 9443 .LBE392: 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9444 .loc 1 3750 7 is_stmt 1 view .LVU3449 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9445 .loc 1 3750 15 is_stmt 0 view .LVU3450 9446 008e 618D ldrh r1, [r4, #42] 9447 0090 89B2 uxth r1, r1 3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9448 .loc 1 3750 10 view .LVU3451 9449 0092 FF29 cmp r1, #255 9450 0094 21D8 bhi .L725 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9451 .loc 1 3752 9 is_stmt 1 view .LVU3452 3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9452 .loc 1 3752 18 is_stmt 0 view .LVU3453 9453 0096 E36A ldr r3, [r4, #44] 9454 .LVL609: 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9455 .loc 1 3704 12 view .LVU3454 9456 0098 1449 ldr r1, .L745+8 9457 .L719: 9458 .LVL610: 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9459 .loc 1 3757 5 is_stmt 1 view .LVU3455 9460 009a 0091 str r1, [sp] 9461 009c 2046 mov r0, r4 9462 009e 2946 mov r1, r5 9463 .LVL611: 3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9464 .loc 1 3757 5 is_stmt 0 view .LVU3456 9465 00a0 FFF7FEFF bl I2C_TransferConfig 9466 .LVL612: 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9467 .loc 1 3760 5 is_stmt 1 view .LVU3457 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9468 .loc 1 3760 5 view .LVU3458 9469 .LBB397: 9470 .LBB398: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9471 .loc 1 7441 3 is_stmt 0 view .LVU3459 9472 00a4 2268 ldr r2, [r4] 9473 .LBE398: 9474 .LBE397: 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9475 .loc 1 3760 5 view .LVU3460 9476 00a6 0020 movs r0, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 358 9477 00a8 84F84000 strb r0, [r4, #64] 3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9478 .loc 1 3760 5 is_stmt 1 view .LVU3461 3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9479 .loc 1 3765 5 view .LVU3462 9480 .LVL613: 9481 .LBB400: 9482 .LBI397: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9483 .loc 1 7360 13 view .LVU3463 9484 .LBB399: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9485 .loc 1 7362 3 view .LVU3464 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 9486 .loc 1 7364 3 view .LVU3465 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9487 .loc 1 7441 3 view .LVU3466 9488 00ac 1368 ldr r3, [r2] 9489 00ae 43F0F403 orr r3, r3, #244 9490 00b2 1360 str r3, [r2] 9491 .LVL614: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9492 .loc 1 7441 3 is_stmt 0 view .LVU3467 9493 .LBE399: 9494 .LBE400: 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9495 .loc 1 3773 1 view .LVU3468 9496 00b4 04B0 add sp, sp, #16 9497 .LCFI120: 9498 .cfi_remember_state 9499 .cfi_def_cfa_offset 16 9500 @ sp needed 9501 00b6 70BD pop {r4, r5, r6, pc} 9502 .LVL615: 9503 .L742: 9504 .LCFI121: 9505 .cfi_restore_state 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9506 .loc 1 3727 7 is_stmt 1 view .LVU3469 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9507 .loc 1 3739 14 is_stmt 0 view .LVU3470 9508 00b8 216B ldr r1, [r4, #48] 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9509 .loc 1 3727 22 view .LVU3471 9510 00ba FF22 movs r2, #255 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9511 .loc 1 3739 8 view .LVU3472 9512 00bc 1229 cmp r1, #18 3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9513 .loc 1 3727 22 view .LVU3473 9514 00be 2285 strh r2, [r4, #40] @ movhi 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9515 .loc 1 3728 7 is_stmt 1 view .LVU3474 9516 .LVL616: 3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9517 .loc 1 3728 16 is_stmt 0 view .LVU3475 9518 00c0 4FF08073 mov r3, #16777216 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 359 9519 .LVL617: 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9520 .loc 1 3739 5 is_stmt 1 view .LVU3476 3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9521 .loc 1 3739 8 is_stmt 0 view .LVU3477 9522 00c4 D9D1 bne .L718 9523 .L743: 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9524 .loc 1 3740 10 view .LVU3478 9525 00c6 AA2E cmp r6, #170 9526 00c8 D7D0 beq .L718 3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9527 .loc 1 3740 10 discriminator 2 view .LVU3479 9528 00ca B6F52A4F cmp r6, #43520 9529 00ce D4D0 beq .L718 3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9530 .loc 1 3742 19 view .LVU3480 9531 00d0 0021 movs r1, #0 9532 00d2 E2E7 b .L719 9533 .LVL618: 9534 .L723: 3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9535 .loc 1 3771 12 view .LVU3481 9536 00d4 0220 movs r0, #2 3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9537 .loc 1 3773 1 view .LVU3482 9538 00d6 04B0 add sp, sp, #16 9539 .LCFI122: 9540 .cfi_remember_state 9541 .cfi_def_cfa_offset 16 9542 @ sp needed 9543 00d8 70BD pop {r4, r5, r6, pc} 9544 .LVL619: 9545 .L725: 9546 .LCFI123: 9547 .cfi_restore_state 3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9548 .loc 1 3704 12 view .LVU3483 9549 00da 0449 ldr r1, .L745+8 9550 00dc DDE7 b .L719 9551 .LVL620: 9552 .L744: 9553 .LBB401: 9554 .LBB396: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9555 .loc 1 7521 5 is_stmt 1 view .LVU3484 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9556 .loc 1 7521 23 is_stmt 0 view .LVU3485 9557 00de 0021 movs r1, #0 9558 00e0 E162 str r1, [r4, #44] 9559 .LVL621: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9560 .loc 1 7521 23 view .LVU3486 9561 00e2 D4E7 b .L721 9562 .L746: 9563 .align 2 9564 .L745: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 360 9565 00e4 00000000 .word .LC0 9566 00e8 00000000 .word I2C_Master_ISR_IT 9567 00ec 00240080 .word -2147474432 9568 .LBE396: 9569 .LBE401: 9570 .cfi_endproc 9571 .LFE155: 9573 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits 9574 .align 1 9575 .p2align 2,,3 9576 .global HAL_I2C_Master_Seq_Receive_DMA 9577 .syntax unified 9578 .thumb 9579 .thumb_func 9581 HAL_I2C_Master_Seq_Receive_DMA: 9582 .LVL622: 9583 .LFB156: 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9584 .loc 1 3789 1 is_stmt 1 view -0 9585 .cfi_startproc 9586 @ args = 4, pretend = 0, frame = 8 9587 @ frame_needed = 0, uses_anonymous_args = 0 3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ; 9588 .loc 1 3790 3 view .LVU3488 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 9589 .loc 1 3791 3 view .LVU3489 3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9590 .loc 1 3792 3 view .LVU3490 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9591 .loc 1 3795 3 view .LVU3491 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9592 .loc 1 3789 1 is_stmt 0 view .LVU3492 9593 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 9594 .LCFI124: 9595 .cfi_def_cfa_offset 28 9596 .cfi_offset 4, -28 9597 .cfi_offset 5, -24 9598 .cfi_offset 6, -20 9599 .cfi_offset 7, -16 9600 .cfi_offset 8, -12 9601 .cfi_offset 9, -8 9602 .cfi_offset 14, -4 9603 0004 85B0 sub sp, sp, #20 9604 .LCFI125: 9605 .cfi_def_cfa_offset 48 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9606 .loc 1 3789 1 view .LVU3493 9607 0006 0D46 mov r5, r1 9608 0008 0C9E ldr r6, [sp, #48] 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9609 .loc 1 3795 3 view .LVU3494 9610 000a 36F08071 bics r1, r6, #16777216 9611 .LVL623: 3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 9612 .loc 1 3789 1 view .LVU3495 9613 000e 0446 mov r4, r0 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 361 9614 .loc 1 3795 3 view .LVU3496 9615 0010 10D0 beq .L748 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9616 .loc 1 3795 3 discriminator 2 view .LVU3497 9617 0012 B6F1007F cmp r6, #33554432 9618 0016 0DD0 beq .L748 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9619 .loc 1 3795 3 discriminator 4 view .LVU3498 9620 0018 AA2E cmp r6, #170 9621 001a 0BD0 beq .L748 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9622 .loc 1 3795 3 discriminator 5 view .LVU3499 9623 001c B6F52A4F cmp r6, #43520 9624 0020 08D0 beq .L748 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9625 .loc 1 3795 3 discriminator 6 view .LVU3500 9626 0022 6948 ldr r0, .L787 9627 .LVL624: 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9628 .loc 1 3795 3 discriminator 6 view .LVU3501 9629 0024 40F6D361 movw r1, #3795 9630 0028 CDE90223 strd r2, r3, [sp, #8] 9631 002c FFF7FEFF bl assert_failed 9632 .LVL625: 3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9633 .loc 1 3795 3 discriminator 6 view .LVU3502 9634 0030 DDE90223 ldrd r2, r3, [sp, #8] 9635 .LVL626: 9636 .L748: 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9637 .loc 1 3797 3 is_stmt 1 view .LVU3503 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9638 .loc 1 3797 11 is_stmt 0 view .LVU3504 9639 0034 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9640 .loc 1 3797 6 view .LVU3505 9641 0038 2029 cmp r1, #32 9642 003a 40F08D80 bne .L762 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9643 .loc 1 3800 5 is_stmt 1 view .LVU3506 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9644 .loc 1 3800 5 view .LVU3507 9645 003e 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 9646 0042 0129 cmp r1, #1 9647 0044 00F08880 beq .L762 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9648 .loc 1 3800 5 discriminator 2 view .LVU3508 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 9649 .loc 1 3802 21 is_stmt 0 discriminator 2 view .LVU3509 9650 0048 2221 movs r1, #34 9651 004a 84F84110 strb r1, [r4, #65] 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9652 .loc 1 3803 21 discriminator 2 view .LVU3510 9653 004e 1021 movs r1, #16 9654 0050 84F84210 strb r1, [r4, #66] 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9655 .loc 1 3804 21 discriminator 2 view .LVU3511 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 362 9656 0054 0021 movs r1, #0 9657 0056 6164 str r1, [r4, #68] 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9658 .loc 1 3808 23 discriminator 2 view .LVU3512 9659 0058 6385 strh r3, [r4, #42] @ movhi 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9660 .loc 1 3810 23 discriminator 2 view .LVU3513 9661 005a 5C4B ldr r3, .L787+4 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 9662 .loc 1 3809 23 discriminator 2 view .LVU3514 9663 005c E662 str r6, [r4, #44] 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9664 .loc 1 3810 23 discriminator 2 view .LVU3515 9665 005e 6363 str r3, [r4, #52] 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9666 .loc 1 3813 13 discriminator 2 view .LVU3516 9667 0060 638D ldrh r3, [r4, #42] 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9668 .loc 1 3807 23 discriminator 2 view .LVU3517 9669 0062 6262 str r2, [r4, #36] 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9670 .loc 1 3813 13 discriminator 2 view .LVU3518 9671 0064 9BB2 uxth r3, r3 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9672 .loc 1 3800 5 discriminator 2 view .LVU3519 9673 0066 0121 movs r1, #1 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9674 .loc 1 3813 8 discriminator 2 view .LVU3520 9675 0068 FF2B cmp r3, #255 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9676 .loc 1 3800 5 discriminator 2 view .LVU3521 9677 006a 84F84010 strb r1, [r4, #64] 3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9678 .loc 1 3800 5 is_stmt 1 discriminator 2 view .LVU3522 3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER; 9679 .loc 1 3802 5 discriminator 2 view .LVU3523 3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 9680 .loc 1 3803 5 discriminator 2 view .LVU3524 3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9681 .loc 1 3804 5 discriminator 2 view .LVU3525 3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 9682 .loc 1 3807 5 discriminator 2 view .LVU3526 3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 9683 .loc 1 3808 5 discriminator 2 view .LVU3527 3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA; 9684 .loc 1 3809 5 discriminator 2 view .LVU3528 3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9685 .loc 1 3810 5 discriminator 2 view .LVU3529 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9686 .loc 1 3813 5 discriminator 2 view .LVU3530 3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9687 .loc 1 3813 8 is_stmt 0 discriminator 2 view .LVU3531 9688 006e 3DD8 bhi .L782 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9689 .loc 1 3820 7 is_stmt 1 view .LVU3532 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9690 .loc 1 3820 28 is_stmt 0 view .LVU3533 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 363 9691 0070 638D ldrh r3, [r4, #42] 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9692 .loc 1 3821 16 view .LVU3534 9693 0072 E76A ldr r7, [r4, #44] 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9694 .loc 1 3827 14 view .LVU3535 9695 0074 216B ldr r1, [r4, #48] 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9696 .loc 1 3820 28 view .LVU3536 9697 0076 9BB2 uxth r3, r3 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9698 .loc 1 3827 8 view .LVU3537 9699 0078 1229 cmp r1, #18 3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = hi2c->XferOptions; 9700 .loc 1 3820 22 view .LVU3538 9701 007a 2385 strh r3, [r4, #40] @ movhi 3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9702 .loc 1 3821 7 is_stmt 1 view .LVU3539 9703 .LVL627: 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9704 .loc 1 3827 5 view .LVU3540 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9705 .loc 1 3827 8 is_stmt 0 view .LVU3541 9706 007c 3DD0 beq .L783 9707 .L752: 3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9708 .loc 1 3835 7 is_stmt 1 view .LVU3542 9709 .LVL628: 9710 .LBB412: 9711 .LBI412: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9712 .loc 1 7514 13 view .LVU3543 9713 .LBB413: 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9714 .loc 1 7519 3 view .LVU3544 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9715 .loc 1 7519 11 is_stmt 0 view .LVU3545 9716 007e E16A ldr r1, [r4, #44] 7519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9717 .loc 1 7519 6 view .LVU3546 9718 0080 AA29 cmp r1, #170 9719 0082 71D0 beq .L784 9720 .LVL629: 9721 .LBB414: 9722 .LBI414: 7514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9723 .loc 1 7514 13 is_stmt 1 view .LVU3547 9724 .LBB415: 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9725 .loc 1 7527 8 view .LVU3548 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9726 .loc 1 7527 16 is_stmt 0 view .LVU3549 9727 0084 E16A ldr r1, [r4, #44] 7527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9728 .loc 1 7527 11 view .LVU3550 9729 0086 B1F52A4F cmp r1, #43520 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 364 9730 .loc 1 7529 5 is_stmt 1 view .LVU3551 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9731 .loc 1 7529 23 is_stmt 0 view .LVU3552 9732 008a 04BF itt eq 9733 008c 4FF00071 moveq r1, #33554432 9734 0090 E162 streq r1, [r4, #44] 9735 .LVL630: 9736 .L755: 7529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9737 .loc 1 7529 23 view .LVU3553 9738 .LBE415: 9739 .LBE414: 9740 .loc 1 7534 3 is_stmt 1 view .LVU3554 9741 .loc 1 7534 3 is_stmt 0 view .LVU3555 9742 .LBE413: 9743 .LBE412: 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9744 .loc 1 3838 7 is_stmt 1 view .LVU3556 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9745 .loc 1 3838 15 is_stmt 0 view .LVU3557 9746 0092 618D ldrh r1, [r4, #42] 9747 0094 89B2 uxth r1, r1 3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9748 .loc 1 3838 10 view .LVU3558 9749 0096 FF29 cmp r1, #255 9750 0098 63D8 bhi .L764 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9751 .loc 1 3840 9 is_stmt 1 view .LVU3559 3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9752 .loc 1 3840 18 is_stmt 0 view .LVU3560 9753 009a E76A ldr r7, [r4, #44] 9754 .LVL631: 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 9755 .loc 1 3791 12 view .LVU3561 9756 009c DFF84481 ldr r8, .L787+28 9757 .L753: 9758 .LVL632: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9759 .loc 1 3844 5 is_stmt 1 view .LVU3562 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9760 .loc 1 3844 8 is_stmt 0 view .LVU3563 9761 00a0 002B cmp r3, #0 9762 00a2 33D0 beq .L756 9763 .L786: 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9764 .loc 1 3846 7 is_stmt 1 view .LVU3564 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9765 .loc 1 3846 15 is_stmt 0 view .LVU3565 9766 00a4 E06B ldr r0, [r4, #60] 3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9767 .loc 1 3846 10 view .LVU3566 9768 00a6 0028 cmp r0, #0 9769 00a8 61D0 beq .L757 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9770 .loc 1 3849 9 is_stmt 1 view .LVU3567 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 9771 .loc 1 3859 66 is_stmt 0 view .LVU3568 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 365 9772 00aa 2168 ldr r1, [r4] 3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9773 .loc 1 3849 40 view .LVU3569 9774 00ac 484E ldr r6, .L787+8 9775 00ae 8662 str r6, [r0, #40] 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9776 .loc 1 3852 9 is_stmt 1 view .LVU3570 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9777 .loc 1 3855 44 is_stmt 0 view .LVU3571 9778 00b0 4FF00009 mov r9, #0 3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9779 .loc 1 3852 41 view .LVU3572 9780 00b4 474E ldr r6, .L787+12 9781 00b6 0663 str r6, [r0, #48] 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9782 .loc 1 3855 9 is_stmt 1 view .LVU3573 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9783 .loc 1 3856 9 view .LVU3574 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 9784 .loc 1 3859 9 view .LVU3575 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 9785 .loc 1 3859 25 is_stmt 0 view .LVU3576 9786 00b8 2431 adds r1, r1, #36 3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 9787 .loc 1 3855 44 view .LVU3577 9788 00ba C0F82C90 str r9, [r0, #44] 3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9789 .loc 1 3856 41 view .LVU3578 9790 00be C0F83490 str r9, [r0, #52] 3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 9791 .loc 1 3859 25 view .LVU3579 9792 00c2 FFF7FEFF bl HAL_DMA_Start_IT 9793 .LVL633: 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9794 .loc 1 3877 7 is_stmt 1 view .LVU3580 3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9795 .loc 1 3877 10 is_stmt 0 view .LVU3581 9796 00c6 0646 mov r6, r0 9797 00c8 0028 cmp r0, #0 9798 00ca 60D0 beq .L785 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9799 .loc 1 3900 9 is_stmt 1 view .LVU3582 3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9800 .loc 1 3900 25 is_stmt 0 view .LVU3583 9801 00cc 2023 movs r3, #32 9802 00ce 84F84130 strb r3, [r4, #65] 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9803 .loc 1 3901 9 is_stmt 1 view .LVU3584 3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9804 .loc 1 3901 25 is_stmt 0 view .LVU3585 9805 00d2 84F84290 strb r9, [r4, #66] 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9806 .loc 1 3904 9 is_stmt 1 view .LVU3586 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9807 .loc 1 3904 25 is_stmt 0 view .LVU3587 9808 00d6 636C ldr r3, [r4, #68] 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 366 9809 .loc 1 3907 9 view .LVU3588 9810 00d8 84F84090 strb r9, [r4, #64] 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9811 .loc 1 3909 16 view .LVU3589 9812 00dc 0126 movs r6, #1 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9813 .loc 1 3904 25 view .LVU3590 9814 00de 43F01003 orr r3, r3, #16 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9815 .loc 1 3941 1 view .LVU3591 9816 00e2 3046 mov r0, r6 9817 .LVL634: 3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9818 .loc 1 3904 25 view .LVU3592 9819 00e4 6364 str r3, [r4, #68] 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9820 .loc 1 3907 9 is_stmt 1 view .LVU3593 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9821 .loc 1 3907 9 view .LVU3594 3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9822 .loc 1 3907 9 view .LVU3595 3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9823 .loc 1 3909 9 view .LVU3596 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9824 .loc 1 3941 1 is_stmt 0 view .LVU3597 9825 00e6 05B0 add sp, sp, #20 9826 .LCFI126: 9827 .cfi_remember_state 9828 .cfi_def_cfa_offset 28 9829 @ sp needed 9830 00e8 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9831 .LVL635: 9832 .L782: 9833 .LCFI127: 9834 .cfi_restore_state 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9835 .loc 1 3815 7 is_stmt 1 view .LVU3598 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9836 .loc 1 3827 14 is_stmt 0 view .LVU3599 9837 00ec 216B ldr r1, [r4, #48] 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9838 .loc 1 3815 22 view .LVU3600 9839 00ee FF23 movs r3, #255 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9840 .loc 1 3827 8 view .LVU3601 9841 00f0 1229 cmp r1, #18 3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE; 9842 .loc 1 3815 22 view .LVU3602 9843 00f2 2385 strh r3, [r4, #40] @ movhi 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9844 .loc 1 3816 7 is_stmt 1 view .LVU3603 9845 .LVL636: 3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9846 .loc 1 3816 16 is_stmt 0 view .LVU3604 9847 00f4 4FF08077 mov r7, #16777216 9848 .LVL637: 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 367 9849 .loc 1 3827 5 is_stmt 1 view .LVU3605 3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST(XferOptions) == 0)) 9850 .loc 1 3827 8 is_stmt 0 view .LVU3606 9851 00f8 C1D1 bne .L752 9852 .L783: 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9853 .loc 1 3828 10 view .LVU3607 9854 00fa AA2E cmp r6, #170 9855 00fc BFD0 beq .L752 3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9856 .loc 1 3828 10 discriminator 2 view .LVU3608 9857 00fe B6F52A4F cmp r6, #43520 9858 0102 BCD0 beq .L752 3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9859 .loc 1 3830 19 view .LVU3609 9860 0104 4FF00008 mov r8, #0 9861 .LVL638: 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9862 .loc 1 3844 5 is_stmt 1 view .LVU3610 3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9863 .loc 1 3844 8 is_stmt 0 view .LVU3611 9864 0108 002B cmp r3, #0 9865 010a CBD1 bne .L786 9866 .LVL639: 9867 .L756: 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9868 .loc 1 3915 7 is_stmt 1 view .LVU3612 9869 .LBB417: 9870 .LBB418: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 9871 .loc 1 7337 3 is_stmt 0 view .LVU3613 9872 010c 2368 ldr r3, [r4] 9873 010e 324A ldr r2, .L787+16 9874 .LBE418: 9875 .LBE417: 3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9876 .loc 1 3915 21 view .LVU3614 9877 0110 3249 ldr r1, .L787+20 9878 0112 6163 str r1, [r4, #52] 3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_GENERATE_START_READ); 9879 .loc 1 3919 7 is_stmt 1 view .LVU3615 9880 .LVL640: 9881 .LBB421: 9882 .LBI417: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 9883 .loc 1 7333 13 view .LVU3616 9884 .LBB419: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 9885 .loc 1 7337 3 view .LVU3617 9886 0114 9342 cmp r3, r2 9887 0116 09D0 beq .L760 9888 0118 02F58062 add r2, r2, #1024 9889 011c 9342 cmp r3, r2 9890 011e 05D0 beq .L760 9891 0120 2948 ldr r0, .L787 9892 0122 41F6A941 movw r1, #7337 9893 0126 FFF7FEFF bl assert_failed ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 368 9894 .LVL641: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 9895 .loc 1 7347 3 is_stmt 0 view .LVU3618 9896 012a 2368 ldr r3, [r4] 9897 .L760: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 9898 .loc 1 7338 3 is_stmt 1 view .LVU3619 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9899 .loc 1 7339 3 view .LVU3620 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 9900 .loc 1 7342 3 view .LVU3621 9901 .LVL642: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 9902 .loc 1 7347 3 view .LVU3622 9903 012c 5A68 ldr r2, [r3, #4] 9904 012e 2C49 ldr r1, .L787+24 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 9905 .loc 1 7342 52 is_stmt 0 view .LVU3623 9906 0130 C5F30905 ubfx r5, r5, #0, #10 9907 .LVL643: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 9908 .loc 1 7347 3 view .LVU3624 9909 0134 0A40 ands r2, r2, r1 9910 0136 1543 orrs r5, r5, r2 9911 0138 45F00075 orr r5, r5, #33554432 9912 .LBE419: 9913 .LBE421: 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9914 .loc 1 3923 7 view .LVU3625 9915 013c 0026 movs r6, #0 9916 .LBB422: 9917 .LBB420: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 9918 .loc 1 7347 3 view .LVU3626 9919 013e 45F41055 orr r5, r5, #9216 9920 0142 5D60 str r5, [r3, #4] 9921 .LVL644: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 9922 .loc 1 7347 3 view .LVU3627 9923 .LBE420: 9924 .LBE422: 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9925 .loc 1 3923 7 is_stmt 1 view .LVU3628 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9926 .loc 1 3923 7 view .LVU3629 9927 0144 84F84060 strb r6, [r4, #64] 3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9928 .loc 1 3923 7 view .LVU3630 3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9929 .loc 1 3932 7 view .LVU3631 9930 .LVL645: 9931 .LBB423: 9932 .LBI423: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 9933 .loc 1 7360 13 view .LVU3632 9934 .LBB424: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 369 9935 .loc 1 7362 3 view .LVU3633 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 9936 .loc 1 7364 3 view .LVU3634 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9937 .loc 1 7441 3 view .LVU3635 9938 0148 1A68 ldr r2, [r3] 9939 .LBE424: 9940 .LBE423: 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9941 .loc 1 3941 1 is_stmt 0 view .LVU3636 9942 014a 3046 mov r0, r6 9943 .LBB426: 9944 .LBB425: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9945 .loc 1 7441 3 view .LVU3637 9946 014c 42F0F402 orr r2, r2, #244 9947 0150 1A60 str r2, [r3] 9948 .LVL646: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9949 .loc 1 7441 3 view .LVU3638 9950 .LBE425: 9951 .LBE426: 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9952 .loc 1 3941 1 view .LVU3639 9953 0152 05B0 add sp, sp, #20 9954 .LCFI128: 9955 .cfi_remember_state 9956 .cfi_def_cfa_offset 28 9957 @ sp needed 9958 0154 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9959 .LVL647: 9960 .L762: 9961 .LCFI129: 9962 .cfi_restore_state 3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9963 .loc 1 3939 12 view .LVU3640 9964 0158 0226 movs r6, #2 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 9965 .loc 1 3941 1 view .LVU3641 9966 015a 3046 mov r0, r6 9967 015c 05B0 add sp, sp, #20 9968 .LCFI130: 9969 .cfi_remember_state 9970 .cfi_def_cfa_offset 28 9971 @ sp needed 9972 015e BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 9973 .LVL648: 9974 .L764: 9975 .LCFI131: 9976 .cfi_restore_state 3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 9977 .loc 1 3791 12 view .LVU3642 9978 0162 DFF88080 ldr r8, .L787+28 9979 0166 9BE7 b .L753 9980 .LVL649: 9981 .L784: 9982 .LBB427: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 370 9983 .LBB416: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9984 .loc 1 7521 5 is_stmt 1 view .LVU3643 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9985 .loc 1 7521 23 is_stmt 0 view .LVU3644 9986 0168 0021 movs r1, #0 9987 016a E162 str r1, [r4, #44] 9988 .LVL650: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9989 .loc 1 7521 23 view .LVU3645 9990 016c 91E7 b .L755 9991 .LVL651: 9992 .L757: 7521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 9993 .loc 1 7521 23 view .LVU3646 9994 .LBE416: 9995 .LBE427: 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9996 .loc 1 3865 9 is_stmt 1 view .LVU3647 3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 9997 .loc 1 3865 25 is_stmt 0 view .LVU3648 9998 016e 2023 movs r3, #32 9999 0170 84F84130 strb r3, [r4, #65] 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10000 .loc 1 3866 9 is_stmt 1 view .LVU3649 3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10001 .loc 1 3866 25 is_stmt 0 view .LVU3650 10002 0174 84F84200 strb r0, [r4, #66] 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10003 .loc 1 3869 9 is_stmt 1 view .LVU3651 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10004 .loc 1 3869 25 is_stmt 0 view .LVU3652 10005 0178 636C ldr r3, [r4, #68] 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10006 .loc 1 3872 9 view .LVU3653 10007 017a 84F84000 strb r0, [r4, #64] 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10008 .loc 1 3874 16 view .LVU3654 10009 017e 0126 movs r6, #1 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10010 .loc 1 3869 25 view .LVU3655 10011 0180 43F08003 orr r3, r3, #128 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10012 .loc 1 3941 1 view .LVU3656 10013 0184 3046 mov r0, r6 3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10014 .loc 1 3869 25 view .LVU3657 10015 0186 6364 str r3, [r4, #68] 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10016 .loc 1 3872 9 is_stmt 1 view .LVU3658 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10017 .loc 1 3872 9 view .LVU3659 3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10018 .loc 1 3872 9 view .LVU3660 3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10019 .loc 1 3874 9 view .LVU3661 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 371 10020 .loc 1 3941 1 is_stmt 0 view .LVU3662 10021 0188 05B0 add sp, sp, #20 10022 .LCFI132: 10023 .cfi_remember_state 10024 .cfi_def_cfa_offset 28 10025 @ sp needed 10026 018a BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 10027 .LVL652: 10028 .L785: 10029 .LCFI133: 10030 .cfi_restore_state 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10031 .loc 1 3880 9 is_stmt 1 view .LVU3663 10032 018e CDF80080 str r8, [sp] 10033 0192 94F82820 ldrb r2, [r4, #40] @ zero_extendqisi2 10034 0196 3B46 mov r3, r7 10035 0198 2946 mov r1, r5 10036 019a 2046 mov r0, r4 10037 .LVL653: 3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10038 .loc 1 3880 9 is_stmt 0 view .LVU3664 10039 019c FFF7FEFF bl I2C_TransferConfig 10040 .LVL654: 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10041 .loc 1 3883 9 is_stmt 1 view .LVU3665 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10042 .loc 1 3883 25 is_stmt 0 view .LVU3666 10043 01a0 638D ldrh r3, [r4, #42] 10044 01a2 218D ldrh r1, [r4, #40] 10045 .LBB428: 10046 .LBB429: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10047 .loc 1 7441 3 view .LVU3667 10048 01a4 2268 ldr r2, [r4] 10049 .LBE429: 10050 .LBE428: 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10051 .loc 1 3886 9 view .LVU3668 10052 01a6 84F84060 strb r6, [r4, #64] 3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10053 .loc 1 3883 25 view .LVU3669 10054 01aa 5B1A subs r3, r3, r1 10055 01ac 9BB2 uxth r3, r3 10056 01ae 6385 strh r3, [r4, #42] @ movhi 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10057 .loc 1 3886 9 is_stmt 1 view .LVU3670 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10058 .loc 1 3886 9 view .LVU3671 3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10059 .loc 1 3886 9 view .LVU3672 3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10060 .loc 1 3892 9 view .LVU3673 10061 .LVL655: 10062 .LBB431: 10063 .LBI428: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10064 .loc 1 7360 13 view .LVU3674 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 372 10065 .LBB430: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10066 .loc 1 7362 3 view .LVU3675 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 10067 .loc 1 7364 3 view .LVU3676 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10068 .loc 1 7441 3 view .LVU3677 10069 01b0 1368 ldr r3, [r2] 10070 01b2 43F09003 orr r3, r3, #144 10071 01b6 1360 str r3, [r2] 10072 .LVL656: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10073 .loc 1 7441 3 is_stmt 0 view .LVU3678 10074 .LBE430: 10075 .LBE431: 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10076 .loc 1 3895 9 is_stmt 1 view .LVU3679 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10077 .loc 1 3895 29 is_stmt 0 view .LVU3680 10078 01b8 1368 ldr r3, [r2] 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10079 .loc 1 3941 1 view .LVU3681 10080 01ba 3046 mov r0, r6 3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10081 .loc 1 3895 29 view .LVU3682 10082 01bc 43F40043 orr r3, r3, #32768 10083 01c0 1360 str r3, [r2] 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10084 .loc 1 3941 1 view .LVU3683 10085 01c2 05B0 add sp, sp, #20 10086 .LCFI134: 10087 .cfi_def_cfa_offset 28 10088 @ sp needed 10089 01c4 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 10090 .LVL657: 10091 .L788: 3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10092 .loc 1 3941 1 view .LVU3684 10093 .align 2 10094 .L787: 10095 01c8 00000000 .word .LC0 10096 01cc 00000000 .word I2C_Master_ISR_DMA 10097 01d0 00000000 .word I2C_DMAMasterReceiveCplt 10098 01d4 00000000 .word I2C_DMAError 10099 01d8 00540040 .word 1073763328 10100 01dc 00000000 .word I2C_Master_ISR_IT 10101 01e0 009800FC .word -67069952 10102 01e4 00240080 .word -2147474432 10103 .cfi_endproc 10104 .LFE156: 10106 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits 10107 .align 1 10108 .p2align 2,,3 10109 .global HAL_I2C_Slave_Seq_Transmit_IT 10110 .syntax unified 10111 .thumb 10112 .thumb_func ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 373 10114 HAL_I2C_Slave_Seq_Transmit_IT: 10115 .LVL658: 10116 .LFB157: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10117 .loc 1 3955 1 is_stmt 1 view -0 10118 .cfi_startproc 10119 @ args = 0, pretend = 0, frame = 8 10120 @ frame_needed = 0, uses_anonymous_args = 0 3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10121 .loc 1 3957 3 view .LVU3686 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10122 .loc 1 3960 3 view .LVU3687 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10123 .loc 1 3955 1 is_stmt 0 view .LVU3688 10124 0000 70B5 push {r4, r5, r6, lr} 10125 .LCFI135: 10126 .cfi_def_cfa_offset 16 10127 .cfi_offset 4, -16 10128 .cfi_offset 5, -12 10129 .cfi_offset 6, -8 10130 .cfi_offset 14, -4 10131 0002 0E46 mov r6, r1 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10132 .loc 1 3960 3 view .LVU3689 10133 0004 33F08071 bics r1, r3, #16777216 10134 .LVL659: 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10135 .loc 1 3955 1 view .LVU3690 10136 0008 82B0 sub sp, sp, #8 10137 .LCFI136: 10138 .cfi_def_cfa_offset 24 3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10139 .loc 1 3955 1 view .LVU3691 10140 000a 0446 mov r4, r0 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10141 .loc 1 3960 3 view .LVU3692 10142 000c 10D0 beq .L790 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10143 .loc 1 3960 3 discriminator 2 view .LVU3693 10144 000e B3F1007F cmp r3, #33554432 10145 0012 0DD0 beq .L790 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10146 .loc 1 3960 3 discriminator 4 view .LVU3694 10147 0014 AA2B cmp r3, #170 10148 0016 0BD0 beq .L790 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10149 .loc 1 3960 3 discriminator 5 view .LVU3695 10150 0018 B3F52A4F cmp r3, #43520 10151 001c 08D0 beq .L790 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10152 .loc 1 3960 3 discriminator 6 view .LVU3696 10153 001e 3F48 ldr r0, .L830 10154 .LVL660: 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10155 .loc 1 3960 3 discriminator 6 view .LVU3697 10156 0020 40F67871 movw r1, #3960 10157 0024 CDE90023 strd r2, r3, [sp] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 374 10158 0028 FFF7FEFF bl assert_failed 10159 .LVL661: 3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10160 .loc 1 3960 3 discriminator 6 view .LVU3698 10161 002c DDE90023 ldrd r2, r3, [sp] 10162 .LVL662: 10163 .L790: 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10164 .loc 1 3962 3 is_stmt 1 view .LVU3699 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10165 .loc 1 3962 22 is_stmt 0 view .LVU3700 10166 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10167 .loc 1 3962 6 view .LVU3701 10168 0034 00F02800 and r0, r0, #40 10169 0038 2828 cmp r0, #40 10170 003a 39D1 bne .L798 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10171 .loc 1 3964 5 is_stmt 1 view .LVU3702 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10172 .loc 1 3964 8 is_stmt 0 view .LVU3703 10173 003c 002E cmp r6, #0 10174 003e 3AD0 beq .L792 3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10175 .loc 1 3964 25 discriminator 1 view .LVU3704 10176 0040 002A cmp r2, #0 10177 0042 38D0 beq .L792 3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10178 .loc 1 3971 5 is_stmt 1 view .LVU3705 10179 .LVL663: 10180 .LBB438: 10181 .LBI438: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10182 .loc 1 7451 13 view .LVU3706 10183 .LBB439: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10184 .loc 1 7453 3 view .LVU3707 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10185 .loc 1 7455 3 view .LVU3708 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10186 .loc 1 7458 5 view .LVU3709 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10187 .loc 1 7460 5 view .LVU3710 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10188 .loc 1 7506 3 is_stmt 0 view .LVU3711 10189 0044 2568 ldr r5, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10190 .loc 1 7460 24 view .LVU3712 10191 0046 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 10192 .LVL664: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10193 .loc 1 7467 3 is_stmt 1 view .LVU3713 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10194 .loc 1 7479 3 view .LVU3714 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10195 .loc 1 7482 5 view .LVU3715 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 375 10196 .loc 1 7485 3 view .LVU3716 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10197 .loc 1 7491 3 view .LVU3717 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10198 .loc 1 7497 3 view .LVU3718 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10199 .loc 1 7506 3 view .LVU3719 10200 004a 2968 ldr r1, [r5] 10201 004c 21F0FA01 bic r1, r1, #250 10202 0050 2960 str r1, [r5] 10203 .LVL665: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10204 .loc 1 7506 3 is_stmt 0 view .LVU3720 10205 .LBE439: 10206 .LBE438: 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10207 .loc 1 3974 5 is_stmt 1 view .LVU3721 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10208 .loc 1 3974 5 view .LVU3722 10209 0052 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 10210 0056 0129 cmp r1, #1 10211 0058 33D0 beq .L799 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10212 .loc 1 3974 5 discriminator 2 view .LVU3723 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10213 .loc 1 3978 13 is_stmt 0 discriminator 2 view .LVU3724 10214 005a 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10215 .loc 1 3974 5 discriminator 2 view .LVU3725 10216 005e 0120 movs r0, #1 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10217 .loc 1 3978 8 discriminator 2 view .LVU3726 10218 0060 2A29 cmp r1, #42 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10219 .loc 1 3974 5 discriminator 2 view .LVU3727 10220 0062 84F84000 strb r0, [r4, #64] 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10221 .loc 1 3974 5 is_stmt 1 discriminator 2 view .LVU3728 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10222 .loc 1 3978 5 discriminator 2 view .LVU3729 3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10223 .loc 1 3978 8 is_stmt 0 discriminator 2 view .LVU3730 10224 0066 2ED0 beq .L829 10225 .L794: 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10226 .loc 1 4004 5 is_stmt 1 view .LVU3731 4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10227 .loc 1 4004 21 is_stmt 0 view .LVU3732 10228 0068 2921 movs r1, #41 10229 006a 84F84110 strb r1, [r4, #65] 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10230 .loc 1 4005 5 is_stmt 1 view .LVU3733 4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10231 .loc 1 4005 21 is_stmt 0 view .LVU3734 10232 006e 2021 movs r1, #32 10233 0070 84F84210 strb r1, [r4, #66] 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 376 10234 .loc 1 4006 5 is_stmt 1 view .LVU3735 4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10235 .loc 1 4006 21 is_stmt 0 view .LVU3736 10236 0074 0021 movs r1, #0 10237 0076 6164 str r1, [r4, #68] 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10238 .loc 1 4009 5 is_stmt 1 view .LVU3737 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10239 .loc 1 4009 25 is_stmt 0 view .LVU3738 10240 0078 6968 ldr r1, [r5, #4] 10241 007a 21F40041 bic r1, r1, #32768 10242 007e 6960 str r1, [r5, #4] 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10243 .loc 1 4012 5 is_stmt 1 view .LVU3739 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 10244 .loc 1 4013 23 is_stmt 0 view .LVU3740 10245 0080 6285 strh r2, [r4, #42] @ movhi 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10246 .loc 1 4014 29 view .LVU3741 10247 0082 618D ldrh r1, [r4, #42] 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 10248 .loc 1 4015 23 view .LVU3742 10249 0084 E362 str r3, [r4, #44] 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10250 .loc 1 4014 23 view .LVU3743 10251 0086 2185 strh r1, [r4, #40] @ movhi 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 10252 .loc 1 4018 11 view .LVU3744 10253 0088 A969 ldr r1, [r5, #24] 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10254 .loc 1 4019 10 view .LVU3745 10255 008a AB69 ldr r3, [r5, #24] 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10256 .loc 1 4016 23 view .LVU3746 10257 008c 244A ldr r2, .L830+4 10258 008e 6263 str r2, [r4, #52] 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10259 .loc 1 4019 8 view .LVU3747 10260 0090 DA03 lsls r2, r3, #15 4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10261 .loc 1 4012 23 view .LVU3748 10262 0092 6662 str r6, [r4, #36] 4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 10263 .loc 1 4013 5 is_stmt 1 view .LVU3749 4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10264 .loc 1 4014 5 view .LVU3750 4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 10265 .loc 1 4015 5 view .LVU3751 4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10266 .loc 1 4016 5 view .LVU3752 4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 10267 .loc 1 4018 5 view .LVU3753 10268 .LVL666: 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10269 .loc 1 4019 5 view .LVU3754 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10270 .loc 1 4019 8 is_stmt 0 view .LVU3755 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 377 10271 0094 03D5 bpl .L797 4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10272 .loc 1 4019 54 discriminator 1 view .LVU3756 10273 0096 0B07 lsls r3, r1, #28 4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10274 .loc 1 4023 7 is_stmt 1 discriminator 1 view .LVU3757 10275 0098 44BF itt mi 10276 009a 0823 movmi r3, #8 10277 009c EB61 strmi r3, [r5, #28] 10278 .L797: 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10279 .loc 1 4027 5 view .LVU3758 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10280 .loc 1 4027 5 view .LVU3759 10281 009e 0020 movs r0, #0 10282 00a0 84F84000 strb r0, [r4, #64] 4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10283 .loc 1 4027 5 view .LVU3760 4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10284 .loc 1 4033 5 view .LVU3761 10285 .LVL667: 10286 .LBB440: 10287 .LBI440: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10288 .loc 1 7360 13 view .LVU3762 10289 .LBB441: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10290 .loc 1 7362 3 view .LVU3763 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 10291 .loc 1 7364 3 view .LVU3764 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10292 .loc 1 7441 3 view .LVU3765 10293 00a4 2B68 ldr r3, [r5] 10294 00a6 43F0FA03 orr r3, r3, #250 10295 00aa 2B60 str r3, [r5] 10296 .LVL668: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10297 .loc 1 7441 3 is_stmt 0 view .LVU3766 10298 .LBE441: 10299 .LBE440: 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10300 .loc 1 4041 1 view .LVU3767 10301 00ac 02B0 add sp, sp, #8 10302 .LCFI137: 10303 .cfi_remember_state 10304 .cfi_def_cfa_offset 16 10305 @ sp needed 10306 00ae 70BD pop {r4, r5, r6, pc} 10307 .LVL669: 10308 .L798: 10309 .LCFI138: 10310 .cfi_restore_state 4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10311 .loc 1 4039 12 view .LVU3768 10312 00b0 0120 movs r0, #1 10313 .L791: 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 378 10314 .loc 1 4041 1 view .LVU3769 10315 00b2 02B0 add sp, sp, #8 10316 .LCFI139: 10317 .cfi_remember_state 10318 .cfi_def_cfa_offset 16 10319 @ sp needed 10320 00b4 70BD pop {r4, r5, r6, pc} 10321 .LVL670: 10322 .L792: 10323 .LCFI140: 10324 .cfi_restore_state 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 10325 .loc 1 3966 7 is_stmt 1 view .LVU3770 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 10326 .loc 1 3966 23 is_stmt 0 view .LVU3771 10327 00b6 4FF40073 mov r3, #512 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10328 .loc 1 3967 15 view .LVU3772 10329 00ba 0120 movs r0, #1 3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 10330 .loc 1 3966 23 view .LVU3773 10331 00bc 6364 str r3, [r4, #68] 3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10332 .loc 1 3967 7 is_stmt 1 view .LVU3774 4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10333 .loc 1 4041 1 is_stmt 0 view .LVU3775 10334 00be 02B0 add sp, sp, #8 10335 .LCFI141: 10336 .cfi_remember_state 10337 .cfi_def_cfa_offset 16 10338 @ sp needed 10339 00c0 70BD pop {r4, r5, r6, pc} 10340 .LVL671: 10341 .L799: 10342 .LCFI142: 10343 .cfi_restore_state 3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10344 .loc 1 3974 5 view .LVU3776 10345 00c2 0220 movs r0, #2 10346 00c4 F5E7 b .L791 10347 .L829: 3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10348 .loc 1 3981 7 is_stmt 1 view .LVU3777 10349 .LVL672: 10350 .LBB442: 10351 .LBI442: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10352 .loc 1 7451 13 view .LVU3778 10353 .LBB443: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10354 .loc 1 7453 3 view .LVU3779 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10355 .loc 1 7455 3 view .LVU3780 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10356 .loc 1 7467 3 view .LVU3781 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10357 .loc 1 7470 5 view .LVU3782 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 379 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10358 .loc 1 7472 5 view .LVU3783 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10359 .loc 1 7472 24 is_stmt 0 view .LVU3784 10360 00c6 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10361 .loc 1 7472 8 view .LVU3785 10362 00ca 01F02801 and r1, r1, #40 10363 00ce 2829 cmp r1, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10364 .loc 1 7506 3 view .LVU3786 10365 00d0 2968 ldr r1, [r5] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10366 .loc 1 7472 8 view .LVU3787 10367 00d2 0CBF ite eq 10368 00d4 6FF04400 mvneq r0, #68 10369 00d8 6FF0F400 mvnne r0, #244 10370 .LVL673: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10371 .loc 1 7479 3 is_stmt 1 view .LVU3788 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10372 .loc 1 7485 3 view .LVU3789 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10373 .loc 1 7491 3 view .LVU3790 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10374 .loc 1 7497 3 view .LVU3791 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10375 .loc 1 7506 3 view .LVU3792 10376 00dc 0140 ands r1, r1, r0 10377 00de 2960 str r1, [r5] 10378 .LVL674: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10379 .loc 1 7506 3 is_stmt 0 view .LVU3793 10380 .LBE443: 10381 .LBE442: 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10382 .loc 1 3984 7 is_stmt 1 view .LVU3794 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10383 .loc 1 3984 26 is_stmt 0 view .LVU3795 10384 00e0 2968 ldr r1, [r5] 3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10385 .loc 1 3984 10 view .LVU3796 10386 00e2 0904 lsls r1, r1, #16 10387 00e4 C0D5 bpl .L794 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10388 .loc 1 3986 9 is_stmt 1 view .LVU3797 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10389 .loc 1 3986 29 is_stmt 0 view .LVU3798 10390 00e6 2968 ldr r1, [r5] 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10391 .loc 1 3988 17 view .LVU3799 10392 00e8 E06B ldr r0, [r4, #60] 3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10393 .loc 1 3986 29 view .LVU3800 10394 00ea 21F40041 bic r1, r1, #32768 10395 00ee 2960 str r1, [r5] 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 380 10396 .loc 1 3988 9 is_stmt 1 view .LVU3801 3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10397 .loc 1 3988 12 is_stmt 0 view .LVU3802 10398 00f0 0028 cmp r0, #0 10399 00f2 B9D0 beq .L794 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10400 .loc 1 3992 11 is_stmt 1 view .LVU3803 3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10401 .loc 1 3992 43 is_stmt 0 view .LVU3804 10402 00f4 0B49 ldr r1, .L830+8 10403 00f6 4163 str r1, [r0, #52] 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10404 .loc 1 3995 11 is_stmt 1 view .LVU3805 10405 00f8 CDE90023 strd r2, r3, [sp] 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10406 .loc 1 3995 15 is_stmt 0 view .LVU3806 10407 00fc FFF7FEFF bl HAL_DMA_Abort_IT 10408 .LVL675: 3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10409 .loc 1 3995 14 view .LVU3807 10410 0100 DDE90023 ldrd r2, r3, [sp] 10411 0104 08B9 cbnz r0, .L796 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10412 .loc 1 4009 9 view .LVU3808 10413 0106 2568 ldr r5, [r4] 10414 0108 AEE7 b .L794 10415 .L796: 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10416 .loc 1 3998 17 view .LVU3809 10417 010a E06B ldr r0, [r4, #60] 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10418 .loc 1 3998 13 view .LVU3810 10419 010c 416B ldr r1, [r0, #52] 10420 010e CDE90023 strd r2, r3, [sp] 3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10421 .loc 1 3998 13 is_stmt 1 view .LVU3811 10422 0112 8847 blx r1 10423 .LVL676: 4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10424 .loc 1 4009 9 is_stmt 0 view .LVU3812 10425 0114 DDE90023 ldrd r2, r3, [sp] 10426 0118 2568 ldr r5, [r4] 10427 011a A5E7 b .L794 10428 .L831: 10429 .align 2 10430 .L830: 10431 011c 00000000 .word .LC0 10432 0120 00000000 .word I2C_Slave_ISR_IT 10433 0124 00000000 .word I2C_DMAAbort 10434 .cfi_endproc 10435 .LFE157: 10437 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits 10438 .align 1 10439 .p2align 2,,3 10440 .global HAL_I2C_Slave_Seq_Transmit_DMA 10441 .syntax unified 10442 .thumb ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 381 10443 .thumb_func 10445 HAL_I2C_Slave_Seq_Transmit_DMA: 10446 .LVL677: 10447 .LFB158: 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10448 .loc 1 4055 1 is_stmt 1 view -0 10449 .cfi_startproc 10450 @ args = 0, pretend = 0, frame = 8 10451 @ frame_needed = 0, uses_anonymous_args = 0 4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 10452 .loc 1 4057 3 view .LVU3814 4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10453 .loc 1 4058 3 view .LVU3815 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10454 .loc 1 4061 3 view .LVU3816 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10455 .loc 1 4055 1 is_stmt 0 view .LVU3817 10456 0000 F0B5 push {r4, r5, r6, r7, lr} 10457 .LCFI143: 10458 .cfi_def_cfa_offset 20 10459 .cfi_offset 4, -20 10460 .cfi_offset 5, -16 10461 .cfi_offset 6, -12 10462 .cfi_offset 7, -8 10463 .cfi_offset 14, -4 10464 0002 0D46 mov r5, r1 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10465 .loc 1 4061 3 view .LVU3818 10466 0004 33F08071 bics r1, r3, #16777216 10467 .LVL678: 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10468 .loc 1 4055 1 view .LVU3819 10469 0008 83B0 sub sp, sp, #12 10470 .LCFI144: 10471 .cfi_def_cfa_offset 32 4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10472 .loc 1 4055 1 view .LVU3820 10473 000a 0446 mov r4, r0 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10474 .loc 1 4061 3 view .LVU3821 10475 000c 10D0 beq .L833 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10476 .loc 1 4061 3 discriminator 2 view .LVU3822 10477 000e B3F1007F cmp r3, #33554432 10478 0012 0DD0 beq .L833 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10479 .loc 1 4061 3 discriminator 4 view .LVU3823 10480 0014 AA2B cmp r3, #170 10481 0016 0BD0 beq .L833 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10482 .loc 1 4061 3 discriminator 5 view .LVU3824 10483 0018 B3F52A4F cmp r3, #43520 10484 001c 08D0 beq .L833 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10485 .loc 1 4061 3 discriminator 6 view .LVU3825 10486 001e 7548 ldr r0, .L884 10487 .LVL679: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 382 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10488 .loc 1 4061 3 discriminator 6 view .LVU3826 10489 0020 40F6DD71 movw r1, #4061 10490 0024 CDE90023 strd r2, r3, [sp] 10491 0028 FFF7FEFF bl assert_failed 10492 .LVL680: 4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10493 .loc 1 4061 3 discriminator 6 view .LVU3827 10494 002c DDE90023 ldrd r2, r3, [sp] 10495 .LVL681: 10496 .L833: 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10497 .loc 1 4063 3 is_stmt 1 view .LVU3828 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10498 .loc 1 4063 22 is_stmt 0 view .LVU3829 10499 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10500 .loc 1 4063 6 view .LVU3830 10501 0034 00F02800 and r0, r0, #40 10502 0038 2828 cmp r0, #40 10503 003a 5AD1 bne .L852 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10504 .loc 1 4065 5 is_stmt 1 view .LVU3831 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10505 .loc 1 4065 8 is_stmt 0 view .LVU3832 10506 003c 002D cmp r5, #0 10507 003e 5BD0 beq .L835 4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10508 .loc 1 4065 25 discriminator 1 view .LVU3833 10509 0040 002A cmp r2, #0 10510 0042 59D0 beq .L835 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10511 .loc 1 4072 5 is_stmt 1 view .LVU3834 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10512 .loc 1 4072 5 view .LVU3835 10513 0044 94F84010 ldrb r1, [r4, #64] @ zero_extendqisi2 10514 0048 0129 cmp r1, #1 10515 004a 00F0CF80 beq .L853 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10516 .loc 1 4072 5 discriminator 2 view .LVU3836 10517 004e 0121 movs r1, #1 10518 0050 84F84010 strb r1, [r4, #64] 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10519 .loc 1 4072 5 discriminator 2 view .LVU3837 4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10520 .loc 1 4075 5 discriminator 2 view .LVU3838 10521 .LVL682: 10522 .LBB450: 10523 .LBI450: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10524 .loc 1 7451 13 discriminator 2 view .LVU3839 10525 .LBB451: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10526 .loc 1 7453 3 discriminator 2 view .LVU3840 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10527 .loc 1 7455 3 discriminator 2 view .LVU3841 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 383 10528 .loc 1 7458 5 discriminator 2 view .LVU3842 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10529 .loc 1 7460 5 discriminator 2 view .LVU3843 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10530 .loc 1 7506 3 is_stmt 0 discriminator 2 view .LVU3844 10531 0054 2168 ldr r1, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10532 .loc 1 7460 24 discriminator 2 view .LVU3845 10533 0056 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 10534 .LVL683: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10535 .loc 1 7467 3 is_stmt 1 discriminator 2 view .LVU3846 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10536 .loc 1 7479 3 discriminator 2 view .LVU3847 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10537 .loc 1 7482 5 discriminator 2 view .LVU3848 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10538 .loc 1 7485 3 discriminator 2 view .LVU3849 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10539 .loc 1 7491 3 discriminator 2 view .LVU3850 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10540 .loc 1 7497 3 discriminator 2 view .LVU3851 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10541 .loc 1 7506 3 discriminator 2 view .LVU3852 10542 005a 0868 ldr r0, [r1] 10543 005c 20F0FA00 bic r0, r0, #250 10544 0060 0860 str r0, [r1] 10545 .LVL684: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10546 .loc 1 7506 3 is_stmt 0 discriminator 2 view .LVU3853 10547 .LBE451: 10548 .LBE450: 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10549 .loc 1 4079 5 is_stmt 1 discriminator 2 view .LVU3854 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10550 .loc 1 4079 13 is_stmt 0 discriminator 2 view .LVU3855 10551 0062 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10552 .loc 1 4079 8 discriminator 2 view .LVU3856 10553 0066 2A28 cmp r0, #42 10554 .LBB452: 10555 .LBB453: 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10556 .loc 1 7472 24 discriminator 2 view .LVU3857 10557 0068 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 10558 .LBE453: 10559 .LBE452: 4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10560 .loc 1 4079 8 discriminator 2 view .LVU3858 10561 006c 00F09480 beq .L882 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10562 .loc 1 4104 10 is_stmt 1 view .LVU3859 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10563 .loc 1 4104 13 is_stmt 0 view .LVU3860 10564 0070 2928 cmp r0, #41 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10565 .loc 1 4104 18 view .LVU3861 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 384 10566 0072 C6B2 uxtb r6, r0 4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10567 .loc 1 4104 13 view .LVU3862 10568 0074 72D0 beq .L843 10569 .L880: 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10570 .loc 1 4145 13 view .LVU3863 10571 0076 A06B ldr r0, [r4, #56] 10572 .L840: 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10573 .loc 1 4129 5 is_stmt 1 view .LVU3864 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10574 .loc 1 4131 5 view .LVU3865 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10575 .loc 1 4131 21 is_stmt 0 view .LVU3866 10576 0078 2926 movs r6, #41 10577 007a 84F84160 strb r6, [r4, #65] 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10578 .loc 1 4132 5 is_stmt 1 view .LVU3867 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10579 .loc 1 4132 21 is_stmt 0 view .LVU3868 10580 007e 2026 movs r6, #32 10581 0080 84F84260 strb r6, [r4, #66] 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10582 .loc 1 4133 5 is_stmt 1 view .LVU3869 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10583 .loc 1 4133 21 is_stmt 0 view .LVU3870 10584 0084 0026 movs r6, #0 10585 0086 6664 str r6, [r4, #68] 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10586 .loc 1 4136 5 is_stmt 1 view .LVU3871 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10587 .loc 1 4136 25 is_stmt 0 view .LVU3872 10588 0088 4F68 ldr r7, [r1, #4] 10589 008a 27F40047 bic r7, r7, #32768 10590 008e 4F60 str r7, [r1, #4] 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10591 .loc 1 4139 5 is_stmt 1 view .LVU3873 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 10592 .loc 1 4140 23 is_stmt 0 view .LVU3874 10593 0090 6285 strh r2, [r4, #42] @ movhi 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10594 .loc 1 4141 29 view .LVU3875 10595 0092 628D ldrh r2, [r4, #42] 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 10596 .loc 1 4142 23 view .LVU3876 10597 0094 E362 str r3, [r4, #44] 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10598 .loc 1 4141 29 view .LVU3877 10599 0096 93B2 uxth r3, r2 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10600 .loc 1 4143 23 view .LVU3878 10601 0098 574A ldr r2, .L884+4 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10602 .loc 1 4139 23 view .LVU3879 10603 009a 6562 str r5, [r4, #36] 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 385 10604 .loc 1 4140 5 is_stmt 1 view .LVU3880 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10605 .loc 1 4141 5 view .LVU3881 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10606 .loc 1 4141 23 is_stmt 0 view .LVU3882 10607 009c 2385 strh r3, [r4, #40] @ movhi 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 10608 .loc 1 4142 5 is_stmt 1 view .LVU3883 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10609 .loc 1 4143 5 view .LVU3884 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10610 .loc 1 4143 23 is_stmt 0 view .LVU3885 10611 009e 6263 str r2, [r4, #52] 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10612 .loc 1 4145 5 is_stmt 1 view .LVU3886 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10613 .loc 1 4145 8 is_stmt 0 view .LVU3887 10614 00a0 0028 cmp r0, #0 10615 00a2 4DD0 beq .L847 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10616 .loc 1 4148 7 is_stmt 1 view .LVU3888 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 10617 .loc 1 4158 23 is_stmt 0 view .LVU3889 10618 00a4 01F12802 add r2, r1, #40 10619 00a8 2946 mov r1, r5 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10620 .loc 1 4148 38 view .LVU3890 10621 00aa 544D ldr r5, .L884+8 10622 .LVL685: 4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10623 .loc 1 4148 38 view .LVU3891 10624 00ac 8562 str r5, [r0, #40] 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10625 .loc 1 4151 7 is_stmt 1 view .LVU3892 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10626 .loc 1 4151 39 is_stmt 0 view .LVU3893 10627 00ae 544D ldr r5, .L884+12 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 10628 .loc 1 4154 42 view .LVU3894 10629 00b0 C662 str r6, [r0, #44] 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10630 .loc 1 4155 39 view .LVU3895 10631 00b2 4663 str r6, [r0, #52] 4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10632 .loc 1 4151 39 view .LVU3896 10633 00b4 0563 str r5, [r0, #48] 4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL; 10634 .loc 1 4154 7 is_stmt 1 view .LVU3897 4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10635 .loc 1 4155 7 view .LVU3898 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 10636 .loc 1 4158 7 view .LVU3899 4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize); 10637 .loc 1 4158 23 is_stmt 0 view .LVU3900 10638 00b6 FFF7FEFF bl HAL_DMA_Start_IT 10639 .LVL686: 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 386 10640 .loc 1 4176 5 is_stmt 1 view .LVU3901 4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10641 .loc 1 4176 8 is_stmt 0 view .LVU3902 10642 00ba 18BB cbnz r0, .L883 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10643 .loc 1 4179 7 is_stmt 1 view .LVU3903 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10644 .loc 1 4179 23 is_stmt 0 view .LVU3904 10645 00bc 628D ldrh r2, [r4, #42] 10646 00be 218D ldrh r1, [r4, #40] 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 10647 .loc 1 4199 11 view .LVU3905 10648 00c0 2368 ldr r3, [r4] 4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10649 .loc 1 4179 23 view .LVU3906 10650 00c2 521A subs r2, r2, r1 10651 00c4 92B2 uxth r2, r2 10652 00c6 6285 strh r2, [r4, #42] @ movhi 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10653 .loc 1 4182 7 is_stmt 1 view .LVU3907 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 10654 .loc 1 4199 11 is_stmt 0 view .LVU3908 10655 00c8 9969 ldr r1, [r3, #24] 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10656 .loc 1 4200 10 view .LVU3909 10657 00ca 9A69 ldr r2, [r3, #24] 4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10658 .loc 1 4182 22 view .LVU3910 10659 00cc 2085 strh r0, [r4, #40] @ movhi 4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE) && (tmp != RESET)) 10660 .loc 1 4199 5 is_stmt 1 view .LVU3911 10661 .LVL687: 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10662 .loc 1 4200 5 view .LVU3912 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10663 .loc 1 4200 8 is_stmt 0 view .LVU3913 10664 00ce D503 lsls r5, r2, #15 10665 00d0 03D5 bpl .L851 4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10666 .loc 1 4200 54 discriminator 1 view .LVU3914 10667 00d2 0A07 lsls r2, r1, #28 4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10668 .loc 1 4204 7 is_stmt 1 discriminator 1 view .LVU3915 10669 00d4 44BF itt mi 10670 00d6 0822 movmi r2, #8 10671 00d8 DA61 strmi r2, [r3, #28] 10672 .L851: 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10673 .loc 1 4208 5 view .LVU3916 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10674 .loc 1 4208 5 view .LVU3917 10675 00da 0022 movs r2, #0 10676 00dc 84F84020 strb r2, [r4, #64] 4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10677 .loc 1 4208 5 view .LVU3918 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10678 .loc 1 4211 5 view .LVU3919 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 387 4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10679 .loc 1 4211 25 is_stmt 0 view .LVU3920 10680 00e0 1A68 ldr r2, [r3] 10681 00e2 42F48042 orr r2, r2, #16384 10682 00e6 1A60 str r2, [r3] 4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10683 .loc 1 4217 5 is_stmt 1 view .LVU3921 10684 .LVL688: 10685 .LBB455: 10686 .LBI455: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10687 .loc 1 7360 13 view .LVU3922 10688 .LBB456: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10689 .loc 1 7362 3 view .LVU3923 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 10690 .loc 1 7364 3 view .LVU3924 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10691 .loc 1 7441 3 view .LVU3925 10692 00e8 1A68 ldr r2, [r3] 10693 00ea 42F0B802 orr r2, r2, #184 10694 00ee 1A60 str r2, [r3] 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10695 .loc 1 7442 1 is_stmt 0 view .LVU3926 10696 00f0 00E0 b .L876 10697 .LVL689: 10698 .L852: 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10699 .loc 1 7442 1 view .LVU3927 10700 .LBE456: 10701 .LBE455: 4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10702 .loc 1 4223 12 view .LVU3928 10703 00f2 0120 movs r0, #1 10704 .LVL690: 10705 .L876: 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10706 .loc 1 4225 1 view .LVU3929 10707 00f4 03B0 add sp, sp, #12 10708 .LCFI145: 10709 .cfi_remember_state 10710 .cfi_def_cfa_offset 20 10711 @ sp needed 10712 00f6 F0BD pop {r4, r5, r6, r7, pc} 10713 .LVL691: 10714 .L835: 10715 .LCFI146: 10716 .cfi_restore_state 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 10717 .loc 1 4067 7 is_stmt 1 view .LVU3930 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 10718 .loc 1 4067 23 is_stmt 0 view .LVU3931 10719 00f8 4FF40073 mov r3, #512 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10720 .loc 1 4068 15 view .LVU3932 10721 00fc 0120 movs r0, #1 4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 388 10722 .loc 1 4067 23 view .LVU3933 10723 00fe 6364 str r3, [r4, #68] 4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10724 .loc 1 4068 7 is_stmt 1 view .LVU3934 4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10725 .loc 1 4225 1 is_stmt 0 view .LVU3935 10726 0100 03B0 add sp, sp, #12 10727 .LCFI147: 10728 .cfi_remember_state 10729 .cfi_def_cfa_offset 20 10730 @ sp needed 10731 0102 F0BD pop {r4, r5, r6, r7, pc} 10732 .LVL692: 10733 .L883: 10734 .LCFI148: 10735 .cfi_restore_state 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10736 .loc 1 4187 7 is_stmt 1 view .LVU3936 4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10737 .loc 1 4187 23 is_stmt 0 view .LVU3937 10738 0104 2823 movs r3, #40 10739 0106 84F84130 strb r3, [r4, #65] 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10740 .loc 1 4188 7 is_stmt 1 view .LVU3938 4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10741 .loc 1 4188 23 is_stmt 0 view .LVU3939 10742 010a 84F84260 strb r6, [r4, #66] 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10743 .loc 1 4191 7 is_stmt 1 view .LVU3940 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10744 .loc 1 4191 23 is_stmt 0 view .LVU3941 10745 010e 636C ldr r3, [r4, #68] 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10746 .loc 1 4194 7 view .LVU3942 10747 0110 84F84060 strb r6, [r4, #64] 4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10748 .loc 1 4191 23 view .LVU3943 10749 0114 43F01003 orr r3, r3, #16 10750 0118 6364 str r3, [r4, #68] 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10751 .loc 1 4194 7 is_stmt 1 view .LVU3944 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10752 .loc 1 4194 7 view .LVU3945 4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10753 .loc 1 4194 7 view .LVU3946 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10754 .loc 1 4196 7 view .LVU3947 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10755 .loc 1 4196 14 is_stmt 0 view .LVU3948 10756 011a 0120 movs r0, #1 10757 .LVL693: 4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10758 .loc 1 4196 14 view .LVU3949 10759 011c EAE7 b .L876 10760 .LVL694: 10761 .L845: 4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 389 10762 .loc 1 4129 5 is_stmt 1 view .LVU3950 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10763 .loc 1 4131 5 view .LVU3951 4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 10764 .loc 1 4131 21 is_stmt 0 view .LVU3952 10765 011e 84F84160 strb r6, [r4, #65] 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10766 .loc 1 4132 5 is_stmt 1 view .LVU3953 4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 10767 .loc 1 4132 21 is_stmt 0 view .LVU3954 10768 0122 2026 movs r6, #32 10769 0124 84F84260 strb r6, [r4, #66] 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10770 .loc 1 4133 5 is_stmt 1 view .LVU3955 4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10771 .loc 1 4133 21 is_stmt 0 view .LVU3956 10772 0128 6064 str r0, [r4, #68] 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10773 .loc 1 4136 5 is_stmt 1 view .LVU3957 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10774 .loc 1 4136 25 is_stmt 0 view .LVU3958 10775 012a 4868 ldr r0, [r1, #4] 10776 012c 20F40040 bic r0, r0, #32768 10777 0130 4860 str r0, [r1, #4] 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10778 .loc 1 4139 5 is_stmt 1 view .LVU3959 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 10779 .loc 1 4140 23 is_stmt 0 view .LVU3960 10780 0132 6285 strh r2, [r4, #42] @ movhi 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10781 .loc 1 4141 29 view .LVU3961 10782 0134 618D ldrh r1, [r4, #42] 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10783 .loc 1 4143 23 view .LVU3962 10784 0136 304A ldr r2, .L884+4 4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 10785 .loc 1 4139 23 view .LVU3963 10786 0138 6562 str r5, [r4, #36] 4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 10787 .loc 1 4140 5 is_stmt 1 view .LVU3964 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10788 .loc 1 4141 5 view .LVU3965 4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 10789 .loc 1 4141 23 is_stmt 0 view .LVU3966 10790 013a 2185 strh r1, [r4, #40] @ movhi 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 10791 .loc 1 4142 5 is_stmt 1 view .LVU3967 4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 10792 .loc 1 4142 23 is_stmt 0 view .LVU3968 10793 013c E362 str r3, [r4, #44] 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10794 .loc 1 4143 5 is_stmt 1 view .LVU3969 4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10795 .loc 1 4143 23 is_stmt 0 view .LVU3970 10796 013e 6263 str r2, [r4, #52] 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10797 .loc 1 4145 5 is_stmt 1 view .LVU3971 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 390 10798 .L847: 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10799 .loc 1 4164 7 view .LVU3972 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10800 .loc 1 4165 23 is_stmt 0 view .LVU3973 10801 0140 0022 movs r2, #0 4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 10802 .loc 1 4164 23 view .LVU3974 10803 0142 2823 movs r3, #40 10804 0144 84F84130 strb r3, [r4, #65] 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10805 .loc 1 4165 7 is_stmt 1 view .LVU3975 4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10806 .loc 1 4165 23 is_stmt 0 view .LVU3976 10807 0148 84F84220 strb r2, [r4, #66] 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10808 .loc 1 4168 7 is_stmt 1 view .LVU3977 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10809 .loc 1 4168 23 is_stmt 0 view .LVU3978 10810 014c 636C ldr r3, [r4, #68] 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10811 .loc 1 4171 7 view .LVU3979 10812 014e 84F84020 strb r2, [r4, #64] 4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10813 .loc 1 4168 23 view .LVU3980 10814 0152 43F08003 orr r3, r3, #128 10815 0156 6364 str r3, [r4, #68] 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10816 .loc 1 4171 7 is_stmt 1 view .LVU3981 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10817 .loc 1 4171 7 view .LVU3982 4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10818 .loc 1 4171 7 view .LVU3983 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10819 .loc 1 4173 7 view .LVU3984 4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10820 .loc 1 4173 14 is_stmt 0 view .LVU3985 10821 0158 0120 movs r0, #1 10822 015a CBE7 b .L876 10823 .L843: 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10824 .loc 1 4106 7 is_stmt 1 view .LVU3986 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10825 .loc 1 4106 26 is_stmt 0 view .LVU3987 10826 015c 0868 ldr r0, [r1] 4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10827 .loc 1 4106 10 view .LVU3988 10828 015e 4704 lsls r7, r0, #17 10829 0160 89D5 bpl .L880 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10830 .loc 1 4108 9 is_stmt 1 view .LVU3989 4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10831 .loc 1 4108 29 is_stmt 0 view .LVU3990 10832 0162 0868 ldr r0, [r1] 10833 0164 20F48040 bic r0, r0, #16384 10834 0168 0860 str r0, [r1] 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 391 10835 .loc 1 4111 9 is_stmt 1 view .LVU3991 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10836 .loc 1 4111 17 is_stmt 0 view .LVU3992 10837 016a A06B ldr r0, [r4, #56] 4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10838 .loc 1 4111 12 view .LVU3993 10839 016c 0028 cmp r0, #0 10840 016e D6D0 beq .L845 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10841 .loc 1 4115 11 is_stmt 1 view .LVU3994 4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10842 .loc 1 4115 43 is_stmt 0 view .LVU3995 10843 0170 2449 ldr r1, .L884+16 10844 0172 4163 str r1, [r0, #52] 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10845 .loc 1 4118 11 is_stmt 1 view .LVU3996 10846 0174 CDE90023 strd r2, r3, [sp] 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10847 .loc 1 4118 15 is_stmt 0 view .LVU3997 10848 0178 FFF7FEFF bl HAL_DMA_Abort_IT 10849 .LVL695: 4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10850 .loc 1 4118 14 view .LVU3998 10851 017c DDE90023 ldrd r2, r3, [sp] 10852 0180 0028 cmp r0, #0 10853 0182 35D0 beq .L881 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10854 .loc 1 4121 17 view .LVU3999 10855 0184 A06B ldr r0, [r4, #56] 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10856 .loc 1 4121 13 view .LVU4000 10857 0186 416B ldr r1, [r0, #52] 10858 0188 CDE90023 strd r2, r3, [sp] 4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10859 .loc 1 4121 13 is_stmt 1 view .LVU4001 10860 018c 8847 blx r1 10861 .LVL696: 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10862 .loc 1 4145 13 is_stmt 0 view .LVU4002 10863 018e DDE90023 ldrd r2, r3, [sp] 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10864 .loc 1 4136 9 view .LVU4003 10865 0192 2168 ldr r1, [r4] 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10866 .loc 1 4145 13 view .LVU4004 10867 0194 A06B ldr r0, [r4, #56] 10868 0196 6FE7 b .L840 10869 .L882: 4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10870 .loc 1 4082 7 is_stmt 1 view .LVU4005 10871 .LVL697: 10872 .LBB457: 10873 .LBI452: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10874 .loc 1 7451 13 view .LVU4006 10875 .LBB454: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 392 10876 .loc 1 7453 3 view .LVU4007 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10877 .loc 1 7455 3 view .LVU4008 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10878 .loc 1 7467 3 view .LVU4009 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10879 .loc 1 7470 5 view .LVU4010 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10880 .loc 1 7472 5 view .LVU4011 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10881 .loc 1 7472 8 is_stmt 0 view .LVU4012 10882 0198 00F02800 and r0, r0, #40 10883 019c 2828 cmp r0, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10884 .loc 1 7506 3 view .LVU4013 10885 019e 0868 ldr r0, [r1] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10886 .loc 1 7472 8 view .LVU4014 10887 01a0 0CBF ite eq 10888 01a2 6FF04406 mvneq r6, #68 10889 01a6 6FF0F406 mvnne r6, #244 10890 .LVL698: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10891 .loc 1 7479 3 is_stmt 1 view .LVU4015 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10892 .loc 1 7485 3 view .LVU4016 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10893 .loc 1 7491 3 view .LVU4017 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10894 .loc 1 7497 3 view .LVU4018 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10895 .loc 1 7506 3 view .LVU4019 10896 01aa 3040 ands r0, r0, r6 10897 01ac 0860 str r0, [r1] 10898 .LVL699: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10899 .loc 1 7506 3 is_stmt 0 view .LVU4020 10900 .LBE454: 10901 .LBE457: 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10902 .loc 1 4084 7 is_stmt 1 view .LVU4021 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10903 .loc 1 4084 26 is_stmt 0 view .LVU4022 10904 01ae 0868 ldr r0, [r1] 4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10905 .loc 1 4084 10 view .LVU4023 10906 01b0 0004 lsls r0, r0, #16 10907 01b2 7FF560AF bpl .L880 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10908 .loc 1 4087 9 is_stmt 1 view .LVU4024 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10909 .loc 1 4087 17 is_stmt 0 view .LVU4025 10910 01b6 E06B ldr r0, [r4, #60] 4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10911 .loc 1 4087 12 view .LVU4026 10912 01b8 0028 cmp r0, #0 10913 01ba 3FF45CAF beq .L880 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 393 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10914 .loc 1 4089 11 is_stmt 1 view .LVU4027 4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10915 .loc 1 4089 31 is_stmt 0 view .LVU4028 10916 01be 0E68 ldr r6, [r1] 10917 01c0 26F40046 bic r6, r6, #32768 10918 01c4 0E60 str r6, [r1] 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10919 .loc 1 4093 11 is_stmt 1 view .LVU4029 4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10920 .loc 1 4093 43 is_stmt 0 view .LVU4030 10921 01c6 0F49 ldr r1, .L884+16 10922 01c8 4163 str r1, [r0, #52] 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10923 .loc 1 4096 11 is_stmt 1 view .LVU4031 10924 01ca CDE90023 strd r2, r3, [sp] 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10925 .loc 1 4096 15 is_stmt 0 view .LVU4032 10926 01ce FFF7FEFF bl HAL_DMA_Abort_IT 10927 .LVL700: 4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10928 .loc 1 4096 14 view .LVU4033 10929 01d2 DDE90023 ldrd r2, r3, [sp] 10930 01d6 58B1 cbz r0, .L881 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10931 .loc 1 4099 17 view .LVU4034 10932 01d8 E06B ldr r0, [r4, #60] 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10933 .loc 1 4099 13 view .LVU4035 10934 01da 416B ldr r1, [r0, #52] 10935 01dc CDE90023 strd r2, r3, [sp] 4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 10936 .loc 1 4099 13 is_stmt 1 view .LVU4036 10937 01e0 8847 blx r1 10938 .LVL701: 10939 01e2 DDE90023 ldrd r2, r3, [sp] 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10940 .loc 1 4136 9 is_stmt 0 view .LVU4037 10941 01e6 2168 ldr r1, [r4] 4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 10942 .loc 1 4145 13 view .LVU4038 10943 01e8 A06B ldr r0, [r4, #56] 10944 01ea 45E7 b .L840 10945 .L853: 4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10946 .loc 1 4072 5 view .LVU4039 10947 01ec 0220 movs r0, #2 10948 01ee 81E7 b .L876 10949 .L881: 4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10950 .loc 1 4136 9 view .LVU4040 10951 01f0 2168 ldr r1, [r4] 10952 01f2 40E7 b .L880 10953 .L885: 10954 .align 2 10955 .L884: 10956 01f4 00000000 .word .LC0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 394 10957 01f8 00000000 .word I2C_Slave_ISR_DMA 10958 01fc 00000000 .word I2C_DMASlaveTransmitCplt 10959 0200 00000000 .word I2C_DMAError 10960 0204 00000000 .word I2C_DMAAbort 10961 .cfi_endproc 10962 .LFE158: 10964 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits 10965 .align 1 10966 .p2align 2,,3 10967 .global HAL_I2C_Slave_Seq_Receive_IT 10968 .syntax unified 10969 .thumb 10970 .thumb_func 10972 HAL_I2C_Slave_Seq_Receive_IT: 10973 .LVL702: 10974 .LFB159: 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10975 .loc 1 4239 1 is_stmt 1 view -0 10976 .cfi_startproc 10977 @ args = 0, pretend = 0, frame = 8 10978 @ frame_needed = 0, uses_anonymous_args = 0 4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10979 .loc 1 4241 3 view .LVU4042 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10980 .loc 1 4244 3 view .LVU4043 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10981 .loc 1 4239 1 is_stmt 0 view .LVU4044 10982 0000 30B5 push {r4, r5, lr} 10983 .LCFI149: 10984 .cfi_def_cfa_offset 12 10985 .cfi_offset 4, -12 10986 .cfi_offset 5, -8 10987 .cfi_offset 14, -4 10988 0002 0D46 mov r5, r1 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10989 .loc 1 4244 3 view .LVU4045 10990 0004 33F08071 bics r1, r3, #16777216 10991 .LVL703: 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10992 .loc 1 4239 1 view .LVU4046 10993 0008 83B0 sub sp, sp, #12 10994 .LCFI150: 10995 .cfi_def_cfa_offset 24 4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 10996 .loc 1 4239 1 view .LVU4047 10997 000a 0446 mov r4, r0 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 10998 .loc 1 4244 3 view .LVU4048 10999 000c 10D0 beq .L887 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11000 .loc 1 4244 3 discriminator 2 view .LVU4049 11001 000e B3F1007F cmp r3, #33554432 11002 0012 0DD0 beq .L887 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11003 .loc 1 4244 3 discriminator 4 view .LVU4050 11004 0014 AA2B cmp r3, #170 11005 0016 0BD0 beq .L887 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 395 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11006 .loc 1 4244 3 discriminator 5 view .LVU4051 11007 0018 B3F52A4F cmp r3, #43520 11008 001c 08D0 beq .L887 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11009 .loc 1 4244 3 discriminator 6 view .LVU4052 11010 001e 4048 ldr r0, .L924 11011 .LVL704: 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11012 .loc 1 4244 3 discriminator 6 view .LVU4053 11013 0020 41F29401 movw r1, #4244 11014 0024 CDE90023 strd r2, r3, [sp] 11015 0028 FFF7FEFF bl assert_failed 11016 .LVL705: 4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11017 .loc 1 4244 3 discriminator 6 view .LVU4054 11018 002c DDE90023 ldrd r2, r3, [sp] 11019 .LVL706: 11020 .L887: 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11021 .loc 1 4246 3 is_stmt 1 view .LVU4055 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11022 .loc 1 4246 22 is_stmt 0 view .LVU4056 11023 0030 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11024 .loc 1 4246 6 view .LVU4057 11025 0034 00F02800 and r0, r0, #40 11026 0038 2828 cmp r0, #40 11027 003a 3AD1 bne .L895 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11028 .loc 1 4248 5 is_stmt 1 view .LVU4058 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11029 .loc 1 4248 8 is_stmt 0 view .LVU4059 11030 003c 002D cmp r5, #0 11031 003e 3BD0 beq .L889 4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11032 .loc 1 4248 25 discriminator 1 view .LVU4060 11033 0040 002A cmp r2, #0 11034 0042 39D0 beq .L889 4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11035 .loc 1 4255 5 is_stmt 1 view .LVU4061 11036 .LVL707: 11037 .LBB464: 11038 .LBI464: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11039 .loc 1 7451 13 view .LVU4062 11040 .LBB465: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11041 .loc 1 7453 3 view .LVU4063 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11042 .loc 1 7455 3 view .LVU4064 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11043 .loc 1 7467 3 view .LVU4065 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11044 .loc 1 7470 5 view .LVU4066 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11045 .loc 1 7472 5 view .LVU4067 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 396 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11046 .loc 1 7506 3 is_stmt 0 view .LVU4068 11047 0044 2168 ldr r1, [r4] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11048 .loc 1 7472 24 view .LVU4069 11049 0046 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 11050 .LVL708: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11051 .loc 1 7479 3 is_stmt 1 view .LVU4070 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11052 .loc 1 7482 5 view .LVU4071 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11053 .loc 1 7485 3 view .LVU4072 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11054 .loc 1 7491 3 view .LVU4073 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11055 .loc 1 7497 3 view .LVU4074 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11056 .loc 1 7506 3 view .LVU4075 11057 004a 0868 ldr r0, [r1] 11058 004c 20F0FC00 bic r0, r0, #252 11059 0050 0860 str r0, [r1] 11060 .LVL709: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11061 .loc 1 7506 3 is_stmt 0 view .LVU4076 11062 .LBE465: 11063 .LBE464: 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11064 .loc 1 4258 5 is_stmt 1 view .LVU4077 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11065 .loc 1 4258 5 view .LVU4078 11066 0052 94F84000 ldrb r0, [r4, #64] @ zero_extendqisi2 11067 0056 0128 cmp r0, #1 11068 0058 57D0 beq .L896 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11069 .loc 1 4258 5 discriminator 2 view .LVU4079 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11070 .loc 1 4262 13 is_stmt 0 discriminator 2 view .LVU4080 11071 005a 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11072 .loc 1 4258 5 discriminator 2 view .LVU4081 11073 005e 4FF0010C mov ip, #1 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11074 .loc 1 4262 8 discriminator 2 view .LVU4082 11075 0062 2928 cmp r0, #41 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11076 .loc 1 4258 5 discriminator 2 view .LVU4083 11077 0064 84F840C0 strb ip, [r4, #64] 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11078 .loc 1 4258 5 is_stmt 1 discriminator 2 view .LVU4084 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11079 .loc 1 4262 5 discriminator 2 view .LVU4085 4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11080 .loc 1 4262 8 is_stmt 0 discriminator 2 view .LVU4086 11081 0068 2CD0 beq .L923 11082 .L891: 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 397 11083 .loc 1 4288 5 is_stmt 1 view .LVU4087 4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 11084 .loc 1 4288 21 is_stmt 0 view .LVU4088 11085 006a 2A20 movs r0, #42 11086 006c 84F84100 strb r0, [r4, #65] 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11087 .loc 1 4289 5 is_stmt 1 view .LVU4089 4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11088 .loc 1 4289 21 is_stmt 0 view .LVU4090 11089 0070 2020 movs r0, #32 11090 0072 84F84200 strb r0, [r4, #66] 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11091 .loc 1 4290 5 is_stmt 1 view .LVU4091 4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11092 .loc 1 4290 21 is_stmt 0 view .LVU4092 11093 0076 0020 movs r0, #0 11094 0078 6064 str r0, [r4, #68] 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11095 .loc 1 4293 5 is_stmt 1 view .LVU4093 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11096 .loc 1 4293 25 is_stmt 0 view .LVU4094 11097 007a 4868 ldr r0, [r1, #4] 11098 007c 20F40040 bic r0, r0, #32768 11099 0080 4860 str r0, [r1, #4] 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11100 .loc 1 4296 5 is_stmt 1 view .LVU4095 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11101 .loc 1 4297 23 is_stmt 0 view .LVU4096 11102 0082 6285 strh r2, [r4, #42] @ movhi 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11103 .loc 1 4298 29 view .LVU4097 11104 0084 608D ldrh r0, [r4, #42] 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 11105 .loc 1 4299 23 view .LVU4098 11106 0086 E362 str r3, [r4, #44] 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11107 .loc 1 4298 23 view .LVU4099 11108 0088 2085 strh r0, [r4, #40] @ movhi 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 11109 .loc 1 4302 11 view .LVU4100 11110 008a 8869 ldr r0, [r1, #24] 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11111 .loc 1 4303 10 view .LVU4101 11112 008c 8B69 ldr r3, [r1, #24] 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11113 .loc 1 4300 23 view .LVU4102 11114 008e 254A ldr r2, .L924+4 11115 0090 6263 str r2, [r4, #52] 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11116 .loc 1 4303 8 view .LVU4103 11117 0092 DA03 lsls r2, r3, #15 4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11118 .loc 1 4296 23 view .LVU4104 11119 0094 6562 str r5, [r4, #36] 4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11120 .loc 1 4297 5 is_stmt 1 view .LVU4105 4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 398 11121 .loc 1 4298 5 view .LVU4106 4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 11122 .loc 1 4299 5 view .LVU4107 4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11123 .loc 1 4300 5 view .LVU4108 4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 11124 .loc 1 4302 5 view .LVU4109 11125 .LVL710: 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11126 .loc 1 4303 5 view .LVU4110 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11127 .loc 1 4303 8 is_stmt 0 view .LVU4111 11128 0096 03D4 bmi .L894 4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11129 .loc 1 4303 55 discriminator 1 view .LVU4112 11130 0098 0307 lsls r3, r0, #28 4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11131 .loc 1 4307 7 is_stmt 1 discriminator 1 view .LVU4113 11132 009a 44BF itt mi 11133 009c 0823 movmi r3, #8 11134 009e CB61 strmi r3, [r1, #28] 11135 .L894: 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11136 .loc 1 4311 5 view .LVU4114 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11137 .loc 1 4311 5 view .LVU4115 11138 00a0 0020 movs r0, #0 11139 .LVL711: 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11140 .loc 1 4311 5 is_stmt 0 view .LVU4116 11141 00a2 84F84000 strb r0, [r4, #64] 4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11142 .loc 1 4311 5 is_stmt 1 view .LVU4117 4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11143 .loc 1 4317 5 view .LVU4118 11144 .LVL712: 11145 .LBB466: 11146 .LBI466: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11147 .loc 1 7360 13 view .LVU4119 11148 .LBB467: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11149 .loc 1 7362 3 view .LVU4120 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 11150 .loc 1 7364 3 view .LVU4121 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11151 .loc 1 7441 3 view .LVU4122 11152 00a6 0B68 ldr r3, [r1] 11153 00a8 43F0FC03 orr r3, r3, #252 11154 00ac 0B60 str r3, [r1] 11155 .LVL713: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11156 .loc 1 7441 3 is_stmt 0 view .LVU4123 11157 .LBE467: 11158 .LBE466: 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11159 .loc 1 4325 1 view .LVU4124 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 399 11160 00ae 03B0 add sp, sp, #12 11161 .LCFI151: 11162 .cfi_remember_state 11163 .cfi_def_cfa_offset 12 11164 @ sp needed 11165 00b0 30BD pop {r4, r5, pc} 11166 .LVL714: 11167 .L895: 11168 .LCFI152: 11169 .cfi_restore_state 4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11170 .loc 1 4323 12 view .LVU4125 11171 00b2 0120 movs r0, #1 11172 .L888: 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11173 .loc 1 4325 1 view .LVU4126 11174 00b4 03B0 add sp, sp, #12 11175 .LCFI153: 11176 .cfi_remember_state 11177 .cfi_def_cfa_offset 12 11178 @ sp needed 11179 00b6 30BD pop {r4, r5, pc} 11180 .LVL715: 11181 .L889: 11182 .LCFI154: 11183 .cfi_restore_state 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11184 .loc 1 4250 7 is_stmt 1 view .LVU4127 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11185 .loc 1 4250 23 is_stmt 0 view .LVU4128 11186 00b8 4FF40073 mov r3, #512 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11187 .loc 1 4251 15 view .LVU4129 11188 00bc 0120 movs r0, #1 4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11189 .loc 1 4250 23 view .LVU4130 11190 00be 6364 str r3, [r4, #68] 4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11191 .loc 1 4251 7 is_stmt 1 view .LVU4131 4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11192 .loc 1 4325 1 is_stmt 0 view .LVU4132 11193 00c0 03B0 add sp, sp, #12 11194 .LCFI155: 11195 .cfi_remember_state 11196 .cfi_def_cfa_offset 12 11197 @ sp needed 11198 00c2 30BD pop {r4, r5, pc} 11199 .LVL716: 11200 .L923: 11201 .LCFI156: 11202 .cfi_restore_state 4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11203 .loc 1 4265 7 is_stmt 1 view .LVU4133 11204 .LBB468: 11205 .LBI468: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11206 .loc 1 7451 13 view .LVU4134 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 400 11207 .LBB469: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11208 .loc 1 7453 3 view .LVU4135 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11209 .loc 1 7455 3 view .LVU4136 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11210 .loc 1 7458 5 view .LVU4137 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11211 .loc 1 7460 5 view .LVU4138 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11212 .loc 1 7460 24 is_stmt 0 view .LVU4139 11213 00c4 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11214 .loc 1 7460 8 view .LVU4140 11215 00c8 00F02800 and r0, r0, #40 11216 00cc 2828 cmp r0, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11217 .loc 1 7506 3 view .LVU4141 11218 00ce 0868 ldr r0, [r1] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11219 .loc 1 7460 8 view .LVU4142 11220 00d0 0CBF ite eq 11221 00d2 6FF0420C mvneq ip, #66 11222 00d6 6FF0F20C mvnne ip, #242 11223 .LVL717: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11224 .loc 1 7467 3 is_stmt 1 view .LVU4143 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11225 .loc 1 7479 3 view .LVU4144 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11226 .loc 1 7485 3 view .LVU4145 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11227 .loc 1 7491 3 view .LVU4146 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11228 .loc 1 7497 3 view .LVU4147 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11229 .loc 1 7506 3 view .LVU4148 11230 00da 00EA0C00 and r0, r0, ip 11231 00de 0860 str r0, [r1] 11232 .LVL718: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11233 .loc 1 7506 3 is_stmt 0 view .LVU4149 11234 .LBE469: 11235 .LBE468: 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11236 .loc 1 4267 7 is_stmt 1 view .LVU4150 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11237 .loc 1 4267 26 is_stmt 0 view .LVU4151 11238 00e0 0868 ldr r0, [r1] 4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11239 .loc 1 4267 10 view .LVU4152 11240 00e2 4004 lsls r0, r0, #17 11241 00e4 C1D5 bpl .L891 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11242 .loc 1 4269 9 is_stmt 1 view .LVU4153 4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11243 .loc 1 4269 29 is_stmt 0 view .LVU4154 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 401 11244 00e6 0868 ldr r0, [r1] 11245 00e8 20F48040 bic r0, r0, #16384 11246 00ec 0860 str r0, [r1] 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11247 .loc 1 4272 9 is_stmt 1 view .LVU4155 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11248 .loc 1 4272 17 is_stmt 0 view .LVU4156 11249 00ee A06B ldr r0, [r4, #56] 4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11250 .loc 1 4272 12 view .LVU4157 11251 00f0 0028 cmp r0, #0 11252 00f2 BAD0 beq .L891 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11253 .loc 1 4276 11 is_stmt 1 view .LVU4158 4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11254 .loc 1 4276 43 is_stmt 0 view .LVU4159 11255 00f4 0C49 ldr r1, .L924+8 11256 00f6 4163 str r1, [r0, #52] 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11257 .loc 1 4279 11 is_stmt 1 view .LVU4160 11258 00f8 CDE90023 strd r2, r3, [sp] 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11259 .loc 1 4279 15 is_stmt 0 view .LVU4161 11260 00fc FFF7FEFF bl HAL_DMA_Abort_IT 11261 .LVL719: 4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11262 .loc 1 4279 14 view .LVU4162 11263 0100 DDE90023 ldrd r2, r3, [sp] 11264 0104 18B9 cbnz r0, .L893 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11265 .loc 1 4293 9 view .LVU4163 11266 0106 2168 ldr r1, [r4] 11267 0108 AFE7 b .L891 11268 .L896: 4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11269 .loc 1 4258 5 view .LVU4164 11270 010a 0220 movs r0, #2 11271 010c D2E7 b .L888 11272 .L893: 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11273 .loc 1 4282 17 view .LVU4165 11274 010e A06B ldr r0, [r4, #56] 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11275 .loc 1 4282 13 view .LVU4166 11276 0110 416B ldr r1, [r0, #52] 11277 0112 CDE90023 strd r2, r3, [sp] 4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11278 .loc 1 4282 13 is_stmt 1 view .LVU4167 11279 0116 8847 blx r1 11280 .LVL720: 4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11281 .loc 1 4293 9 is_stmt 0 view .LVU4168 11282 0118 DDE90023 ldrd r2, r3, [sp] 11283 011c 2168 ldr r1, [r4] 11284 011e A4E7 b .L891 11285 .L925: 11286 .align 2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 402 11287 .L924: 11288 0120 00000000 .word .LC0 11289 0124 00000000 .word I2C_Slave_ISR_IT 11290 0128 00000000 .word I2C_DMAAbort 11291 .cfi_endproc 11292 .LFE159: 11294 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits 11295 .align 1 11296 .p2align 2,,3 11297 .global HAL_I2C_Slave_Seq_Receive_DMA 11298 .syntax unified 11299 .thumb 11300 .thumb_func 11302 HAL_I2C_Slave_Seq_Receive_DMA: 11303 .LVL721: 11304 .LFB160: 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11305 .loc 1 4339 1 is_stmt 1 view -0 11306 .cfi_startproc 11307 @ args = 0, pretend = 0, frame = 8 11308 @ frame_needed = 0, uses_anonymous_args = 0 4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus; 11309 .loc 1 4341 3 view .LVU4170 4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11310 .loc 1 4342 3 view .LVU4171 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11311 .loc 1 4345 3 view .LVU4172 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11312 .loc 1 4339 1 is_stmt 0 view .LVU4173 11313 0000 F0B5 push {r4, r5, r6, r7, lr} 11314 .LCFI157: 11315 .cfi_def_cfa_offset 20 11316 .cfi_offset 4, -20 11317 .cfi_offset 5, -16 11318 .cfi_offset 6, -12 11319 .cfi_offset 7, -8 11320 .cfi_offset 14, -4 11321 0002 1546 mov r5, r2 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11322 .loc 1 4345 3 view .LVU4174 11323 0004 33F08072 bics r2, r3, #16777216 11324 .LVL722: 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11325 .loc 1 4339 1 view .LVU4175 11326 0008 83B0 sub sp, sp, #12 11327 .LCFI158: 11328 .cfi_def_cfa_offset 32 4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11329 .loc 1 4339 1 view .LVU4176 11330 000a 0446 mov r4, r0 11331 000c 0E46 mov r6, r1 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11332 .loc 1 4345 3 view .LVU4177 11333 000e 0ED0 beq .L927 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11334 .loc 1 4345 3 discriminator 2 view .LVU4178 11335 0010 B3F1007F cmp r3, #33554432 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 403 11336 0014 0BD0 beq .L927 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11337 .loc 1 4345 3 discriminator 4 view .LVU4179 11338 0016 AA2B cmp r3, #170 11339 0018 09D0 beq .L927 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11340 .loc 1 4345 3 discriminator 5 view .LVU4180 11341 001a B3F52A4F cmp r3, #43520 11342 001e 06D0 beq .L927 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11343 .loc 1 4345 3 discriminator 6 view .LVU4181 11344 0020 6C48 ldr r0, .L979 11345 .LVL723: 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11346 .loc 1 4345 3 discriminator 6 view .LVU4182 11347 0022 0193 str r3, [sp, #4] 11348 0024 41F2F901 movw r1, #4345 11349 .LVL724: 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11350 .loc 1 4345 3 discriminator 6 view .LVU4183 11351 0028 FFF7FEFF bl assert_failed 11352 .LVL725: 4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11353 .loc 1 4345 3 discriminator 6 view .LVU4184 11354 002c 019B ldr r3, [sp, #4] 11355 .LVL726: 11356 .L927: 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11357 .loc 1 4347 3 is_stmt 1 view .LVU4185 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11358 .loc 1 4347 22 is_stmt 0 view .LVU4186 11359 002e 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11360 .loc 1 4347 6 view .LVU4187 11361 0032 00F02800 and r0, r0, #40 11362 0036 2828 cmp r0, #40 11363 0038 59D1 bne .L946 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11364 .loc 1 4349 5 is_stmt 1 view .LVU4188 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11365 .loc 1 4349 8 is_stmt 0 view .LVU4189 11366 003a 002E cmp r6, #0 11367 003c 5AD0 beq .L929 4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11368 .loc 1 4349 25 discriminator 1 view .LVU4190 11369 003e 002D cmp r5, #0 11370 0040 58D0 beq .L929 4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11371 .loc 1 4356 5 is_stmt 1 view .LVU4191 11372 .LVL727: 11373 .LBB476: 11374 .LBI476: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11375 .loc 1 7451 13 view .LVU4192 11376 .LBB477: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11377 .loc 1 7453 3 view .LVU4193 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 404 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11378 .loc 1 7455 3 view .LVU4194 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11379 .loc 1 7467 3 view .LVU4195 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11380 .loc 1 7470 5 view .LVU4196 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11381 .loc 1 7472 5 view .LVU4197 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11382 .loc 1 7506 3 is_stmt 0 view .LVU4198 11383 0042 2168 ldr r1, [r4] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11384 .loc 1 7472 24 view .LVU4199 11385 0044 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 11386 .LVL728: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11387 .loc 1 7479 3 is_stmt 1 view .LVU4200 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11388 .loc 1 7482 5 view .LVU4201 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11389 .loc 1 7485 3 view .LVU4202 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11390 .loc 1 7491 3 view .LVU4203 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11391 .loc 1 7497 3 view .LVU4204 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11392 .loc 1 7506 3 view .LVU4205 11393 0048 0A68 ldr r2, [r1] 11394 004a 22F0FC02 bic r2, r2, #252 11395 004e 0A60 str r2, [r1] 11396 .LVL729: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11397 .loc 1 7506 3 is_stmt 0 view .LVU4206 11398 .LBE477: 11399 .LBE476: 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11400 .loc 1 4359 5 is_stmt 1 view .LVU4207 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11401 .loc 1 4359 5 view .LVU4208 11402 0050 94F84020 ldrb r2, [r4, #64] @ zero_extendqisi2 11403 0054 012A cmp r2, #1 11404 0056 00F0A480 beq .L947 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11405 .loc 1 4359 5 discriminator 2 view .LVU4209 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11406 .loc 1 4363 13 is_stmt 0 discriminator 2 view .LVU4210 11407 005a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11408 .loc 1 4359 5 discriminator 2 view .LVU4211 11409 005e 0120 movs r0, #1 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11410 .loc 1 4363 8 discriminator 2 view .LVU4212 11411 0060 292A cmp r2, #41 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11412 .loc 1 4359 5 discriminator 2 view .LVU4213 11413 0062 84F84000 strb r0, [r4, #64] 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 405 11414 .loc 1 4359 5 is_stmt 1 discriminator 2 view .LVU4214 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11415 .loc 1 4363 5 discriminator 2 view .LVU4215 11416 .LBB478: 11417 .LBB479: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11418 .loc 1 7460 24 is_stmt 0 discriminator 2 view .LVU4216 11419 0066 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 11420 .LBE479: 11421 .LBE478: 4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11422 .loc 1 4363 8 discriminator 2 view .LVU4217 11423 006a 56D0 beq .L977 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11424 .loc 1 4388 10 is_stmt 1 view .LVU4218 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11425 .loc 1 4388 13 is_stmt 0 view .LVU4219 11426 006c 2A2A cmp r2, #42 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11427 .loc 1 4388 18 view .LVU4220 11428 006e D7B2 uxtb r7, r2 4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11429 .loc 1 4388 13 view .LVU4221 11430 0070 00F09980 beq .L937 11431 .L974: 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11432 .loc 1 4429 13 view .LVU4222 11433 0074 E06B ldr r0, [r4, #60] 11434 .L934: 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11435 .loc 1 4413 5 is_stmt 1 view .LVU4223 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 11436 .loc 1 4415 5 view .LVU4224 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 11437 .loc 1 4415 21 is_stmt 0 view .LVU4225 11438 0076 2A22 movs r2, #42 11439 0078 84F84120 strb r2, [r4, #65] 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11440 .loc 1 4416 5 is_stmt 1 view .LVU4226 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11441 .loc 1 4417 21 is_stmt 0 view .LVU4227 11442 007c 0027 movs r7, #0 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11443 .loc 1 4416 21 view .LVU4228 11444 007e 2022 movs r2, #32 11445 0080 84F84220 strb r2, [r4, #66] 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11446 .loc 1 4417 5 is_stmt 1 view .LVU4229 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11447 .loc 1 4417 21 is_stmt 0 view .LVU4230 11448 0084 6764 str r7, [r4, #68] 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11449 .loc 1 4420 5 is_stmt 1 view .LVU4231 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11450 .loc 1 4420 25 is_stmt 0 view .LVU4232 11451 0086 4A68 ldr r2, [r1, #4] 11452 0088 22F40042 bic r2, r2, #32768 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 406 11453 008c 4A60 str r2, [r1, #4] 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11454 .loc 1 4423 5 is_stmt 1 view .LVU4233 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11455 .loc 1 4424 23 is_stmt 0 view .LVU4234 11456 008e 6585 strh r5, [r4, #42] @ movhi 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11457 .loc 1 4425 29 view .LVU4235 11458 0090 628D ldrh r2, [r4, #42] 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 11459 .loc 1 4426 23 view .LVU4236 11460 0092 E362 str r3, [r4, #44] 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11461 .loc 1 4425 29 view .LVU4237 11462 0094 93B2 uxth r3, r2 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11463 .loc 1 4427 23 view .LVU4238 11464 0096 504A ldr r2, .L979+4 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11465 .loc 1 4423 23 view .LVU4239 11466 0098 6662 str r6, [r4, #36] 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11467 .loc 1 4424 5 is_stmt 1 view .LVU4240 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11468 .loc 1 4425 5 view .LVU4241 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11469 .loc 1 4425 23 is_stmt 0 view .LVU4242 11470 009a 2385 strh r3, [r4, #40] @ movhi 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 11471 .loc 1 4426 5 is_stmt 1 view .LVU4243 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11472 .loc 1 4427 5 view .LVU4244 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11473 .loc 1 4427 23 is_stmt 0 view .LVU4245 11474 009c 6263 str r2, [r4, #52] 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11475 .loc 1 4429 5 is_stmt 1 view .LVU4246 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11476 .loc 1 4429 8 is_stmt 0 view .LVU4247 11477 009e 0028 cmp r0, #0 11478 00a0 71D0 beq .L941 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11479 .loc 1 4432 7 is_stmt 1 view .LVU4248 4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11480 .loc 1 4432 38 is_stmt 0 view .LVU4249 11481 00a2 4E4D ldr r5, .L979+8 11482 00a4 8562 str r5, [r0, #40] 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11483 .loc 1 4435 7 is_stmt 1 view .LVU4250 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11484 .loc 1 4435 39 is_stmt 0 view .LVU4251 11485 00a6 4E4D ldr r5, .L979+12 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 11486 .loc 1 4438 42 view .LVU4252 11487 00a8 C762 str r7, [r0, #44] 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11488 .loc 1 4439 39 view .LVU4253 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 407 11489 00aa 4763 str r7, [r0, #52] 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 11490 .loc 1 4442 23 view .LVU4254 11491 00ac 3246 mov r2, r6 11492 00ae 2431 adds r1, r1, #36 4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11493 .loc 1 4435 39 view .LVU4255 11494 00b0 0563 str r5, [r0, #48] 4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL; 11495 .loc 1 4438 7 is_stmt 1 view .LVU4256 4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11496 .loc 1 4439 7 view .LVU4257 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 11497 .loc 1 4442 7 view .LVU4258 4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (uint32_t)pData, hi2c->XferSize); 11498 .loc 1 4442 23 is_stmt 0 view .LVU4259 11499 00b2 FFF7FEFF bl HAL_DMA_Start_IT 11500 .LVL730: 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11501 .loc 1 4460 5 is_stmt 1 view .LVU4260 4460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11502 .loc 1 4460 8 is_stmt 0 view .LVU4261 11503 00b6 18BB cbnz r0, .L978 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11504 .loc 1 4463 7 is_stmt 1 view .LVU4262 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11505 .loc 1 4463 23 is_stmt 0 view .LVU4263 11506 00b8 628D ldrh r2, [r4, #42] 11507 00ba 218D ldrh r1, [r4, #40] 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 11508 .loc 1 4483 11 view .LVU4264 11509 00bc 2368 ldr r3, [r4] 4463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11510 .loc 1 4463 23 view .LVU4265 11511 00be 521A subs r2, r2, r1 11512 00c0 92B2 uxth r2, r2 11513 00c2 6285 strh r2, [r4, #42] @ movhi 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11514 .loc 1 4466 7 is_stmt 1 view .LVU4266 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 11515 .loc 1 4483 11 is_stmt 0 view .LVU4267 11516 00c4 9969 ldr r1, [r3, #24] 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11517 .loc 1 4484 10 view .LVU4268 11518 00c6 9A69 ldr r2, [r3, #24] 4466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11519 .loc 1 4466 22 view .LVU4269 11520 00c8 2085 strh r0, [r4, #40] @ movhi 4483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if ((I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT) && (tmp != RESET)) 11521 .loc 1 4483 5 is_stmt 1 view .LVU4270 11522 .LVL731: 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11523 .loc 1 4484 5 view .LVU4271 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11524 .loc 1 4484 8 is_stmt 0 view .LVU4272 11525 00ca D503 lsls r5, r2, #15 11526 00cc 03D4 bmi .L945 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 408 4484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11527 .loc 1 4484 55 discriminator 1 view .LVU4273 11528 00ce 0A07 lsls r2, r1, #28 4488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11529 .loc 1 4488 7 is_stmt 1 discriminator 1 view .LVU4274 11530 00d0 44BF itt mi 11531 00d2 0822 movmi r2, #8 11532 00d4 DA61 strmi r2, [r3, #28] 11533 .L945: 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11534 .loc 1 4492 5 view .LVU4275 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11535 .loc 1 4492 5 view .LVU4276 11536 00d6 0022 movs r2, #0 11537 00d8 84F84020 strb r2, [r4, #64] 4492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11538 .loc 1 4492 5 view .LVU4277 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11539 .loc 1 4495 5 view .LVU4278 4495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11540 .loc 1 4495 25 is_stmt 0 view .LVU4279 11541 00dc 1A68 ldr r2, [r3] 11542 00de 42F40042 orr r2, r2, #32768 11543 00e2 1A60 str r2, [r3] 4501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11544 .loc 1 4501 5 is_stmt 1 view .LVU4280 11545 .LVL732: 11546 .LBB481: 11547 .LBI481: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11548 .loc 1 7360 13 view .LVU4281 11549 .LBB482: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11550 .loc 1 7362 3 view .LVU4282 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 11551 .loc 1 7364 3 view .LVU4283 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11552 .loc 1 7441 3 view .LVU4284 11553 00e4 1A68 ldr r2, [r3] 11554 00e6 42F0FC02 orr r2, r2, #252 11555 00ea 1A60 str r2, [r3] 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11556 .loc 1 7442 1 is_stmt 0 view .LVU4285 11557 00ec 00E0 b .L970 11558 .LVL733: 11559 .L946: 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11560 .loc 1 7442 1 view .LVU4286 11561 .LBE482: 11562 .LBE481: 4507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11563 .loc 1 4507 12 view .LVU4287 11564 00ee 0120 movs r0, #1 11565 .L970: 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11566 .loc 1 4509 1 view .LVU4288 11567 00f0 03B0 add sp, sp, #12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 409 11568 .LCFI159: 11569 .cfi_remember_state 11570 .cfi_def_cfa_offset 20 11571 @ sp needed 11572 00f2 F0BD pop {r4, r5, r6, r7, pc} 11573 .LVL734: 11574 .L929: 11575 .LCFI160: 11576 .cfi_restore_state 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11577 .loc 1 4351 7 is_stmt 1 view .LVU4289 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11578 .loc 1 4351 23 is_stmt 0 view .LVU4290 11579 00f4 4FF40073 mov r3, #512 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11580 .loc 1 4352 15 view .LVU4291 11581 00f8 0120 movs r0, #1 4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return HAL_ERROR; 11582 .loc 1 4351 23 view .LVU4292 11583 00fa 6364 str r3, [r4, #68] 4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11584 .loc 1 4352 7 is_stmt 1 view .LVU4293 4509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11585 .loc 1 4509 1 is_stmt 0 view .LVU4294 11586 00fc 03B0 add sp, sp, #12 11587 .LCFI161: 11588 .cfi_remember_state 11589 .cfi_def_cfa_offset 20 11590 @ sp needed 11591 00fe F0BD pop {r4, r5, r6, r7, pc} 11592 .LVL735: 11593 .L978: 11594 .LCFI162: 11595 .cfi_restore_state 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11596 .loc 1 4471 7 is_stmt 1 view .LVU4295 4471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11597 .loc 1 4471 23 is_stmt 0 view .LVU4296 11598 0100 2823 movs r3, #40 11599 0102 84F84130 strb r3, [r4, #65] 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11600 .loc 1 4472 7 is_stmt 1 view .LVU4297 4472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11601 .loc 1 4472 23 is_stmt 0 view .LVU4298 11602 0106 84F84270 strb r7, [r4, #66] 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11603 .loc 1 4475 7 is_stmt 1 view .LVU4299 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11604 .loc 1 4475 23 is_stmt 0 view .LVU4300 11605 010a 636C ldr r3, [r4, #68] 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11606 .loc 1 4478 7 view .LVU4301 11607 010c 84F84070 strb r7, [r4, #64] 4475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11608 .loc 1 4475 23 view .LVU4302 11609 0110 43F01003 orr r3, r3, #16 11610 0114 6364 str r3, [r4, #68] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 410 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11611 .loc 1 4478 7 is_stmt 1 view .LVU4303 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11612 .loc 1 4478 7 view .LVU4304 4478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11613 .loc 1 4478 7 view .LVU4305 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11614 .loc 1 4480 7 view .LVU4306 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11615 .loc 1 4480 14 is_stmt 0 view .LVU4307 11616 0116 0120 movs r0, #1 11617 .LVL736: 4480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11618 .loc 1 4480 14 view .LVU4308 11619 0118 EAE7 b .L970 11620 .L977: 4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11621 .loc 1 4366 7 is_stmt 1 view .LVU4309 11622 .LVL737: 11623 .LBB483: 11624 .LBI478: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11625 .loc 1 7451 13 view .LVU4310 11626 .LBB480: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11627 .loc 1 7453 3 view .LVU4311 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11628 .loc 1 7455 3 view .LVU4312 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11629 .loc 1 7458 5 view .LVU4313 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11630 .loc 1 7460 5 view .LVU4314 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11631 .loc 1 7460 8 is_stmt 0 view .LVU4315 11632 011a 02F02802 and r2, r2, #40 11633 011e 282A cmp r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11634 .loc 1 7506 3 view .LVU4316 11635 0120 0A68 ldr r2, [r1] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11636 .loc 1 7460 8 view .LVU4317 11637 0122 0CBF ite eq 11638 0124 6FF04200 mvneq r0, #66 11639 0128 6FF0F200 mvnne r0, #242 11640 .LVL738: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11641 .loc 1 7467 3 is_stmt 1 view .LVU4318 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11642 .loc 1 7479 3 view .LVU4319 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11643 .loc 1 7485 3 view .LVU4320 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11644 .loc 1 7491 3 view .LVU4321 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11645 .loc 1 7497 3 view .LVU4322 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11646 .loc 1 7506 3 view .LVU4323 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 411 11647 012c 0240 ands r2, r2, r0 11648 012e 0A60 str r2, [r1] 11649 .LVL739: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11650 .loc 1 7506 3 is_stmt 0 view .LVU4324 11651 .LBE480: 11652 .LBE483: 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11653 .loc 1 4368 7 is_stmt 1 view .LVU4325 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11654 .loc 1 4368 26 is_stmt 0 view .LVU4326 11655 0130 0A68 ldr r2, [r1] 4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11656 .loc 1 4368 10 view .LVU4327 11657 0132 5004 lsls r0, r2, #17 11658 0134 9ED5 bpl .L974 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11659 .loc 1 4371 9 is_stmt 1 view .LVU4328 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11660 .loc 1 4371 17 is_stmt 0 view .LVU4329 11661 0136 A06B ldr r0, [r4, #56] 4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11662 .loc 1 4371 12 view .LVU4330 11663 0138 0028 cmp r0, #0 11664 013a 9BD0 beq .L974 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11665 .loc 1 4373 11 is_stmt 1 view .LVU4331 4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11666 .loc 1 4373 31 is_stmt 0 view .LVU4332 11667 013c 0A68 ldr r2, [r1] 11668 013e 0193 str r3, [sp, #4] 11669 0140 22F48042 bic r2, r2, #16384 11670 0144 0A60 str r2, [r1] 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11671 .loc 1 4377 11 is_stmt 1 view .LVU4333 4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11672 .loc 1 4377 43 is_stmt 0 view .LVU4334 11673 0146 274A ldr r2, .L979+16 11674 0148 4263 str r2, [r0, #52] 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11675 .loc 1 4380 11 is_stmt 1 view .LVU4335 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11676 .loc 1 4380 15 is_stmt 0 view .LVU4336 11677 014a FFF7FEFF bl HAL_DMA_Abort_IT 11678 .LVL740: 4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11679 .loc 1 4380 14 view .LVU4337 11680 014e 019B ldr r3, [sp, #4] 11681 0150 0028 cmp r0, #0 11682 0152 3DD0 beq .L976 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11683 .loc 1 4383 17 view .LVU4338 11684 0154 A06B ldr r0, [r4, #56] 11685 0156 0193 str r3, [sp, #4] 4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11686 .loc 1 4383 13 is_stmt 1 view .LVU4339 11687 .L975: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 412 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11688 .loc 1 4405 13 is_stmt 0 view .LVU4340 11689 0158 426B ldr r2, [r0, #52] 11690 015a 9047 blx r2 11691 .LVL741: 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11692 .loc 1 4420 9 view .LVU4341 11693 015c 2168 ldr r1, [r4] 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11694 .loc 1 4429 13 view .LVU4342 11695 015e E06B ldr r0, [r4, #60] 11696 0160 019B ldr r3, [sp, #4] 11697 0162 88E7 b .L934 11698 .L939: 4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11699 .loc 1 4413 5 is_stmt 1 view .LVU4343 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 11700 .loc 1 4415 5 view .LVU4344 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11701 .loc 1 4416 21 is_stmt 0 view .LVU4345 11702 0164 2022 movs r2, #32 4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE; 11703 .loc 1 4415 21 view .LVU4346 11704 0166 84F84170 strb r7, [r4, #65] 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11705 .loc 1 4416 5 is_stmt 1 view .LVU4347 4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE; 11706 .loc 1 4416 21 is_stmt 0 view .LVU4348 11707 016a 84F84220 strb r2, [r4, #66] 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11708 .loc 1 4417 5 is_stmt 1 view .LVU4349 4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11709 .loc 1 4417 21 is_stmt 0 view .LVU4350 11710 016e 6064 str r0, [r4, #68] 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11711 .loc 1 4420 5 is_stmt 1 view .LVU4351 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11712 .loc 1 4420 25 is_stmt 0 view .LVU4352 11713 0170 4A68 ldr r2, [r1, #4] 11714 0172 22F40042 bic r2, r2, #32768 11715 0176 4A60 str r2, [r1, #4] 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11716 .loc 1 4423 5 is_stmt 1 view .LVU4353 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11717 .loc 1 4424 23 is_stmt 0 view .LVU4354 11718 0178 6585 strh r5, [r4, #42] @ movhi 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11719 .loc 1 4425 29 view .LVU4355 11720 017a 618D ldrh r1, [r4, #42] 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11721 .loc 1 4427 23 view .LVU4356 11722 017c 164A ldr r2, .L979+4 4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = Size; 11723 .loc 1 4423 23 view .LVU4357 11724 017e 6662 str r6, [r4, #36] 4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount; 11725 .loc 1 4424 5 is_stmt 1 view .LVU4358 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 413 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11726 .loc 1 4425 5 view .LVU4359 4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = XferOptions; 11727 .loc 1 4425 23 is_stmt 0 view .LVU4360 11728 0180 2185 strh r1, [r4, #40] @ movhi 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 11729 .loc 1 4426 5 is_stmt 1 view .LVU4361 4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA; 11730 .loc 1 4426 23 is_stmt 0 view .LVU4362 11731 0182 E362 str r3, [r4, #44] 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11732 .loc 1 4427 5 is_stmt 1 view .LVU4363 4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11733 .loc 1 4427 23 is_stmt 0 view .LVU4364 11734 0184 6263 str r2, [r4, #52] 4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11735 .loc 1 4429 5 is_stmt 1 view .LVU4365 11736 .L941: 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11737 .loc 1 4448 7 view .LVU4366 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11738 .loc 1 4449 23 is_stmt 0 view .LVU4367 11739 0186 0022 movs r2, #0 4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11740 .loc 1 4448 23 view .LVU4368 11741 0188 2823 movs r3, #40 11742 018a 84F84130 strb r3, [r4, #65] 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11743 .loc 1 4449 7 is_stmt 1 view .LVU4369 4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11744 .loc 1 4449 23 is_stmt 0 view .LVU4370 11745 018e 84F84220 strb r2, [r4, #66] 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11746 .loc 1 4452 7 is_stmt 1 view .LVU4371 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11747 .loc 1 4452 23 is_stmt 0 view .LVU4372 11748 0192 636C ldr r3, [r4, #68] 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11749 .loc 1 4455 7 view .LVU4373 11750 0194 84F84020 strb r2, [r4, #64] 4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11751 .loc 1 4452 23 view .LVU4374 11752 0198 43F08003 orr r3, r3, #128 11753 019c 6364 str r3, [r4, #68] 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11754 .loc 1 4455 7 is_stmt 1 view .LVU4375 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11755 .loc 1 4455 7 view .LVU4376 4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11756 .loc 1 4455 7 view .LVU4377 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11757 .loc 1 4457 7 view .LVU4378 4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11758 .loc 1 4457 14 is_stmt 0 view .LVU4379 11759 019e 0120 movs r0, #1 11760 01a0 A6E7 b .L970 11761 .L947: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 414 4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11762 .loc 1 4359 5 view .LVU4380 11763 01a2 0220 movs r0, #2 11764 01a4 A4E7 b .L970 11765 .L937: 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11766 .loc 1 4390 7 is_stmt 1 view .LVU4381 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11767 .loc 1 4390 26 is_stmt 0 view .LVU4382 11768 01a6 0A68 ldr r2, [r1] 4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11769 .loc 1 4390 10 view .LVU4383 11770 01a8 1204 lsls r2, r2, #16 11771 01aa 7FF563AF bpl .L974 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11772 .loc 1 4392 9 is_stmt 1 view .LVU4384 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11773 .loc 1 4392 29 is_stmt 0 view .LVU4385 11774 01ae 0A68 ldr r2, [r1] 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11775 .loc 1 4395 17 view .LVU4386 11776 01b0 E06B ldr r0, [r4, #60] 4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11777 .loc 1 4392 29 view .LVU4387 11778 01b2 22F40042 bic r2, r2, #32768 11779 01b6 0A60 str r2, [r1] 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11780 .loc 1 4395 9 is_stmt 1 view .LVU4388 4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11781 .loc 1 4395 12 is_stmt 0 view .LVU4389 11782 01b8 0028 cmp r0, #0 11783 01ba D3D0 beq .L939 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11784 .loc 1 4399 11 is_stmt 1 view .LVU4390 4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11785 .loc 1 4399 43 is_stmt 0 view .LVU4391 11786 01bc 094A ldr r2, .L979+16 11787 01be 4263 str r2, [r0, #52] 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11788 .loc 1 4402 11 is_stmt 1 view .LVU4392 11789 01c0 0193 str r3, [sp, #4] 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11790 .loc 1 4402 15 is_stmt 0 view .LVU4393 11791 01c2 FFF7FEFF bl HAL_DMA_Abort_IT 11792 .LVL742: 4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11793 .loc 1 4402 14 view .LVU4394 11794 01c6 019B ldr r3, [sp, #4] 11795 01c8 10B1 cbz r0, .L976 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11796 .loc 1 4405 17 view .LVU4395 11797 01ca E06B ldr r0, [r4, #60] 11798 01cc 0193 str r3, [sp, #4] 4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11799 .loc 1 4405 13 is_stmt 1 view .LVU4396 11800 01ce C3E7 b .L975 11801 .L976: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 415 4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11802 .loc 1 4420 9 is_stmt 0 view .LVU4397 11803 01d0 2168 ldr r1, [r4] 11804 01d2 4FE7 b .L974 11805 .L980: 11806 .align 2 11807 .L979: 11808 01d4 00000000 .word .LC0 11809 01d8 00000000 .word I2C_Slave_ISR_DMA 11810 01dc 00000000 .word I2C_DMASlaveReceiveCplt 11811 01e0 00000000 .word I2C_DMAError 11812 01e4 00000000 .word I2C_DMAAbort 11813 .cfi_endproc 11814 .LFE160: 11816 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits 11817 .align 1 11818 .p2align 2,,3 11819 .global HAL_I2C_EnableListen_IT 11820 .syntax unified 11821 .thumb 11822 .thumb_func 11824 HAL_I2C_EnableListen_IT: 11825 .LVL743: 11826 .LFB161: 4518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY) 11827 .loc 1 4518 1 is_stmt 1 view -0 11828 .cfi_startproc 11829 @ args = 0, pretend = 0, frame = 0 11830 @ frame_needed = 0, uses_anonymous_args = 0 11831 @ link register save eliminated. 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11832 .loc 1 4519 3 view .LVU4399 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11833 .loc 1 4519 11 is_stmt 0 view .LVU4400 11834 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 4519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11835 .loc 1 4519 6 view .LVU4401 11836 0004 202B cmp r3, #32 11837 0006 01D0 beq .L984 4531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11838 .loc 1 4531 12 view .LVU4402 11839 0008 0220 movs r0, #2 11840 .LVL744: 4533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11841 .loc 1 4533 1 view .LVU4403 11842 000a 7047 bx lr 11843 .LVL745: 11844 .L984: 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 11845 .loc 1 4521 5 is_stmt 1 view .LVU4404 11846 .LBB486: 11847 .LBB487: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11848 .loc 1 7441 3 is_stmt 0 view .LVU4405 11849 000c 0268 ldr r2, [r0] 11850 .LBE487: 11851 .LBE486: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 416 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11852 .loc 1 4522 19 view .LVU4406 11853 000e 0549 ldr r1, .L985 4521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 11854 .loc 1 4521 17 view .LVU4407 11855 0010 2823 movs r3, #40 11856 0012 80F84130 strb r3, [r0, #65] 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11857 .loc 1 4522 5 is_stmt 1 view .LVU4408 11858 .LBB492: 11859 .LBB488: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11860 .loc 1 7441 3 is_stmt 0 view .LVU4409 11861 0016 1368 ldr r3, [r2] 11862 .LBE488: 11863 .LBE492: 4522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11864 .loc 1 4522 19 view .LVU4410 11865 0018 4163 str r1, [r0, #52] 11866 .LBB493: 11867 .LBB489: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11868 .loc 1 7441 3 view .LVU4411 11869 001a 43F0B803 orr r3, r3, #184 11870 .LBE489: 11871 .LBE493: 4525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11872 .loc 1 4525 5 is_stmt 1 view .LVU4412 11873 .LVL746: 11874 .LBB494: 11875 .LBI486: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11876 .loc 1 7360 13 view .LVU4413 11877 .LBB490: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11878 .loc 1 7362 3 view .LVU4414 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 11879 .loc 1 7364 3 view .LVU4415 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11880 .loc 1 7441 3 view .LVU4416 11881 .LBE490: 11882 .LBE494: 4527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11883 .loc 1 4527 12 is_stmt 0 view .LVU4417 11884 001e 0020 movs r0, #0 11885 .LVL747: 11886 .LBB495: 11887 .LBB491: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11888 .loc 1 7441 3 view .LVU4418 11889 0020 1360 str r3, [r2] 7442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11890 .loc 1 7442 1 view .LVU4419 11891 0022 7047 bx lr 11892 .L986: 11893 .align 2 11894 .L985: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 417 11895 0024 00000000 .word I2C_Slave_ISR_IT 11896 .LBE491: 11897 .LBE495: 11898 .cfi_endproc 11899 .LFE161: 11901 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits 11902 .align 1 11903 .p2align 2,,3 11904 .global HAL_I2C_DisableListen_IT 11905 .syntax unified 11906 .thumb 11907 .thumb_func 11909 HAL_I2C_DisableListen_IT: 11910 .LVL748: 11911 .LFB162: 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11912 .loc 1 4542 1 is_stmt 1 view -0 11913 .cfi_startproc 11914 @ args = 0, pretend = 0, frame = 0 11915 @ frame_needed = 0, uses_anonymous_args = 0 11916 @ link register save eliminated. 4544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11917 .loc 1 4544 3 view .LVU4421 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11918 .loc 1 4547 3 view .LVU4422 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11919 .loc 1 4547 11 is_stmt 0 view .LVU4423 11920 0000 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 4547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11921 .loc 1 4547 6 view .LVU4424 11922 0004 282B cmp r3, #40 11923 0006 01D0 beq .L994 4562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11924 .loc 1 4562 12 view .LVU4425 11925 0008 0220 movs r0, #2 11926 .LVL749: 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11927 .loc 1 4564 1 view .LVU4426 11928 000a 7047 bx lr 11929 .LVL750: 11930 .L994: 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 11931 .loc 1 4549 5 is_stmt 1 view .LVU4427 4542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */ 11932 .loc 1 4542 1 is_stmt 0 view .LVU4428 11933 000c 10B4 push {r4} 11934 .LCFI163: 11935 .cfi_def_cfa_offset 4 11936 .cfi_offset 4, -4 4549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode); 11937 .loc 1 4549 26 view .LVU4429 11938 000e 90F84110 ldrb r1, [r0, #65] @ zero_extendqisi2 11939 .LVL751: 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11940 .loc 1 4550 5 is_stmt 1 view .LVU4430 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11941 .loc 1 4550 48 is_stmt 0 view .LVU4431 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 418 11942 0012 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 11943 .LBB496: 11944 .LBB497: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11945 .loc 1 7506 3 view .LVU4432 11946 0016 0468 ldr r4, [r0] 11947 .LBE497: 11948 .LBE496: 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11949 .loc 1 4550 31 view .LVU4433 11950 0018 01F00301 and r1, r1, #3 11951 .LVL752: 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 11952 .loc 1 4552 16 view .LVU4434 11953 001c 0023 movs r3, #0 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11954 .loc 1 4550 31 view .LVU4435 11955 001e 0A43 orrs r2, r2, r1 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11956 .loc 1 4551 17 view .LVU4436 11957 0020 2021 movs r1, #32 4550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 11958 .loc 1 4550 25 view .LVU4437 11959 0022 0263 str r2, [r0, #48] 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11960 .loc 1 4551 5 is_stmt 1 view .LVU4438 4551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 11961 .loc 1 4551 17 is_stmt 0 view .LVU4439 11962 0024 80F84110 strb r1, [r0, #65] 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 11963 .loc 1 4552 5 is_stmt 1 view .LVU4440 4552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 11964 .loc 1 4552 16 is_stmt 0 view .LVU4441 11965 0028 80F84230 strb r3, [r0, #66] 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11966 .loc 1 4553 5 is_stmt 1 view .LVU4442 11967 .LBB500: 11968 .LBB498: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11969 .loc 1 7506 3 is_stmt 0 view .LVU4443 11970 002c 2268 ldr r2, [r4] 11971 .LBE498: 11972 .LBE500: 4553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11973 .loc 1 4553 19 view .LVU4444 11974 002e 4363 str r3, [r0, #52] 4556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11975 .loc 1 4556 5 is_stmt 1 view .LVU4445 11976 .LVL753: 11977 .LBB501: 11978 .LBI496: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11979 .loc 1 7451 13 view .LVU4446 11980 .LBB499: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 11981 .loc 1 7453 3 view .LVU4447 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 419 11982 .loc 1 7455 3 view .LVU4448 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11983 .loc 1 7467 3 view .LVU4449 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11984 .loc 1 7479 3 view .LVU4450 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11985 .loc 1 7482 5 view .LVU4451 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11986 .loc 1 7485 3 view .LVU4452 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11987 .loc 1 7491 3 view .LVU4453 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 11988 .loc 1 7497 3 view .LVU4454 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11989 .loc 1 7506 3 view .LVU4455 11990 0030 22F0B802 bic r2, r2, #184 11991 0034 2260 str r2, [r4] 11992 .LVL754: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11993 .loc 1 7506 3 is_stmt 0 view .LVU4456 11994 .LBE499: 11995 .LBE501: 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11996 .loc 1 4558 5 is_stmt 1 view .LVU4457 4558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 11997 .loc 1 4558 12 is_stmt 0 view .LVU4458 11998 0036 1846 mov r0, r3 11999 .LVL755: 4564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12000 .loc 1 4564 1 view .LVU4459 12001 0038 5DF8044B ldr r4, [sp], #4 12002 .LCFI164: 12003 .cfi_restore 4 12004 .cfi_def_cfa_offset 0 12005 003c 7047 bx lr 12006 .cfi_endproc 12007 .LFE162: 12009 003e 00BF .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits 12010 .align 1 12011 .p2align 2,,3 12012 .global HAL_I2C_Master_Abort_IT 12013 .syntax unified 12014 .thumb 12015 .thumb_func 12017 HAL_I2C_Master_Abort_IT: 12018 .LVL756: 12019 .LFB163: 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode; 12020 .loc 1 4575 1 is_stmt 1 view -0 12021 .cfi_startproc 12022 @ args = 0, pretend = 0, frame = 0 12023 @ frame_needed = 0, uses_anonymous_args = 0 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12024 .loc 1 4576 3 view .LVU4461 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode; 12025 .loc 1 4575 1 is_stmt 0 view .LVU4462 12026 0000 70B5 push {r4, r5, r6, lr} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 420 12027 .LCFI165: 12028 .cfi_def_cfa_offset 16 12029 .cfi_offset 4, -16 12030 .cfi_offset 5, -12 12031 .cfi_offset 6, -8 12032 .cfi_offset 14, -4 4576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12033 .loc 1 4576 23 view .LVU4463 12034 0002 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12035 .loc 1 4578 6 view .LVU4464 12036 0006 102A cmp r2, #16 4575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_ModeTypeDef tmp_mode = hi2c->Mode; 12037 .loc 1 4575 1 view .LVU4465 12038 0008 0446 mov r4, r0 12039 000a 0D46 mov r5, r1 12040 .LVL757: 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12041 .loc 1 4578 3 is_stmt 1 view .LVU4466 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12042 .loc 1 4578 6 is_stmt 0 view .LVU4467 12043 000c 02D0 beq .L996 12044 000e D3B2 uxtb r3, r2 4578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12045 .loc 1 4578 41 discriminator 1 view .LVU4468 12046 0010 402B cmp r3, #64 12047 0012 3ED1 bne .L1005 12048 .L996: 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12049 .loc 1 4581 5 is_stmt 1 view .LVU4469 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12050 .loc 1 4581 5 view .LVU4470 12051 0014 94F84030 ldrb r3, [r4, #64] @ zero_extendqisi2 12052 0018 012B cmp r3, #1 12053 001a 4FD0 beq .L1006 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12054 .loc 1 4581 5 discriminator 2 view .LVU4471 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12055 .loc 1 4584 13 is_stmt 0 discriminator 2 view .LVU4472 12056 001c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12057 .loc 1 4581 5 discriminator 2 view .LVU4473 12058 0020 0122 movs r2, #1 12059 .LVL758: 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12060 .loc 1 4584 8 discriminator 2 view .LVU4474 12061 0022 212B cmp r3, #33 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12062 .loc 1 4581 5 discriminator 2 view .LVU4475 12063 0024 84F84020 strb r2, [r4, #64] 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12064 .loc 1 4581 5 is_stmt 1 discriminator 2 view .LVU4476 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12065 .loc 1 4584 5 discriminator 2 view .LVU4477 4584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12066 .loc 1 4584 8 is_stmt 0 discriminator 2 view .LVU4478 12067 0028 37D0 beq .L1016 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 421 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12068 .loc 1 4589 10 is_stmt 1 view .LVU4479 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12069 .loc 1 4589 18 is_stmt 0 view .LVU4480 12070 002a 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 4589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12071 .loc 1 4589 13 view .LVU4481 12072 002e 222B cmp r3, #34 12073 0030 46D0 beq .L1001 12074 .LBB510: 12075 .LBB511: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12076 .loc 1 7506 3 view .LVU4482 12077 0032 2668 ldr r6, [r4] 12078 .L1000: 12079 .LBE511: 12080 .LBE510: 4597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12081 .loc 1 4597 5 is_stmt 1 view .LVU4483 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12082 .loc 1 4600 5 view .LVU4484 12083 .LBB514: 12084 .LBB515: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 12085 .loc 1 7337 3 is_stmt 0 view .LVU4485 12086 0034 2B4B ldr r3, .L1017 12087 .LBE515: 12088 .LBE514: 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12089 .loc 1 4600 17 view .LVU4486 12090 0036 6022 movs r2, #96 12091 .LBB520: 12092 .LBB516: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 12093 .loc 1 7337 3 view .LVU4487 12094 0038 9E42 cmp r6, r3 12095 .LBE516: 12096 .LBE520: 4600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12097 .loc 1 4600 17 view .LVU4488 12098 003a 84F84120 strb r2, [r4, #65] 4604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12099 .loc 1 4604 5 is_stmt 1 view .LVU4489 12100 .LVL759: 12101 .LBB521: 12102 .LBI514: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 12103 .loc 1 7333 13 view .LVU4490 12104 .LBB517: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 12105 .loc 1 7337 3 view .LVU4491 12106 003e 09D0 beq .L1003 12107 0040 03F58063 add r3, r3, #1024 12108 0044 9E42 cmp r6, r3 12109 0046 05D0 beq .L1003 12110 0048 2748 ldr r0, .L1017+4 12111 .LVL760: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 422 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 12112 .loc 1 7337 3 is_stmt 0 view .LVU4492 12113 004a 41F6A941 movw r1, #7337 12114 .LVL761: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 12115 .loc 1 7337 3 view .LVU4493 12116 004e FFF7FEFF bl assert_failed 12117 .LVL762: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12118 .loc 1 7347 3 view .LVU4494 12119 0052 2668 ldr r6, [r4] 12120 .L1003: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 12121 .loc 1 7338 3 is_stmt 1 view .LVU4495 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12122 .loc 1 7339 3 view .LVU4496 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 12123 .loc 1 7342 3 view .LVU4497 12124 .LVL763: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12125 .loc 1 7347 3 view .LVU4498 12126 0054 7268 ldr r2, [r6, #4] 12127 0056 2549 ldr r1, .L1017+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 12128 .loc 1 7342 52 is_stmt 0 view .LVU4499 12129 0058 C5F30903 ubfx r3, r5, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12130 .loc 1 7347 3 view .LVU4500 12131 005c 1140 ands r1, r1, r2 12132 005e 0B43 orrs r3, r3, r1 12133 .LBE517: 12134 .LBE521: 12135 .LBB522: 12136 .LBB523: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12137 .loc 1 7364 12 view .LVU4501 12138 0060 626B ldr r2, [r4, #52] 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12139 .loc 1 7364 6 view .LVU4502 12140 0062 2349 ldr r1, .L1017+12 12141 .LBE523: 12142 .LBE522: 12143 .LBB528: 12144 .LBB518: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12145 .loc 1 7347 3 view .LVU4503 12146 0064 43F00073 orr r3, r3, #33554432 12147 0068 43F4A033 orr r3, r3, #81920 12148 .LBE518: 12149 .LBE528: 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12150 .loc 1 4607 5 view .LVU4504 12151 006c 0020 movs r0, #0 12152 .LBB529: 12153 .LBB524: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12154 .loc 1 7364 6 view .LVU4505 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 423 12155 006e 8A42 cmp r2, r1 12156 .LBE524: 12157 .LBE529: 12158 .LBB530: 12159 .LBB519: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12160 .loc 1 7347 3 view .LVU4506 12161 0070 7360 str r3, [r6, #4] 12162 .LVL764: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 12163 .loc 1 7347 3 view .LVU4507 12164 .LBE519: 12165 .LBE530: 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12166 .loc 1 4607 5 is_stmt 1 view .LVU4508 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12167 .loc 1 4607 5 view .LVU4509 12168 0072 84F84000 strb r0, [r4, #64] 4607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12169 .loc 1 4607 5 view .LVU4510 4612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12170 .loc 1 4612 5 view .LVU4511 12171 .LVL765: 12172 .LBB531: 12173 .LBI522: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12174 .loc 1 7360 13 view .LVU4512 12175 .LBB525: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12176 .loc 1 7362 3 view .LVU4513 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12177 .loc 1 7364 3 view .LVU4514 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12178 .loc 1 7364 6 is_stmt 0 view .LVU4515 12179 0076 0ED0 beq .L1010 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 12180 .loc 1 7364 45 view .LVU4516 12181 0078 1E4B ldr r3, .L1017+16 12182 007a 9A42 cmp r2, r3 12183 007c 0BD0 beq .L1010 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 12184 .loc 1 7365 44 view .LVU4517 12185 007e 1E4B ldr r3, .L1017+20 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12186 .loc 1 7395 14 view .LVU4518 12187 0080 9A42 cmp r2, r3 12188 0082 0CBF ite eq 12189 0084 6022 moveq r2, #96 12190 0086 2022 movne r2, #32 12191 .L1004: 12192 .LVL766: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12193 .loc 1 7441 3 is_stmt 1 view .LVU4519 12194 0088 3368 ldr r3, [r6] 12195 008a 1A43 orrs r2, r2, r3 12196 .LVL767: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 424 12197 .loc 1 7441 3 is_stmt 0 view .LVU4520 12198 .LBE525: 12199 .LBE531: 4614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12200 .loc 1 4614 12 view .LVU4521 12201 008c 0020 movs r0, #0 12202 .LBB532: 12203 .LBB526: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12204 .loc 1 7441 3 view .LVU4522 12205 008e 3260 str r2, [r6] 12206 .LVL768: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12207 .loc 1 7441 3 view .LVU4523 12208 .LBE526: 12209 .LBE532: 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12210 .loc 1 4622 1 view .LVU4524 12211 0090 70BD pop {r4, r5, r6, pc} 12212 .LVL769: 12213 .L1005: 4620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12214 .loc 1 4620 12 view .LVU4525 12215 0092 0120 movs r0, #1 12216 .LVL770: 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12217 .loc 1 4622 1 view .LVU4526 12218 0094 70BD pop {r4, r5, r6, pc} 12219 .LVL771: 12220 .L1010: 12221 .LBB533: 12222 .LBB527: 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12223 .loc 1 4622 1 view .LVU4527 12224 0096 6022 movs r2, #96 12225 0098 F6E7 b .L1004 12226 .LVL772: 12227 .L1016: 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12228 .loc 1 4622 1 view .LVU4528 12229 .LBE527: 12230 .LBE533: 4586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 12231 .loc 1 4586 7 is_stmt 1 view .LVU4529 12232 .LBB534: 12233 .LBI510: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12234 .loc 1 7451 13 view .LVU4530 12235 .LBB512: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12236 .loc 1 7453 3 view .LVU4531 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12237 .loc 1 7455 3 view .LVU4532 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12238 .loc 1 7458 5 view .LVU4533 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12239 .loc 1 7460 5 view .LVU4534 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 425 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12240 .loc 1 7460 24 is_stmt 0 view .LVU4535 12241 009a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12242 .loc 1 7506 3 view .LVU4536 12243 009e 2668 ldr r6, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12244 .loc 1 7460 8 view .LVU4537 12245 00a0 02F02802 and r2, r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12246 .loc 1 7506 3 view .LVU4538 12247 00a4 3368 ldr r3, [r6] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12248 .loc 1 7460 8 view .LVU4539 12249 00a6 282A cmp r2, #40 12250 00a8 0CBF ite eq 12251 00aa 6FF04202 mvneq r2, #66 12252 00ae 6FF0F202 mvnne r2, #242 12253 .LVL773: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12254 .loc 1 7467 3 is_stmt 1 view .LVU4540 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12255 .loc 1 7479 3 view .LVU4541 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12256 .loc 1 7485 3 view .LVU4542 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12257 .loc 1 7491 3 view .LVU4543 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12258 .loc 1 7497 3 view .LVU4544 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12259 .loc 1 7506 3 view .LVU4545 12260 00b2 1340 ands r3, r3, r2 12261 .LBE512: 12262 .LBE534: 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12263 .loc 1 4587 27 is_stmt 0 view .LVU4546 12264 00b4 1122 movs r2, #17 12265 .LBB535: 12266 .LBB513: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12267 .loc 1 7506 3 view .LVU4547 12268 00b6 3360 str r3, [r6] 12269 .LVL774: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12270 .loc 1 7506 3 view .LVU4548 12271 .LBE513: 12272 .LBE535: 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12273 .loc 1 4587 7 is_stmt 1 view .LVU4549 4587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12274 .loc 1 4587 27 is_stmt 0 view .LVU4550 12275 00b8 2263 str r2, [r4, #48] 12276 00ba BBE7 b .L1000 12277 .LVL775: 12278 .L1006: 4581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12279 .loc 1 4581 5 view .LVU4551 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 426 12280 00bc 0220 movs r0, #2 12281 .LVL776: 4622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12282 .loc 1 4622 1 view .LVU4552 12283 00be 70BD pop {r4, r5, r6, pc} 12284 .LVL777: 12285 .L1001: 4591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 12286 .loc 1 4591 7 is_stmt 1 view .LVU4553 12287 .LBB536: 12288 .LBI536: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12289 .loc 1 7451 13 view .LVU4554 12290 .LBB537: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12291 .loc 1 7453 3 view .LVU4555 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12292 .loc 1 7455 3 view .LVU4556 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12293 .loc 1 7467 3 view .LVU4557 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12294 .loc 1 7470 5 view .LVU4558 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12295 .loc 1 7472 5 view .LVU4559 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12296 .loc 1 7472 24 is_stmt 0 view .LVU4560 12297 00c0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12298 .loc 1 7506 3 view .LVU4561 12299 00c4 2668 ldr r6, [r4] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12300 .loc 1 7472 8 view .LVU4562 12301 00c6 02F02802 and r2, r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12302 .loc 1 7506 3 view .LVU4563 12303 00ca 3368 ldr r3, [r6] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12304 .loc 1 7472 8 view .LVU4564 12305 00cc 282A cmp r2, #40 12306 00ce 0CBF ite eq 12307 00d0 6FF04402 mvneq r2, #68 12308 00d4 6FF0F402 mvnne r2, #244 12309 .LVL778: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12310 .loc 1 7479 3 is_stmt 1 view .LVU4565 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12311 .loc 1 7485 3 view .LVU4566 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12312 .loc 1 7491 3 view .LVU4567 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12313 .loc 1 7497 3 view .LVU4568 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12314 .loc 1 7506 3 view .LVU4569 12315 00d8 1340 ands r3, r3, r2 12316 .LBE537: 12317 .LBE536: 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 427 12318 .loc 1 4592 27 is_stmt 0 view .LVU4570 12319 00da 1222 movs r2, #18 12320 .LBB539: 12321 .LBB538: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12322 .loc 1 7506 3 view .LVU4571 12323 00dc 3360 str r3, [r6] 12324 .LVL779: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12325 .loc 1 7506 3 view .LVU4572 12326 .LBE538: 12327 .LBE539: 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12328 .loc 1 4592 7 is_stmt 1 view .LVU4573 4592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12329 .loc 1 4592 27 is_stmt 0 view .LVU4574 12330 00de 2263 str r2, [r4, #48] 12331 00e0 A8E7 b .L1000 12332 .L1018: 12333 00e2 00BF .align 2 12334 .L1017: 12335 00e4 00540040 .word 1073763328 12336 00e8 00000000 .word .LC0 12337 00ec 009800FC .word -67069952 12338 00f0 00000000 .word I2C_Master_ISR_DMA 12339 00f4 00000000 .word I2C_Slave_ISR_DMA 12340 00f8 00000000 .word I2C_Mem_ISR_DMA 12341 .cfi_endproc 12342 .LFE163: 12344 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits 12345 .align 1 12346 .p2align 2,,3 12347 .global HAL_I2C_EV_IRQHandler 12348 .syntax unified 12349 .thumb 12350 .thumb_func 12352 HAL_I2C_EV_IRQHandler: 12353 .LVL780: 12354 .LFB164: 4639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */ 12355 .loc 1 4639 1 is_stmt 1 view -0 12356 .cfi_startproc 12357 @ args = 0, pretend = 0, frame = 0 12358 @ frame_needed = 0, uses_anonymous_args = 0 12359 @ link register save eliminated. 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 12360 .loc 1 4641 3 view .LVU4576 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 12361 .loc 1 4641 24 is_stmt 0 view .LVU4577 12362 0000 0268 ldr r2, [r0] 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12363 .loc 1 4645 11 view .LVU4578 12364 0002 436B ldr r3, [r0, #52] 4641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 12365 .loc 1 4641 12 view .LVU4579 12366 0004 9169 ldr r1, [r2, #24] 12367 .LVL781: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 428 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12368 .loc 1 4642 3 is_stmt 1 view .LVU4580 4642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12369 .loc 1 4642 12 is_stmt 0 view .LVU4581 12370 0006 1268 ldr r2, [r2] 12371 .LVL782: 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12372 .loc 1 4645 3 is_stmt 1 view .LVU4582 4645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12373 .loc 1 4645 6 is_stmt 0 view .LVU4583 12374 0008 03B1 cbz r3, .L1019 4647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12375 .loc 1 4647 5 is_stmt 1 view .LVU4584 12376 000a 1847 bx r3 12377 .LVL783: 12378 .L1019: 4649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12379 .loc 1 4649 1 is_stmt 0 view .LVU4585 12380 000c 7047 bx lr 12381 .cfi_endproc 12382 .LFE164: 12384 000e 00BF .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits 12385 .align 1 12386 .p2align 2,,3 12387 .weak HAL_I2C_MasterTxCpltCallback 12388 .syntax unified 12389 .thumb 12390 .thumb_func 12392 HAL_I2C_MasterTxCpltCallback: 12393 .LFB218: 12394 .cfi_startproc 12395 @ args = 0, pretend = 0, frame = 0 12396 @ frame_needed = 0, uses_anonymous_args = 0 12397 @ link register save eliminated. 12398 0000 7047 bx lr 12399 .cfi_endproc 12400 .LFE218: 12402 0002 00BF .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits 12403 .align 1 12404 .p2align 2,,3 12405 .weak HAL_I2C_MasterRxCpltCallback 12406 .syntax unified 12407 .thumb 12408 .thumb_func 12410 HAL_I2C_MasterRxCpltCallback: 12411 .LFB220: 12412 .cfi_startproc 12413 @ args = 0, pretend = 0, frame = 0 12414 @ frame_needed = 0, uses_anonymous_args = 0 12415 @ link register save eliminated. 12416 0000 7047 bx lr 12417 .cfi_endproc 12418 .LFE220: 12420 0002 00BF .section .text.I2C_ITMasterSeqCplt,"ax",%progbits 12421 .align 1 12422 .p2align 2,,3 12423 .syntax unified ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 429 12424 .thumb 12425 .thumb_func 12427 I2C_ITMasterSeqCplt: 12428 .LVL784: 12429 .LFB188: 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 12430 .loc 1 6053 1 is_stmt 1 view -0 12431 .cfi_startproc 12432 @ args = 0, pretend = 0, frame = 0 12433 @ frame_needed = 0, uses_anonymous_args = 0 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12434 .loc 1 6055 3 view .LVU4587 6055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12435 .loc 1 6055 14 is_stmt 0 view .LVU4588 12436 0000 0021 movs r1, #0 12437 0002 80F84210 strb r1, [r0, #66] 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12438 .loc 1 6059 3 is_stmt 1 view .LVU4589 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12439 .loc 1 6059 11 is_stmt 0 view .LVU4590 12440 0006 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12441 .loc 1 6059 6 view .LVU4591 12442 000a 212A cmp r2, #33 6053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset I2C handle mode */ 12443 .loc 1 6053 1 view .LVU4592 12444 000c 38B5 push {r3, r4, r5, lr} 12445 .LCFI166: 12446 .cfi_def_cfa_offset 16 12447 .cfi_offset 3, -16 12448 .cfi_offset 4, -12 12449 .cfi_offset 5, -8 12450 .cfi_offset 14, -4 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 12451 .loc 1 6061 25 view .LVU4593 12452 000e 4FF02004 mov r4, #32 6059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12453 .loc 1 6059 6 view .LVU4594 12454 0012 18D1 bne .L1024 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 12455 .loc 1 6061 5 is_stmt 1 view .LVU4595 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12456 .loc 1 6062 25 is_stmt 0 view .LVU4596 12457 0014 1122 movs r2, #17 6061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 12458 .loc 1 6061 25 view .LVU4597 12459 0016 80F84140 strb r4, [r0, #65] 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12460 .loc 1 6062 5 is_stmt 1 view .LVU4598 6062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12461 .loc 1 6062 25 is_stmt 0 view .LVU4599 12462 001a 0263 str r2, [r0, #48] 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12463 .loc 1 6063 5 is_stmt 1 view .LVU4600 12464 .LBB548: 12465 .LBB549: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 430 12466 .loc 1 7460 24 is_stmt 0 view .LVU4601 12467 001c 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12468 .loc 1 7506 3 view .LVU4602 12469 0020 0468 ldr r4, [r0] 12470 .LBE549: 12471 .LBE548: 6063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12472 .loc 1 6063 25 view .LVU4603 12473 0022 4163 str r1, [r0, #52] 6066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12474 .loc 1 6066 5 is_stmt 1 view .LVU4604 12475 .LVL785: 12476 .LBB551: 12477 .LBI548: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12478 .loc 1 7451 13 view .LVU4605 12479 .LBB550: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12480 .loc 1 7453 3 view .LVU4606 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12481 .loc 1 7455 3 view .LVU4607 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12482 .loc 1 7458 5 view .LVU4608 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12483 .loc 1 7460 5 view .LVU4609 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12484 .loc 1 7467 3 view .LVU4610 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12485 .loc 1 7479 3 view .LVU4611 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12486 .loc 1 7485 3 view .LVU4612 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12487 .loc 1 7491 3 view .LVU4613 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12488 .loc 1 7497 3 view .LVU4614 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12489 .loc 1 7506 3 view .LVU4615 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12490 .loc 1 7460 8 is_stmt 0 view .LVU4616 12491 0024 02F02802 and r2, r2, #40 12492 0028 282A cmp r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12493 .loc 1 7506 3 view .LVU4617 12494 002a 2268 ldr r2, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12495 .loc 1 7460 8 view .LVU4618 12496 002c 0CBF ite eq 12497 002e 6FF0420C mvneq ip, #66 12498 0032 6FF0F20C mvnne ip, #242 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12499 .loc 1 7506 3 view .LVU4619 12500 0036 02EA0C02 and r2, r2, ip 12501 003a 2260 str r2, [r4] 12502 .LVL786: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12503 .loc 1 7506 3 view .LVU4620 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 431 12504 .LBE550: 12505 .LBE551: 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12506 .loc 1 6069 5 is_stmt 1 view .LVU4621 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12507 .loc 1 6069 5 view .LVU4622 12508 003c 80F84010 strb r1, [r0, #64] 6069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12509 .loc 1 6069 5 view .LVU4623 6075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12510 .loc 1 6075 5 view .LVU4624 12511 0040 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 12512 .LVL787: 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12513 .loc 1 6098 1 is_stmt 0 view .LVU4625 12514 0044 38BD pop {r3, r4, r5, pc} 12515 .LVL788: 12516 .L1024: 12517 .LBB552: 12518 .LBI552: 6052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12519 .loc 1 6052 13 is_stmt 1 view .LVU4626 12520 .LBB553: 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 12521 .loc 1 6081 5 view .LVU4627 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12522 .loc 1 6082 25 is_stmt 0 view .LVU4628 12523 0046 1222 movs r2, #18 6081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 12524 .loc 1 6081 25 view .LVU4629 12525 0048 80F84140 strb r4, [r0, #65] 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12526 .loc 1 6082 5 is_stmt 1 view .LVU4630 6082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 12527 .loc 1 6082 25 is_stmt 0 view .LVU4631 12528 004c 0263 str r2, [r0, #48] 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12529 .loc 1 6083 5 is_stmt 1 view .LVU4632 12530 .LBB554: 12531 .LBB555: 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12532 .loc 1 7472 24 is_stmt 0 view .LVU4633 12533 004e 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12534 .loc 1 7506 3 view .LVU4634 12535 0052 0468 ldr r4, [r0] 12536 .LBE555: 12537 .LBE554: 6083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12538 .loc 1 6083 25 view .LVU4635 12539 0054 4163 str r1, [r0, #52] 6086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12540 .loc 1 6086 5 is_stmt 1 view .LVU4636 12541 .LVL789: 12542 .LBB557: 12543 .LBI554: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 432 12544 .loc 1 7451 13 view .LVU4637 12545 .LBB556: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12546 .loc 1 7453 3 view .LVU4638 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12547 .loc 1 7455 3 view .LVU4639 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12548 .loc 1 7467 3 view .LVU4640 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12549 .loc 1 7470 5 view .LVU4641 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12550 .loc 1 7472 5 view .LVU4642 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12551 .loc 1 7479 3 view .LVU4643 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12552 .loc 1 7485 3 view .LVU4644 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12553 .loc 1 7491 3 view .LVU4645 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12554 .loc 1 7497 3 view .LVU4646 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12555 .loc 1 7506 3 view .LVU4647 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12556 .loc 1 7472 8 is_stmt 0 view .LVU4648 12557 0056 02F02802 and r2, r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12558 .loc 1 7506 3 view .LVU4649 12559 005a 2568 ldr r5, [r4] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12560 .loc 1 7472 8 view .LVU4650 12561 005c 282A cmp r2, #40 12562 005e 0CBF ite eq 12563 0060 6FF04402 mvneq r2, #68 12564 0064 6FF0F402 mvnne r2, #244 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12565 .loc 1 7506 3 view .LVU4651 12566 0068 2A40 ands r2, r2, r5 12567 006a 2260 str r2, [r4] 12568 .LVL790: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12569 .loc 1 7506 3 view .LVU4652 12570 .LBE556: 12571 .LBE557: 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12572 .loc 1 6089 5 is_stmt 1 view .LVU4653 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12573 .loc 1 6089 5 view .LVU4654 12574 006c 80F84010 strb r1, [r0, #64] 6089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12575 .loc 1 6089 5 view .LVU4655 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12576 .loc 1 6095 5 view .LVU4656 12577 0070 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 12578 .LVL791: 6095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12579 .loc 1 6095 5 is_stmt 0 view .LVU4657 12580 .LBE553: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 433 12581 .LBE552: 6098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12582 .loc 1 6098 1 view .LVU4658 12583 0074 38BD pop {r3, r4, r5, pc} 12584 .cfi_endproc 12585 .LFE188: 12587 0076 00BF .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits 12588 .align 1 12589 .p2align 2,,3 12590 .weak HAL_I2C_SlaveTxCpltCallback 12591 .syntax unified 12592 .thumb 12593 .thumb_func 12595 HAL_I2C_SlaveTxCpltCallback: 12596 .LFB222: 12597 .cfi_startproc 12598 @ args = 0, pretend = 0, frame = 0 12599 @ frame_needed = 0, uses_anonymous_args = 0 12600 @ link register save eliminated. 12601 0000 7047 bx lr 12602 .cfi_endproc 12603 .LFE222: 12605 0002 00BF .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits 12606 .align 1 12607 .p2align 2,,3 12608 .weak HAL_I2C_SlaveRxCpltCallback 12609 .syntax unified 12610 .thumb 12611 .thumb_func 12613 HAL_I2C_SlaveRxCpltCallback: 12614 .LFB224: 12615 .cfi_startproc 12616 @ args = 0, pretend = 0, frame = 0 12617 @ frame_needed = 0, uses_anonymous_args = 0 12618 @ link register save eliminated. 12619 0000 7047 bx lr 12620 .cfi_endproc 12621 .LFE224: 12623 0002 00BF .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits 12624 .align 1 12625 .p2align 2,,3 12626 .syntax unified 12627 .thumb 12628 .thumb_func 12630 I2C_ITSlaveSeqCplt: 12631 .LVL792: 12632 .LFB189: 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 12633 .loc 1 6106 1 is_stmt 1 view -0 12634 .cfi_startproc 12635 @ args = 0, pretend = 0, frame = 0 12636 @ frame_needed = 0, uses_anonymous_args = 0 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12637 .loc 1 6107 3 view .LVU4660 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12638 .loc 1 6107 26 is_stmt 0 view .LVU4661 12639 0000 0168 ldr r1, [r0] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 434 6107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12640 .loc 1 6107 12 view .LVU4662 12641 0002 0B68 ldr r3, [r1] 12642 .LVL793: 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12643 .loc 1 6110 3 is_stmt 1 view .LVU4663 6110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12644 .loc 1 6110 14 is_stmt 0 view .LVU4664 12645 0004 0022 movs r2, #0 12646 0006 80F84220 strb r2, [r0, #66] 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12647 .loc 1 6113 3 is_stmt 1 view .LVU4665 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12648 .loc 1 6113 6 is_stmt 0 view .LVU4666 12649 000a 5A04 lsls r2, r3, #17 6106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 12650 .loc 1 6106 1 view .LVU4667 12651 000c 10B5 push {r4, lr} 12652 .LCFI167: 12653 .cfi_def_cfa_offset 8 12654 .cfi_offset 4, -8 12655 .cfi_offset 14, -4 6113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12656 .loc 1 6113 6 view .LVU4668 12657 000e 0CD5 bpl .L1034 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12658 .loc 1 6116 5 is_stmt 1 view .LVU4669 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12659 .loc 1 6116 25 is_stmt 0 view .LVU4670 12660 0010 0B68 ldr r3, [r1] 12661 .LVL794: 6116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12662 .loc 1 6116 25 view .LVU4671 12663 0012 23F48043 bic r3, r3, #16384 12664 0016 0B60 str r3, [r1] 12665 .L1035: 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12666 .loc 1 6126 3 is_stmt 1 view .LVU4672 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12667 .loc 1 6128 3 view .LVU4673 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12668 .loc 1 6128 11 is_stmt 0 view .LVU4674 12669 0018 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12670 .loc 1 6128 6 view .LVU4675 12671 001c 292B cmp r3, #41 12672 001e 0ED0 beq .L1046 12673 .L1036: 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12674 .loc 1 6148 8 is_stmt 1 view .LVU4676 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12675 .loc 1 6148 16 is_stmt 0 view .LVU4677 12676 0020 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12677 .loc 1 6148 11 view .LVU4678 12678 0024 2A2B cmp r3, #42 12679 0026 22D0 beq .L1047 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 435 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12680 .loc 1 6171 1 view .LVU4679 12681 0028 10BD pop {r4, pc} 12682 .LVL795: 12683 .L1034: 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12684 .loc 1 6118 8 is_stmt 1 view .LVU4680 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12685 .loc 1 6118 11 is_stmt 0 view .LVU4681 12686 002a 1B04 lsls r3, r3, #16 12687 .LVL796: 6118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12688 .loc 1 6118 11 view .LVU4682 12689 002c F4D5 bpl .L1035 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12690 .loc 1 6121 5 is_stmt 1 view .LVU4683 6121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12691 .loc 1 6121 25 is_stmt 0 view .LVU4684 12692 002e 0B68 ldr r3, [r1] 12693 0030 23F40043 bic r3, r3, #32768 12694 0034 0B60 str r3, [r1] 6126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12695 .loc 1 6126 3 is_stmt 1 view .LVU4685 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12696 .loc 1 6128 3 view .LVU4686 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12697 .loc 1 6128 11 is_stmt 0 view .LVU4687 12698 0036 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12699 .loc 1 6128 6 view .LVU4688 12700 003a 292B cmp r3, #41 12701 003c F0D1 bne .L1036 12702 .L1046: 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 12703 .loc 1 6131 5 is_stmt 1 view .LVU4689 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 12704 .loc 1 6131 25 is_stmt 0 view .LVU4690 12705 003e 2822 movs r2, #40 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12706 .loc 1 6132 25 view .LVU4691 12707 0040 2123 movs r3, #33 6131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 12708 .loc 1 6131 25 view .LVU4692 12709 0042 80F84120 strb r2, [r0, #65] 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12710 .loc 1 6132 5 is_stmt 1 view .LVU4693 6132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12711 .loc 1 6132 25 is_stmt 0 view .LVU4694 12712 0046 0363 str r3, [r0, #48] 6135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12713 .loc 1 6135 5 is_stmt 1 view .LVU4695 12714 .LVL797: 12715 .LBB562: 12716 .LBI562: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12717 .loc 1 7451 13 view .LVU4696 12718 .LBB563: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 436 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12719 .loc 1 7453 3 view .LVU4697 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12720 .loc 1 7455 3 view .LVU4698 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12721 .loc 1 7458 5 view .LVU4699 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12722 .loc 1 7460 5 view .LVU4700 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12723 .loc 1 7460 24 is_stmt 0 view .LVU4701 12724 0048 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12725 .loc 1 7506 3 view .LVU4702 12726 004c 0B68 ldr r3, [r1] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12727 .loc 1 7460 8 view .LVU4703 12728 004e 02F02802 and r2, r2, #40 12729 0052 282A cmp r2, #40 12730 0054 0CBF ite eq 12731 0056 6FF04202 mvneq r2, #66 12732 005a 6FF0F202 mvnne r2, #242 12733 .LVL798: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12734 .loc 1 7467 3 is_stmt 1 view .LVU4704 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12735 .loc 1 7479 3 view .LVU4705 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12736 .loc 1 7485 3 view .LVU4706 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12737 .loc 1 7491 3 view .LVU4707 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12738 .loc 1 7497 3 view .LVU4708 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12739 .loc 1 7506 3 view .LVU4709 12740 005e 1340 ands r3, r3, r2 12741 .LBE563: 12742 .LBE562: 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12743 .loc 1 6138 5 is_stmt 0 view .LVU4710 12744 0060 0022 movs r2, #0 12745 .LBB565: 12746 .LBB564: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12747 .loc 1 7506 3 view .LVU4711 12748 0062 0B60 str r3, [r1] 12749 .LVL799: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12750 .loc 1 7506 3 view .LVU4712 12751 .LBE564: 12752 .LBE565: 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12753 .loc 1 6138 5 is_stmt 1 view .LVU4713 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12754 .loc 1 6138 5 view .LVU4714 12755 0064 80F84020 strb r2, [r0, #64] 6138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12756 .loc 1 6138 5 view .LVU4715 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 437 6144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12757 .loc 1 6144 5 view .LVU4716 12758 0068 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 12759 .LVL800: 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12760 .loc 1 6171 1 is_stmt 0 view .LVU4717 12761 006c 10BD pop {r4, pc} 12762 .LVL801: 12763 .L1047: 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 12764 .loc 1 6151 5 is_stmt 1 view .LVU4718 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12765 .loc 1 6152 25 is_stmt 0 view .LVU4719 12766 006e 2223 movs r3, #34 6151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 12767 .loc 1 6151 25 view .LVU4720 12768 0070 2822 movs r2, #40 12769 0072 80F84120 strb r2, [r0, #65] 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12770 .loc 1 6152 5 is_stmt 1 view .LVU4721 6152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12771 .loc 1 6152 25 is_stmt 0 view .LVU4722 12772 0076 0363 str r3, [r0, #48] 6155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12773 .loc 1 6155 5 is_stmt 1 view .LVU4723 12774 .LVL802: 12775 .LBB566: 12776 .LBI566: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12777 .loc 1 7451 13 view .LVU4724 12778 .LBB567: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12779 .loc 1 7453 3 view .LVU4725 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12780 .loc 1 7455 3 view .LVU4726 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12781 .loc 1 7467 3 view .LVU4727 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12782 .loc 1 7470 5 view .LVU4728 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12783 .loc 1 7472 5 view .LVU4729 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12784 .loc 1 7472 24 is_stmt 0 view .LVU4730 12785 0078 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12786 .loc 1 7506 3 view .LVU4731 12787 007c 0C68 ldr r4, [r1] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12788 .loc 1 7472 8 view .LVU4732 12789 007e 02F02802 and r2, r2, #40 12790 0082 282A cmp r2, #40 12791 0084 0CBF ite eq 12792 0086 6FF04403 mvneq r3, #68 12793 008a 6FF0F403 mvnne r3, #244 12794 .LVL803: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12795 .loc 1 7479 3 is_stmt 1 view .LVU4733 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 438 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12796 .loc 1 7485 3 view .LVU4734 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12797 .loc 1 7491 3 view .LVU4735 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12798 .loc 1 7497 3 view .LVU4736 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12799 .loc 1 7506 3 view .LVU4737 12800 008e 2340 ands r3, r3, r4 12801 .LBE567: 12802 .LBE566: 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12803 .loc 1 6158 5 is_stmt 0 view .LVU4738 12804 0090 0022 movs r2, #0 12805 .LBB569: 12806 .LBB568: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12807 .loc 1 7506 3 view .LVU4739 12808 0092 0B60 str r3, [r1] 12809 .LVL804: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12810 .loc 1 7506 3 view .LVU4740 12811 .LBE568: 12812 .LBE569: 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12813 .loc 1 6158 5 is_stmt 1 view .LVU4741 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12814 .loc 1 6158 5 view .LVU4742 12815 0094 80F84020 strb r2, [r0, #64] 6158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12816 .loc 1 6158 5 view .LVU4743 6164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 12817 .loc 1 6164 5 view .LVU4744 12818 0098 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 12819 .LVL805: 6170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12820 .loc 1 6170 3 view .LVU4745 6171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12821 .loc 1 6171 1 is_stmt 0 view .LVU4746 12822 009c 10BD pop {r4, pc} 12823 .cfi_endproc 12824 .LFE189: 12826 009e 00BF .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits 12827 .align 1 12828 .p2align 2,,3 12829 .syntax unified 12830 .thumb 12831 .thumb_func 12833 I2C_DMASlaveTransmitCplt: 12834 .LVL806: 12835 .LFB197: 6831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 12836 .loc 1 6831 1 is_stmt 1 view -0 12837 .cfi_startproc 12838 @ args = 0, pretend = 0, frame = 0 12839 @ frame_needed = 0, uses_anonymous_args = 0 12840 @ link register save eliminated. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 439 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12841 .loc 1 6833 3 view .LVU4748 6833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12842 .loc 1 6833 22 is_stmt 0 view .LVU4749 12843 0000 406A ldr r0, [r0, #36] 12844 .LVL807: 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12845 .loc 1 6834 3 is_stmt 1 view .LVU4750 6834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12846 .loc 1 6834 12 is_stmt 0 view .LVU4751 12847 0002 C36A ldr r3, [r0, #44] 12848 .LVL808: 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12849 .loc 1 6836 3 is_stmt 1 view .LVU4752 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12850 .loc 1 6836 38 is_stmt 0 view .LVU4753 12851 0004 33F08073 bics r3, r3, #16777216 12852 .LVL809: 6836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12853 .loc 1 6836 38 view .LVU4754 12854 0008 00D0 beq .L1050 6851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12855 .loc 1 6851 1 view .LVU4755 12856 000a 7047 bx lr 12857 .L1050: 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12858 .loc 1 6839 5 is_stmt 1 view .LVU4756 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12859 .loc 1 6839 9 is_stmt 0 view .LVU4757 12860 000c 0268 ldr r2, [r0] 6839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12861 .loc 1 6839 25 view .LVU4758 12862 000e 1368 ldr r3, [r2] 12863 0010 23F48043 bic r3, r3, #16384 12864 0014 1360 str r3, [r2] 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12865 .loc 1 6843 5 is_stmt 1 view .LVU4759 12866 0016 FFF7FEBF b I2C_ITSlaveSeqCplt 12867 .LVL810: 6843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12868 .loc 1 6843 5 is_stmt 0 view .LVU4760 12869 .cfi_endproc 12870 .LFE197: 12872 001a 00BF .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits 12873 .align 1 12874 .p2align 2,,3 12875 .syntax unified 12876 .thumb 12877 .thumb_func 12879 I2C_DMASlaveReceiveCplt: 12880 .LVL811: 12881 .LFB199: 6919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 12882 .loc 1 6919 1 is_stmt 1 view -0 12883 .cfi_startproc 12884 @ args = 0, pretend = 0, frame = 0 12885 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 440 12886 @ link register save eliminated. 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12887 .loc 1 6921 3 view .LVU4762 6921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 12888 .loc 1 6921 22 is_stmt 0 view .LVU4763 12889 0000 406A ldr r0, [r0, #36] 12890 .LVL812: 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12891 .loc 1 6922 3 is_stmt 1 view .LVU4764 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 12892 .loc 1 6924 8 is_stmt 0 view .LVU4765 12893 0002 C36B ldr r3, [r0, #60] 6922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12894 .loc 1 6922 12 view .LVU4766 12895 0004 C26A ldr r2, [r0, #44] 12896 .LVL813: 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 12897 .loc 1 6924 3 is_stmt 1 view .LVU4767 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 12898 .loc 1 6924 8 is_stmt 0 view .LVU4768 12899 0006 1B68 ldr r3, [r3] 12900 0008 5B68 ldr r3, [r3, #4] 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 12901 .loc 1 6924 6 view .LVU4769 12902 000a 13B9 cbnz r3, .L1051 6924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 12903 .loc 1 6924 53 discriminator 1 view .LVU4770 12904 000c 12F5803F cmn r2, #65536 12905 0010 00D1 bne .L1056 12906 .L1051: 6939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12907 .loc 1 6939 1 view .LVU4771 12908 0012 7047 bx lr 12909 .L1056: 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12910 .loc 1 6928 5 is_stmt 1 view .LVU4772 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12911 .loc 1 6928 9 is_stmt 0 view .LVU4773 12912 0014 0268 ldr r2, [r0] 12913 .LVL814: 6928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12914 .loc 1 6928 25 view .LVU4774 12915 0016 1368 ldr r3, [r2] 12916 0018 23F40043 bic r3, r3, #32768 12917 001c 1360 str r3, [r2] 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12918 .loc 1 6931 5 is_stmt 1 view .LVU4775 12919 001e FFF7FEBF b I2C_ITSlaveSeqCplt 12920 .LVL815: 6931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 12921 .loc 1 6931 5 is_stmt 0 view .LVU4776 12922 .cfi_endproc 12923 .LFE199: 12925 0022 00BF .section .text.HAL_I2C_AddrCallback,"ax",%progbits 12926 .align 1 12927 .p2align 2,,3 12928 .weak HAL_I2C_AddrCallback ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 441 12929 .syntax unified 12930 .thumb 12931 .thumb_func 12933 HAL_I2C_AddrCallback: 12934 .LVL816: 12935 .LFB170: 4775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */ 12936 .loc 1 4775 1 is_stmt 1 view -0 12937 .cfi_startproc 12938 @ args = 0, pretend = 0, frame = 0 12939 @ frame_needed = 0, uses_anonymous_args = 0 12940 @ link register save eliminated. 4777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(TransferDirection); 12941 .loc 1 4777 3 view .LVU4778 4778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(AddrMatchCode); 12942 .loc 1 4778 3 view .LVU4779 4779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12943 .loc 1 4779 3 view .LVU4780 4784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12944 .loc 1 4784 1 is_stmt 0 view .LVU4781 12945 0000 7047 bx lr 12946 .cfi_endproc 12947 .LFE170: 12949 0002 00BF .section .text.I2C_ITAddrCplt.part.0,"ax",%progbits 12950 .align 1 12951 .p2align 2,,3 12952 .syntax unified 12953 .thumb 12954 .thumb_func 12956 I2C_ITAddrCplt.part.0: 12957 .LVL817: 12958 .LFB213: 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12959 .loc 1 5957 13 is_stmt 1 view -0 12960 .cfi_startproc 12961 @ args = 0, pretend = 0, frame = 0 12962 @ frame_needed = 0, uses_anonymous_args = 0 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 12963 .loc 1 5970 5 view .LVU4783 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12964 .loc 1 5957 13 is_stmt 0 view .LVU4784 12965 0000 70B5 push {r4, r5, r6, lr} 12966 .LCFI168: 12967 .cfi_def_cfa_offset 16 12968 .cfi_offset 4, -16 12969 .cfi_offset 5, -12 12970 .cfi_offset 6, -8 12971 .cfi_offset 14, -4 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 12972 .loc 1 5970 25 view .LVU4785 12973 0002 0468 ldr r4, [r0] 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12974 .loc 1 5976 8 view .LVU4786 12975 0004 C368 ldr r3, [r0, #12] 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 12976 .loc 1 5970 25 view .LVU4787 12977 0006 A169 ldr r1, [r4, #24] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 442 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 12978 .loc 1 5971 25 view .LVU4788 12979 0008 A269 ldr r2, [r4, #24] 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 12980 .loc 1 5972 25 view .LVU4789 12981 000a A568 ldr r5, [r4, #8] 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12982 .loc 1 5973 25 view .LVU4790 12983 000c E668 ldr r6, [r4, #12] 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 12984 .loc 1 5971 25 view .LVU4791 12985 000e 120C lsrs r2, r2, #16 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12986 .loc 1 5976 8 view .LVU4792 12987 0010 022B cmp r3, #2 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12988 .loc 1 5957 13 view .LVU4793 12989 0012 8446 mov ip, r0 5970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c); 12990 .loc 1 5970 23 view .LVU4794 12991 0014 C1F30041 ubfx r1, r1, #16, #1 12992 .LVL818: 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 12993 .loc 1 5971 5 is_stmt 1 view .LVU4795 5971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c); 12994 .loc 1 5971 23 is_stmt 0 view .LVU4796 12995 0018 02F0FE02 and r2, r2, #254 12996 .LVL819: 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 12997 .loc 1 5972 5 is_stmt 1 view .LVU4797 5973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 12998 .loc 1 5973 5 view .LVU4798 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 12999 .loc 1 5976 5 view .LVU4799 5976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13000 .loc 1 5976 8 is_stmt 0 view .LVU4800 13001 001c 0FD1 bne .L1059 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13002 .loc 1 5978 44 view .LVU4801 13003 001e 82EAD513 eor r3, r2, r5, lsr #7 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13004 .loc 1 5978 10 view .LVU4802 13005 0022 13F00603 ands r3, r3, #6 5972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c); 13006 .loc 1 5972 23 view .LVU4803 13007 0026 C5F30902 ubfx r2, r5, #0, #10 13008 .LVL820: 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13009 .loc 1 5978 7 is_stmt 1 view .LVU4804 5978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13010 .loc 1 5978 10 is_stmt 0 view .LVU4805 13011 002a 06D1 bne .L1060 5980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->AddrEventCount++; 13012 .loc 1 5980 9 is_stmt 1 view .LVU4806 13013 .LVL821: 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 13014 .loc 1 5981 9 view .LVU4807 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 443 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 13015 .loc 1 5981 13 is_stmt 0 view .LVU4808 13016 002c 856C ldr r5, [r0, #72] 13017 .LVL822: 5981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U) 13018 .loc 1 5981 29 view .LVU4809 13019 002e 0135 adds r5, r5, #1 13020 0030 8564 str r5, [r0, #72] 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13021 .loc 1 5982 9 is_stmt 1 view .LVU4810 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13022 .loc 1 5982 17 is_stmt 0 view .LVU4811 13023 0032 856C ldr r5, [r0, #72] 5982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13024 .loc 1 5982 12 view .LVU4812 13025 0034 022D cmp r5, #2 13026 0036 0CD0 beq .L1063 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13027 .loc 1 6045 1 view .LVU4813 13028 0038 70BD pop {r4, r5, r6, pc} 13029 .LVL823: 13030 .L1060: 6003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13031 .loc 1 6003 9 is_stmt 1 view .LVU4814 6006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13032 .loc 1 6006 9 view .LVU4815 13033 .LBB570: 13034 .LBI570: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13035 .loc 1 7451 13 view .LVU4816 13036 .LBB571: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13037 .loc 1 7453 3 view .LVU4817 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13038 .loc 1 7455 3 view .LVU4818 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13039 .loc 1 7467 3 view .LVU4819 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13040 .loc 1 7479 3 view .LVU4820 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13041 .loc 1 7482 5 view .LVU4821 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13042 .loc 1 7485 3 view .LVU4822 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13043 .loc 1 7491 3 view .LVU4823 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13044 .loc 1 7497 3 view .LVU4824 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13045 .loc 1 7506 3 view .LVU4825 13046 .LBE571: 13047 .LBE570: 6015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13048 .loc 1 6015 9 is_stmt 0 view .LVU4826 13049 003a 06F0FE02 and r2, r6, #254 13050 .LVL824: 13051 .L1059: 6023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 444 13052 .loc 1 6023 7 is_stmt 1 view .LVU4827 13053 .LBB572: 13054 .LBI572: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13055 .loc 1 7451 13 view .LVU4828 13056 .LBB573: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13057 .loc 1 7453 3 view .LVU4829 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13058 .loc 1 7455 3 view .LVU4830 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13059 .loc 1 7467 3 view .LVU4831 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13060 .loc 1 7479 3 view .LVU4832 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13061 .loc 1 7482 5 view .LVU4833 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13062 .loc 1 7485 3 view .LVU4834 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13063 .loc 1 7491 3 view .LVU4835 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13064 .loc 1 7497 3 view .LVU4836 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13065 .loc 1 7506 3 view .LVU4837 13066 003e 2368 ldr r3, [r4] 13067 0040 23F0B803 bic r3, r3, #184 13068 0044 2360 str r3, [r4] 13069 .LVL825: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13070 .loc 1 7506 3 is_stmt 0 view .LVU4838 13071 .LBE573: 13072 .LBE572: 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13073 .loc 1 6026 7 is_stmt 1 view .LVU4839 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13074 .loc 1 6026 7 view .LVU4840 13075 0046 0023 movs r3, #0 13076 0048 8CF84030 strb r3, [ip, #64] 6026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13077 .loc 1 6026 7 view .LVU4841 6032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13078 .loc 1 6032 7 view .LVU4842 13079 004c FFF7FEFF bl HAL_I2C_AddrCallback 13080 .LVL826: 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13081 .loc 1 6043 5 view .LVU4843 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13082 .loc 1 6045 1 is_stmt 0 view .LVU4844 13083 0050 70BD pop {r4, r5, r6, pc} 13084 .LVL827: 13085 .L1063: 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13086 .loc 1 5985 11 is_stmt 1 view .LVU4845 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13087 .loc 1 5988 11 is_stmt 0 view .LVU4846 13088 0052 0825 movs r5, #8 5985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 445 13089 .loc 1 5985 32 view .LVU4847 13090 0054 8364 str r3, [r0, #72] 5988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13091 .loc 1 5988 11 is_stmt 1 view .LVU4848 13092 0056 E561 str r5, [r4, #28] 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13093 .loc 1 5991 11 view .LVU4849 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13094 .loc 1 5991 11 view .LVU4850 13095 0058 80F84030 strb r3, [r0, #64] 5991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13096 .loc 1 5991 11 view .LVU4851 5997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13097 .loc 1 5997 11 view .LVU4852 13098 005c FFF7FEFF bl HAL_I2C_AddrCallback 13099 .LVL828: 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13100 .loc 1 6045 1 is_stmt 0 view .LVU4853 13101 0060 70BD pop {r4, r5, r6, pc} 6045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13102 .loc 1 6045 1 view .LVU4854 13103 .cfi_endproc 13104 .LFE213: 13106 0062 00BF .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits 13107 .align 1 13108 .p2align 2,,3 13109 .weak HAL_I2C_ListenCpltCallback 13110 .syntax unified 13111 .thumb 13112 .thumb_func 13114 HAL_I2C_ListenCpltCallback: 13115 .LFB226: 13116 .cfi_startproc 13117 @ args = 0, pretend = 0, frame = 0 13118 @ frame_needed = 0, uses_anonymous_args = 0 13119 @ link register save eliminated. 13120 0000 7047 bx lr 13121 .cfi_endproc 13122 .LFE226: 13124 0002 00BF .section .text.I2C_ITListenCplt,"ax",%progbits 13125 .align 1 13126 .p2align 2,,3 13127 .syntax unified 13128 .thumb 13129 .thumb_func 13131 I2C_ITListenCplt: 13132 .LVL829: 13133 .LFB192: 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 13134 .loc 1 6539 1 is_stmt 1 view -0 13135 .cfi_startproc 13136 @ args = 0, pretend = 0, frame = 0 13137 @ frame_needed = 0, uses_anonymous_args = 0 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13138 .loc 1 6541 3 view .LVU4856 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 13139 .loc 1 6542 23 is_stmt 0 view .LVU4857 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 446 13140 0000 0023 movs r3, #0 6539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Reset handle parameters */ 13141 .loc 1 6539 1 view .LVU4858 13142 0002 10B5 push {r4, lr} 13143 .LCFI169: 13144 .cfi_def_cfa_offset 8 13145 .cfi_offset 4, -8 13146 .cfi_offset 14, -4 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 13147 .loc 1 6543 15 view .LVU4859 13148 0004 2022 movs r2, #32 6541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13149 .loc 1 6541 21 view .LVU4860 13150 0006 174C ldr r4, .L1073 13151 0008 C462 str r4, [r0, #44] 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 13152 .loc 1 6542 3 is_stmt 1 view .LVU4861 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13153 .loc 1 6545 17 is_stmt 0 view .LVU4862 13154 000a 4363 str r3, [r0, #52] 6542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 13155 .loc 1 6542 23 view .LVU4863 13156 000c 0363 str r3, [r0, #48] 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 13157 .loc 1 6543 3 is_stmt 1 view .LVU4864 6543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE; 13158 .loc 1 6543 15 is_stmt 0 view .LVU4865 13159 000e 80F84120 strb r2, [r0, #65] 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 13160 .loc 1 6544 3 is_stmt 1 view .LVU4866 6544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 13161 .loc 1 6544 14 is_stmt 0 view .LVU4867 13162 0012 80F84230 strb r3, [r0, #66] 6545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13163 .loc 1 6545 3 is_stmt 1 view .LVU4868 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13164 .loc 1 6548 3 view .LVU4869 6548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13165 .loc 1 6548 6 is_stmt 0 view .LVU4870 13166 0016 4B07 lsls r3, r1, #29 13167 0018 12D5 bpl .L1067 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13168 .loc 1 6551 5 is_stmt 1 view .LVU4871 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13169 .loc 1 6551 36 is_stmt 0 view .LVU4872 13170 001a 0268 ldr r2, [r0] 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13171 .loc 1 6551 10 view .LVU4873 13172 001c 436A ldr r3, [r0, #36] 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13173 .loc 1 6551 46 view .LVU4874 13174 001e 526A ldr r2, [r2, #36] 6551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13175 .loc 1 6551 23 view .LVU4875 13176 0020 1A70 strb r2, [r3] 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13177 .loc 1 6554 5 is_stmt 1 view .LVU4876 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 447 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13178 .loc 1 6554 19 is_stmt 0 view .LVU4877 13179 0022 436A ldr r3, [r0, #36] 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13180 .loc 1 6556 14 view .LVU4878 13181 0024 028D ldrh r2, [r0, #40] 6554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13182 .loc 1 6554 19 view .LVU4879 13183 0026 0133 adds r3, r3, #1 13184 0028 4362 str r3, [r0, #36] 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13185 .loc 1 6556 5 is_stmt 1 view .LVU4880 6556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13186 .loc 1 6556 8 is_stmt 0 view .LVU4881 13187 002a 4AB1 cbz r2, .L1067 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13188 .loc 1 6558 7 is_stmt 1 view .LVU4882 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13189 .loc 1 6559 11 is_stmt 0 view .LVU4883 13190 002c 438D ldrh r3, [r0, #42] 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13191 .loc 1 6559 22 view .LVU4884 13192 002e 013B subs r3, r3, #1 13193 0030 9BB2 uxth r3, r3 13194 0032 4385 strh r3, [r0, #42] @ movhi 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13195 .loc 1 6562 23 view .LVU4885 13196 0034 436C ldr r3, [r0, #68] 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13197 .loc 1 6558 21 view .LVU4886 13198 0036 013A subs r2, r2, #1 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13199 .loc 1 6562 23 view .LVU4887 13200 0038 43F00403 orr r3, r3, #4 6558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 13201 .loc 1 6558 21 view .LVU4888 13202 003c 0285 strh r2, [r0, #40] @ movhi 6559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13203 .loc 1 6559 7 is_stmt 1 view .LVU4889 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13204 .loc 1 6562 7 view .LVU4890 6562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13205 .loc 1 6562 23 is_stmt 0 view .LVU4891 13206 003e 4364 str r3, [r0, #68] 13207 .L1067: 6567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13208 .loc 1 6567 3 is_stmt 1 view .LVU4892 13209 .LVL830: 13210 .LBB576: 13211 .LBI576: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13212 .loc 1 7451 13 view .LVU4893 13213 .LBB577: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13214 .loc 1 7453 3 view .LVU4894 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13215 .loc 1 7455 3 view .LVU4895 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 448 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13216 .loc 1 7458 5 view .LVU4896 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13217 .loc 1 7460 5 view .LVU4897 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13218 .loc 1 7506 3 is_stmt 0 view .LVU4898 13219 0040 0368 ldr r3, [r0] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13220 .loc 1 7460 24 view .LVU4899 13221 0042 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 13222 .LVL831: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13223 .loc 1 7467 3 is_stmt 1 view .LVU4900 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13224 .loc 1 7470 5 view .LVU4901 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13225 .loc 1 7472 5 view .LVU4902 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13226 .loc 1 7472 24 is_stmt 0 view .LVU4903 13227 0046 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13228 .loc 1 7479 3 is_stmt 1 view .LVU4904 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13229 .loc 1 7482 5 view .LVU4905 13230 .LVL832: 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13231 .loc 1 7485 3 view .LVU4906 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13232 .loc 1 7491 3 view .LVU4907 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13233 .loc 1 7497 3 view .LVU4908 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13234 .loc 1 7506 3 view .LVU4909 13235 004a 1A68 ldr r2, [r3] 13236 .LBE577: 13237 .LBE576: 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13238 .loc 1 6570 3 is_stmt 0 view .LVU4910 13239 004c 1024 movs r4, #16 13240 .LBB580: 13241 .LBB578: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13242 .loc 1 7506 3 view .LVU4911 13243 004e 22F0FE02 bic r2, r2, #254 13244 .LBE578: 13245 .LBE580: 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13246 .loc 1 6573 3 view .LVU4912 13247 0052 0021 movs r1, #0 13248 .LVL833: 13249 .LBB581: 13250 .LBB579: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13251 .loc 1 7506 3 view .LVU4913 13252 0054 1A60 str r2, [r3] 13253 .LVL834: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 449 13254 .loc 1 7506 3 view .LVU4914 13255 .LBE579: 13256 .LBE581: 6570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13257 .loc 1 6570 3 is_stmt 1 view .LVU4915 13258 0056 DC61 str r4, [r3, #28] 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13259 .loc 1 6573 3 view .LVU4916 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13260 .loc 1 6573 3 view .LVU4917 13261 0058 80F84010 strb r1, [r0, #64] 6573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13262 .loc 1 6573 3 view .LVU4918 6579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13263 .loc 1 6579 3 view .LVU4919 13264 005c FFF7FEFF bl HAL_I2C_ListenCpltCallback 13265 .LVL835: 6581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13266 .loc 1 6581 1 is_stmt 0 view .LVU4920 13267 0060 10BD pop {r4, pc} 13268 .L1074: 13269 0062 00BF .align 2 13270 .L1073: 13271 0064 0000FFFF .word -65536 13272 .cfi_endproc 13273 .LFE192: 13275 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits 13276 .align 1 13277 .p2align 2,,3 13278 .weak HAL_I2C_MemTxCpltCallback 13279 .syntax unified 13280 .thumb 13281 .thumb_func 13283 HAL_I2C_MemTxCpltCallback: 13284 .LFB228: 13285 .cfi_startproc 13286 @ args = 0, pretend = 0, frame = 0 13287 @ frame_needed = 0, uses_anonymous_args = 0 13288 @ link register save eliminated. 13289 0000 7047 bx lr 13290 .cfi_endproc 13291 .LFE228: 13293 0002 00BF .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits 13294 .align 1 13295 .p2align 2,,3 13296 .weak HAL_I2C_MemRxCpltCallback 13297 .syntax unified 13298 .thumb 13299 .thumb_func 13301 HAL_I2C_MemRxCpltCallback: 13302 .LFB230: 13303 .cfi_startproc 13304 @ args = 0, pretend = 0, frame = 0 13305 @ frame_needed = 0, uses_anonymous_args = 0 13306 @ link register save eliminated. 13307 0000 7047 bx lr 13308 .cfi_endproc ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 450 13309 .LFE230: 13311 0002 00BF .section .text.HAL_I2C_ErrorCallback,"ax",%progbits 13312 .align 1 13313 .p2align 2,,3 13314 .weak HAL_I2C_ErrorCallback 13315 .syntax unified 13316 .thumb 13317 .thumb_func 13319 HAL_I2C_ErrorCallback: 13320 .LFB232: 13321 .cfi_startproc 13322 @ args = 0, pretend = 0, frame = 0 13323 @ frame_needed = 0, uses_anonymous_args = 0 13324 @ link register save eliminated. 13325 0000 7047 bx lr 13326 .cfi_endproc 13327 .LFE232: 13329 0002 00BF .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits 13330 .align 1 13331 .p2align 2,,3 13332 .weak HAL_I2C_AbortCpltCallback 13333 .syntax unified 13334 .thumb 13335 .thumb_func 13337 HAL_I2C_AbortCpltCallback: 13338 .LFB234: 13339 .cfi_startproc 13340 @ args = 0, pretend = 0, frame = 0 13341 @ frame_needed = 0, uses_anonymous_args = 0 13342 @ link register save eliminated. 13343 0000 7047 bx lr 13344 .cfi_endproc 13345 .LFE234: 13347 0002 00BF .section .text.I2C_DMAAbort,"ax",%progbits 13348 .align 1 13349 .p2align 2,,3 13350 .syntax unified 13351 .thumb 13352 .thumb_func 13354 I2C_DMAAbort: 13355 .LVL836: 13356 .LFB201: 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13357 .loc 1 6967 1 is_stmt 1 view -0 13358 .cfi_startproc 13359 @ args = 0, pretend = 0, frame = 0 13360 @ frame_needed = 0, uses_anonymous_args = 0 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13361 .loc 1 6969 3 view .LVU4922 6969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13362 .loc 1 6969 22 is_stmt 0 view .LVU4923 13363 0000 406A ldr r0, [r0, #36] 13364 .LVL837: 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13365 .loc 1 6972 3 is_stmt 1 view .LVU4924 6967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 13366 .loc 1 6967 1 is_stmt 0 view .LVU4925 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 451 13367 0002 08B5 push {r3, lr} 13368 .LCFI170: 13369 .cfi_def_cfa_offset 8 13370 .cfi_offset 3, -8 13371 .cfi_offset 14, -4 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13372 .loc 1 6972 11 view .LVU4926 13373 0004 836B ldr r3, [r0, #56] 6972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13374 .loc 1 6972 6 view .LVU4927 13375 0006 0BB1 cbz r3, .L1080 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13376 .loc 1 6974 5 is_stmt 1 view .LVU4928 6974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13377 .loc 1 6974 37 is_stmt 0 view .LVU4929 13378 0008 0022 movs r2, #0 13379 000a 5A63 str r2, [r3, #52] 13380 .L1080: 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13381 .loc 1 6976 3 is_stmt 1 view .LVU4930 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13382 .loc 1 6976 11 is_stmt 0 view .LVU4931 13383 000c C36B ldr r3, [r0, #60] 6976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13384 .loc 1 6976 6 view .LVU4932 13385 000e 0BB1 cbz r3, .L1081 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13386 .loc 1 6978 5 is_stmt 1 view .LVU4933 6978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13387 .loc 1 6978 37 is_stmt 0 view .LVU4934 13388 0010 0022 movs r2, #0 13389 0012 5A63 str r2, [r3, #52] 13390 .L1081: 6981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13391 .loc 1 6981 3 is_stmt 1 view .LVU4935 13392 .LVL838: 13393 .LBB586: 13394 .LBI586: 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13395 .loc 1 6720 13 view .LVU4936 13396 .LBB587: 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13397 .loc 1 6722 3 view .LVU4937 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13398 .loc 1 6722 11 is_stmt 0 view .LVU4938 13399 0014 90F84130 ldrb r3, [r0, #65] @ zero_extendqisi2 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13400 .loc 1 6722 6 view .LVU4939 13401 0018 602B cmp r3, #96 13402 .LBB588: 13403 .LBB589: 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13404 .loc 1 6725 25 view .LVU4940 13405 001a 4FF00003 mov r3, #0 13406 .LBE589: 13407 .LBE588: 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 452 13408 .loc 1 6722 6 view .LVU4941 13409 001e 05D0 beq .L1091 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13410 .loc 1 6739 5 is_stmt 1 view .LVU4942 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13411 .loc 1 6739 25 is_stmt 0 view .LVU4943 13412 0020 0363 str r3, [r0, #48] 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13413 .loc 1 6742 5 is_stmt 1 view .LVU4944 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13414 .loc 1 6742 5 view .LVU4945 13415 0022 80F84030 strb r3, [r0, #64] 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13416 .loc 1 6742 5 view .LVU4946 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13417 .loc 1 6748 5 view .LVU4947 13418 0026 FFF7FEFF bl HAL_I2C_ErrorCallback 13419 .LVL839: 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13420 .loc 1 6748 5 is_stmt 0 view .LVU4948 13421 .LBE587: 13422 .LBE586: 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13423 .loc 1 6982 1 view .LVU4949 13424 002a 08BD pop {r3, pc} 13425 .LVL840: 13426 .L1091: 13427 .LBB593: 13428 .LBB592: 13429 .LBB591: 13430 .LBI588: 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13431 .loc 1 6720 13 is_stmt 1 view .LVU4950 13432 .LBB590: 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13433 .loc 1 6724 5 view .LVU4951 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13434 .loc 1 6724 17 is_stmt 0 view .LVU4952 13435 002c 2022 movs r2, #32 13436 002e 80F84120 strb r2, [r0, #65] 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13437 .loc 1 6725 5 is_stmt 1 view .LVU4953 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13438 .loc 1 6728 5 is_stmt 0 view .LVU4954 13439 0032 80F84030 strb r3, [r0, #64] 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13440 .loc 1 6725 25 view .LVU4955 13441 0036 0363 str r3, [r0, #48] 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13442 .loc 1 6728 5 is_stmt 1 view .LVU4956 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13443 .loc 1 6728 5 view .LVU4957 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13444 .loc 1 6728 5 view .LVU4958 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13445 .loc 1 6734 5 view .LVU4959 13446 0038 FFF7FEFF bl HAL_I2C_AbortCpltCallback ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 453 13447 .LVL841: 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13448 .loc 1 6734 5 is_stmt 0 view .LVU4960 13449 .LBE590: 13450 .LBE591: 13451 .LBE592: 13452 .LBE593: 6982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13453 .loc 1 6982 1 view .LVU4961 13454 003c 08BD pop {r3, pc} 13455 .cfi_endproc 13456 .LFE201: 13458 003e 00BF .section .text.I2C_ITError,"ax",%progbits 13459 .align 1 13460 .p2align 2,,3 13461 .syntax unified 13462 .thumb 13463 .thumb_func 13465 I2C_ITError: 13466 .LVL842: 13467 .LFB193: 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 13468 .loc 1 6590 1 is_stmt 1 view -0 13469 .cfi_startproc 13470 @ args = 0, pretend = 0, frame = 0 13471 @ frame_needed = 0, uses_anonymous_args = 0 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13472 .loc 1 6591 3 view .LVU4963 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 13473 .loc 1 6590 1 is_stmt 0 view .LVU4964 13474 0000 10B5 push {r4, lr} 13475 .LCFI171: 13476 .cfi_def_cfa_offset 8 13477 .cfi_offset 4, -8 13478 .cfi_offset 14, -4 6590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 13479 .loc 1 6590 1 view .LVU4965 13480 0002 0446 mov r4, r0 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 13481 .loc 1 6597 23 view .LVU4966 13482 0004 564A ldr r2, .L1155 6591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13483 .loc 1 6591 24 view .LVU4967 13484 0006 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 13485 .LVL843: 6593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13486 .loc 1 6593 3 is_stmt 1 view .LVU4968 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 13487 .loc 1 6596 3 view .LVU4969 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 13488 .loc 1 6596 23 is_stmt 0 view .LVU4970 13489 000a 0020 movs r0, #0 13490 .LVL844: 6596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 13491 .loc 1 6596 23 view .LVU4971 13492 000c 84F84200 strb r0, [r4, #66] 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 454 13493 .loc 1 6597 3 is_stmt 1 view .LVU4972 6597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount = 0U; 13494 .loc 1 6597 23 is_stmt 0 view .LVU4973 13495 0010 E262 str r2, [r4, #44] 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13496 .loc 1 6598 3 is_stmt 1 view .LVU4974 6598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13497 .loc 1 6598 23 is_stmt 0 view .LVU4975 13498 0012 6085 strh r0, [r4, #42] @ movhi 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13499 .loc 1 6601 3 is_stmt 1 view .LVU4976 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13500 .loc 1 6601 19 is_stmt 0 view .LVU4977 13501 0014 626C ldr r2, [r4, #68] 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 13502 .loc 1 6604 6 view .LVU4978 13503 0016 283B subs r3, r3, #40 13504 .LVL845: 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13505 .loc 1 6601 19 view .LVU4979 13506 0018 1143 orrs r1, r1, r2 13507 .LVL846: 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 13508 .loc 1 6604 6 view .LVU4980 13509 001a 022B cmp r3, #2 6601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13510 .loc 1 6601 19 view .LVU4981 13511 001c 6164 str r1, [r4, #68] 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 13512 .loc 1 6604 3 is_stmt 1 view .LVU4982 6604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) || 13513 .loc 1 6604 6 is_stmt 0 view .LVU4983 13514 001e 64D8 bhi .L1093 6609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13515 .loc 1 6609 5 is_stmt 1 view .LVU4984 13516 .LVL847: 13517 .LBB612: 13518 .LBI612: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13519 .loc 1 7451 13 view .LVU4985 13520 .LBB613: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13521 .loc 1 7453 3 view .LVU4986 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13522 .loc 1 7455 3 view .LVU4987 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13523 .loc 1 7458 5 view .LVU4988 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13524 .loc 1 7460 5 view .LVU4989 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13525 .loc 1 7460 24 is_stmt 0 view .LVU4990 13526 0020 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13527 .loc 1 7472 24 view .LVU4991 13528 0024 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 13529 .LBE613: 13530 .LBE612: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 455 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13531 .loc 1 6613 25 view .LVU4992 13532 0028 4E48 ldr r0, .L1155+4 13533 .LBB616: 13534 .LBB614: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13535 .loc 1 7460 8 view .LVU4993 13536 002a 02F02802 and r2, r2, #40 13537 002e 282A cmp r2, #40 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13538 .loc 1 7472 8 view .LVU4994 13539 0030 03F02803 and r3, r3, #40 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13540 .loc 1 7460 8 view .LVU4995 13541 0034 0CBF ite eq 13542 0036 4622 moveq r2, #70 13543 0038 F622 movne r2, #246 13544 .LVL848: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13545 .loc 1 7467 3 is_stmt 1 view .LVU4996 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13546 .loc 1 7470 5 view .LVU4997 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13547 .loc 1 7472 5 view .LVU4998 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13548 .loc 1 7472 8 is_stmt 0 view .LVU4999 13549 003a 282B cmp r3, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13550 .loc 1 7506 3 view .LVU5000 13551 003c 2368 ldr r3, [r4] 13552 003e 08BF it eq 13553 0040 D143 mvneq r1, r2 13554 0042 1A68 ldr r2, [r3] 13555 0044 18BF it ne 13556 0046 6FF0F601 mvnne r1, #246 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13557 .loc 1 7479 3 is_stmt 1 view .LVU5001 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13558 .loc 1 7485 3 view .LVU5002 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13559 .loc 1 7491 3 view .LVU5003 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13560 .loc 1 7497 3 view .LVU5004 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13561 .loc 1 7506 3 view .LVU5005 13562 004a 0A40 ands r2, r2, r1 13563 .LBE614: 13564 .LBE616: 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 13565 .loc 1 6612 25 is_stmt 0 view .LVU5006 13566 004c 2821 movs r1, #40 13567 .LBB617: 13568 .LBB615: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13569 .loc 1 7506 3 view .LVU5007 13570 004e 1A60 str r2, [r3] 13571 .LVL849: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 456 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13572 .loc 1 7506 3 view .LVU5008 13573 .LBE615: 13574 .LBE617: 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 13575 .loc 1 6612 5 is_stmt 1 view .LVU5009 6612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT; 13576 .loc 1 6612 25 is_stmt 0 view .LVU5010 13577 0050 84F84110 strb r1, [r4, #65] 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13578 .loc 1 6613 5 is_stmt 1 view .LVU5011 6613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13579 .loc 1 6613 25 is_stmt 0 view .LVU5012 13580 0054 6063 str r0, [r4, #52] 13581 .L1096: 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13582 .loc 1 6648 3 is_stmt 1 view .LVU5013 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 13583 .loc 1 6650 12 is_stmt 0 view .LVU5014 13584 0056 A06B ldr r0, [r4, #56] 6648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13585 .loc 1 6648 20 view .LVU5015 13586 0058 226B ldr r2, [r4, #48] 13587 .LVL850: 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 13588 .loc 1 6650 3 is_stmt 1 view .LVU5016 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 13589 .loc 1 6650 6 is_stmt 0 view .LVU5017 13590 005a 18B1 cbz r0, .L1103 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 13591 .loc 1 6650 30 discriminator 1 view .LVU5018 13592 005c 112A cmp r2, #17 13593 005e 14D0 beq .L1104 6650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_TX))) 13594 .loc 1 6650 81 discriminator 2 view .LVU5019 13595 0060 212A cmp r2, #33 13596 0062 12D0 beq .L1104 13597 .L1103: 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 13598 .loc 1 6680 8 is_stmt 1 view .LVU5020 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 13599 .loc 1 6680 17 is_stmt 0 view .LVU5021 13600 0064 E06B ldr r0, [r4, #60] 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 13601 .loc 1 6680 11 view .LVU5022 13602 0066 18B1 cbz r0, .L1110 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 13603 .loc 1 6680 35 discriminator 1 view .LVU5023 13604 0068 122A cmp r2, #18 13605 006a 24D0 beq .L1111 6680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmppreviousstate == I2C_STATE_SLAVE_BUSY_RX))) 13606 .loc 1 6680 86 discriminator 2 view .LVU5024 13607 006c 222A cmp r2, #34 13608 006e 22D0 beq .L1111 13609 .LVL851: 13610 .L1110: 6711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 457 13611 .loc 1 6711 5 is_stmt 1 view .LVU5025 13612 .LBB618: 13613 .LBI618: 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13614 .loc 1 6720 13 view .LVU5026 13615 .LBB619: 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13616 .loc 1 6722 3 view .LVU5027 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13617 .loc 1 6722 11 is_stmt 0 view .LVU5028 13618 0070 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13619 .loc 1 6722 6 view .LVU5029 13620 0074 602B cmp r3, #96 13621 .LBB620: 13622 .LBB621: 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13623 .loc 1 6725 25 view .LVU5030 13624 0076 4FF00003 mov r3, #0 13625 .LBE621: 13626 .LBE620: 6722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13627 .loc 1 6722 6 view .LVU5031 13628 007a 67D0 beq .L1153 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13629 .loc 1 6739 5 is_stmt 1 view .LVU5032 6739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13630 .loc 1 6739 25 is_stmt 0 view .LVU5033 13631 007c 2363 str r3, [r4, #48] 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13632 .loc 1 6742 5 is_stmt 1 view .LVU5034 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13633 .loc 1 6742 5 view .LVU5035 13634 007e 84F84030 strb r3, [r4, #64] 6742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13635 .loc 1 6742 5 view .LVU5036 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13636 .loc 1 6748 5 view .LVU5037 13637 0082 2046 mov r0, r4 13638 0084 FFF7FEFF bl HAL_I2C_ErrorCallback 13639 .LVL852: 13640 .L1092: 6748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13641 .loc 1 6748 5 is_stmt 0 view .LVU5038 13642 .LBE619: 13643 .LBE618: 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13644 .loc 1 6713 1 view .LVU5039 13645 0088 10BD pop {r4, pc} 13646 .LVL853: 13647 .L1104: 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13648 .loc 1 6653 5 is_stmt 1 view .LVU5040 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13649 .loc 1 6653 24 is_stmt 0 view .LVU5041 13650 008a 1A68 ldr r2, [r3] 13651 .LVL854: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 458 6653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13652 .loc 1 6653 8 view .LVU5042 13653 008c 5104 lsls r1, r2, #17 13654 008e 58D4 bmi .L1154 13655 .L1105: 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13656 .loc 1 6658 5 is_stmt 1 view .LVU5043 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13657 .loc 1 6658 9 is_stmt 0 view .LVU5044 13658 0090 FFF7FEFF bl HAL_DMA_GetState 13659 .LVL855: 6658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13660 .loc 1 6658 8 view .LVU5045 13661 0094 0128 cmp r0, #1 13662 0096 EBD0 beq .L1110 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13663 .loc 1 6662 7 is_stmt 1 view .LVU5046 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13664 .loc 1 6662 11 is_stmt 0 view .LVU5047 13665 0098 A06B ldr r0, [r4, #56] 6662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13666 .loc 1 6662 39 view .LVU5048 13667 009a 334A ldr r2, .L1155+8 13668 009c 4263 str r2, [r0, #52] 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13669 .loc 1 6665 7 is_stmt 1 view .LVU5049 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13670 .loc 1 6665 7 view .LVU5050 13671 009e 0023 movs r3, #0 13672 00a0 84F84030 strb r3, [r4, #64] 6665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13673 .loc 1 6665 7 view .LVU5051 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13674 .loc 1 6668 7 view .LVU5052 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13675 .loc 1 6668 11 is_stmt 0 view .LVU5053 13676 00a4 FFF7FEFF bl HAL_DMA_Abort_IT 13677 .LVL856: 6668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13678 .loc 1 6668 10 view .LVU5054 13679 00a8 0028 cmp r0, #0 13680 00aa EDD0 beq .L1092 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13681 .loc 1 6671 9 is_stmt 1 view .LVU5055 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13682 .loc 1 6671 13 is_stmt 0 view .LVU5056 13683 00ac A06B ldr r0, [r4, #56] 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13684 .loc 1 6713 1 view .LVU5057 13685 00ae BDE81040 pop {r4, lr} 13686 .LCFI172: 13687 .cfi_remember_state 13688 .cfi_restore 14 13689 .cfi_restore 4 13690 .cfi_def_cfa_offset 0 13691 .LVL857: 6671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 459 13692 .loc 1 6671 9 view .LVU5058 13693 00b2 436B ldr r3, [r0, #52] 13694 00b4 1847 bx r3 @ indirect register sibling call 13695 .LVL858: 13696 .L1111: 13697 .LCFI173: 13698 .cfi_restore_state 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13699 .loc 1 6683 5 is_stmt 1 view .LVU5059 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13700 .loc 1 6683 24 is_stmt 0 view .LVU5060 13701 00b6 1A68 ldr r2, [r3] 13702 .LVL859: 6683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13703 .loc 1 6683 8 view .LVU5061 13704 00b8 1204 lsls r2, r2, #16 13705 00ba 03D5 bpl .L1112 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13706 .loc 1 6685 7 is_stmt 1 view .LVU5062 6685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13707 .loc 1 6685 27 is_stmt 0 view .LVU5063 13708 00bc 1A68 ldr r2, [r3] 13709 00be 22F40042 bic r2, r2, #32768 13710 00c2 1A60 str r2, [r3] 13711 .L1112: 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13712 .loc 1 6688 5 is_stmt 1 view .LVU5064 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13713 .loc 1 6688 9 is_stmt 0 view .LVU5065 13714 00c4 FFF7FEFF bl HAL_DMA_GetState 13715 .LVL860: 6688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13716 .loc 1 6688 8 view .LVU5066 13717 00c8 0128 cmp r0, #1 13718 00ca D1D0 beq .L1110 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13719 .loc 1 6692 7 is_stmt 1 view .LVU5067 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13720 .loc 1 6692 11 is_stmt 0 view .LVU5068 13721 00cc E06B ldr r0, [r4, #60] 6692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13722 .loc 1 6692 39 view .LVU5069 13723 00ce 264A ldr r2, .L1155+8 13724 00d0 4263 str r2, [r0, #52] 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13725 .loc 1 6695 7 is_stmt 1 view .LVU5070 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13726 .loc 1 6695 7 view .LVU5071 13727 00d2 0023 movs r3, #0 13728 00d4 84F84030 strb r3, [r4, #64] 6695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13729 .loc 1 6695 7 view .LVU5072 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13730 .loc 1 6698 7 view .LVU5073 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13731 .loc 1 6698 11 is_stmt 0 view .LVU5074 13732 00d8 FFF7FEFF bl HAL_DMA_Abort_IT ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 460 13733 .LVL861: 6698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13734 .loc 1 6698 10 view .LVU5075 13735 00dc 0028 cmp r0, #0 13736 00de D3D0 beq .L1092 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13737 .loc 1 6701 9 is_stmt 1 view .LVU5076 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13738 .loc 1 6701 13 is_stmt 0 view .LVU5077 13739 00e0 E06B ldr r0, [r4, #60] 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13740 .loc 1 6713 1 view .LVU5078 13741 00e2 BDE81040 pop {r4, lr} 13742 .LCFI174: 13743 .cfi_remember_state 13744 .cfi_restore 14 13745 .cfi_restore 4 13746 .cfi_def_cfa_offset 0 13747 .LVL862: 6701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13748 .loc 1 6701 9 view .LVU5079 13749 00e6 436B ldr r3, [r0, #52] 13750 00e8 1847 bx r3 @ indirect register sibling call 13751 .LVL863: 13752 .L1093: 13753 .LCFI175: 13754 .cfi_restore_state 6618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13755 .loc 1 6618 5 is_stmt 1 view .LVU5080 13756 .LBB625: 13757 .LBI625: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13758 .loc 1 7451 13 view .LVU5081 13759 .LBB626: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13760 .loc 1 7453 3 view .LVU5082 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13761 .loc 1 7455 3 view .LVU5083 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13762 .loc 1 7458 5 view .LVU5084 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13763 .loc 1 7460 5 view .LVU5085 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13764 .loc 1 7506 3 is_stmt 0 view .LVU5086 13765 00ea 2368 ldr r3, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13766 .loc 1 7460 24 view .LVU5087 13767 00ec 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 13768 .LVL864: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13769 .loc 1 7467 3 is_stmt 1 view .LVU5088 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13770 .loc 1 7470 5 view .LVU5089 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13771 .loc 1 7472 5 view .LVU5090 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13772 .loc 1 7472 24 is_stmt 0 view .LVU5091 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 461 13773 00f0 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13774 .loc 1 7479 3 is_stmt 1 view .LVU5092 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13775 .loc 1 7482 5 view .LVU5093 13776 .LVL865: 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13777 .loc 1 7485 3 view .LVU5094 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13778 .loc 1 7491 3 view .LVU5095 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13779 .loc 1 7497 3 view .LVU5096 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13780 .loc 1 7506 3 view .LVU5097 13781 00f4 1A68 ldr r2, [r3] 13782 00f6 22F0FE02 bic r2, r2, #254 13783 00fa 1A60 str r2, [r3] 13784 .LVL866: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13785 .loc 1 7506 3 is_stmt 0 view .LVU5098 13786 .LBE626: 13787 .LBE625: 6621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13788 .loc 1 6621 5 is_stmt 1 view .LVU5099 13789 .LBB627: 13790 .LBI627: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13791 .loc 1 6758 13 view .LVU5100 13792 .LBB628: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13793 .loc 1 6762 3 view .LVU5101 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13794 .loc 1 6762 7 is_stmt 0 view .LVU5102 13795 00fc 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13796 .loc 1 6762 6 view .LVU5103 13797 00fe 9207 lsls r2, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13798 .loc 1 6764 5 is_stmt 1 view .LVU5104 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13799 .loc 1 6768 3 view .LVU5105 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13800 .loc 1 6764 26 is_stmt 0 view .LVU5106 13801 0100 48BF it mi 13802 0102 9862 strmi r0, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13803 .loc 1 6768 7 view .LVU5107 13804 0104 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13805 .loc 1 6768 6 view .LVU5108 13806 0106 D107 lsls r1, r2, #31 13807 0108 03D4 bmi .L1098 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13808 .loc 1 6770 5 is_stmt 1 view .LVU5109 13809 010a 9A69 ldr r2, [r3, #24] 13810 010c 42F00102 orr r2, r2, #1 13811 0110 9A61 str r2, [r3, #24] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 462 13812 .L1098: 13813 .LVL867: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13814 .loc 1 6770 5 is_stmt 0 view .LVU5110 13815 .LBE628: 13816 .LBE627: 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13817 .loc 1 6625 5 is_stmt 1 view .LVU5111 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13818 .loc 1 6625 13 is_stmt 0 view .LVU5112 13819 0112 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13820 .loc 1 6625 8 view .LVU5113 13821 0116 602A cmp r2, #96 13822 0118 10D0 beq .L1100 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13823 .loc 1 6628 7 is_stmt 1 view .LVU5114 6628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13824 .loc 1 6628 27 is_stmt 0 view .LVU5115 13825 011a 2022 movs r2, #32 13826 011c 84F84120 strb r2, [r4, #65] 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13827 .loc 1 6631 7 is_stmt 1 view .LVU5116 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13828 .loc 1 6631 11 is_stmt 0 view .LVU5117 13829 0120 9A69 ldr r2, [r3, #24] 6631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13830 .loc 1 6631 10 view .LVU5118 13831 0122 9206 lsls r2, r2, #26 13832 0124 0AD5 bpl .L1100 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13833 .loc 1 6633 9 is_stmt 1 view .LVU5119 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13834 .loc 1 6633 13 is_stmt 0 view .LVU5120 13835 0126 9A69 ldr r2, [r3, #24] 6633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13836 .loc 1 6633 12 view .LVU5121 13837 0128 D006 lsls r0, r2, #27 13838 012a 05D5 bpl .L1102 6635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF; 13839 .loc 1 6635 11 is_stmt 1 view .LVU5122 13840 012c 1022 movs r2, #16 13841 012e DA61 str r2, [r3, #28] 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13842 .loc 1 6636 11 view .LVU5123 6636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13843 .loc 1 6636 27 is_stmt 0 view .LVU5124 13844 0130 626C ldr r2, [r4, #68] 13845 0132 42F00402 orr r2, r2, #4 13846 0136 6264 str r2, [r4, #68] 13847 .L1102: 6640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13848 .loc 1 6640 9 is_stmt 1 view .LVU5125 13849 0138 2022 movs r2, #32 13850 013a DA61 str r2, [r3, #28] 13851 .L1100: 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 463 13852 .loc 1 6644 5 view .LVU5126 6644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13853 .loc 1 6644 25 is_stmt 0 view .LVU5127 13854 013c 0022 movs r2, #0 13855 013e 6263 str r2, [r4, #52] 13856 0140 89E7 b .L1096 13857 .L1154: 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13858 .loc 1 6655 7 is_stmt 1 view .LVU5128 6655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13859 .loc 1 6655 27 is_stmt 0 view .LVU5129 13860 0142 1A68 ldr r2, [r3] 13861 0144 22F48042 bic r2, r2, #16384 13862 0148 1A60 str r2, [r3] 13863 014a A1E7 b .L1105 13864 .LVL868: 13865 .L1153: 13866 .LBB629: 13867 .LBB624: 13868 .LBB623: 13869 .LBI620: 6720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13870 .loc 1 6720 13 is_stmt 1 view .LVU5130 13871 .LBB622: 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13872 .loc 1 6724 5 view .LVU5131 6724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13873 .loc 1 6724 17 is_stmt 0 view .LVU5132 13874 014c 2022 movs r2, #32 13875 014e 84F84120 strb r2, [r4, #65] 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13876 .loc 1 6725 5 is_stmt 1 view .LVU5133 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13877 .loc 1 6728 5 is_stmt 0 view .LVU5134 13878 0152 84F84030 strb r3, [r4, #64] 6725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13879 .loc 1 6725 25 view .LVU5135 13880 0156 2363 str r3, [r4, #48] 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13881 .loc 1 6728 5 is_stmt 1 view .LVU5136 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13882 .loc 1 6728 5 view .LVU5137 6728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13883 .loc 1 6728 5 view .LVU5138 6734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 13884 .loc 1 6734 5 view .LVU5139 13885 0158 2046 mov r0, r4 13886 015a FFF7FEFF bl HAL_I2C_AbortCpltCallback 13887 .LVL869: 13888 .LBE622: 13889 .LBE623: 13890 .LBE624: 13891 .LBE629: 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13892 .loc 1 6713 1 is_stmt 0 view .LVU5140 13893 015e 10BD pop {r4, pc} 13894 .LVL870: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 464 13895 .L1156: 6713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13896 .loc 1 6713 1 view .LVU5141 13897 .align 2 13898 .L1155: 13899 0160 0000FFFF .word -65536 13900 0164 00000000 .word I2C_Slave_ISR_IT 13901 0168 00000000 .word I2C_DMAAbort 13902 .cfi_endproc 13903 .LFE193: 13905 .section .text.I2C_ITSlaveCplt,"ax",%progbits 13906 .align 1 13907 .p2align 2,,3 13908 .syntax unified 13909 .thumb 13910 .thumb_func 13912 I2C_ITSlaveCplt: 13913 .LVL871: 13914 .LFB191: 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 13915 .loc 1 6323 1 is_stmt 1 view -0 13916 .cfi_startproc 13917 @ args = 0, pretend = 0, frame = 0 13918 @ frame_needed = 0, uses_anonymous_args = 0 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 13919 .loc 1 6324 3 view .LVU5143 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 13920 .loc 1 6323 1 is_stmt 0 view .LVU5144 13921 0000 70B5 push {r4, r5, r6, lr} 13922 .LCFI176: 13923 .cfi_def_cfa_offset 16 13924 .cfi_offset 4, -16 13925 .cfi_offset 5, -12 13926 .cfi_offset 6, -8 13927 .cfi_offset 14, -4 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 13928 .loc 1 6324 26 view .LVU5145 13929 0002 0368 ldr r3, [r0] 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 13930 .loc 1 6323 1 view .LVU5146 13931 0004 0446 mov r4, r0 6324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 13932 .loc 1 6324 12 view .LVU5147 13933 0006 1868 ldr r0, [r3] 13934 .LVL872: 6325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 13935 .loc 1 6325 3 is_stmt 1 view .LVU5148 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 13936 .loc 1 6326 12 is_stmt 0 view .LVU5149 13937 0008 E66A ldr r6, [r4, #44] 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13938 .loc 1 6327 24 view .LVU5150 13939 000a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 6323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1); 13940 .loc 1 6323 1 view .LVU5151 13941 000e 0D46 mov r5, r1 13942 .LVL873: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 465 6326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State; 13943 .loc 1 6326 3 is_stmt 1 view .LVU5152 6327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13944 .loc 1 6327 3 view .LVU5153 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13945 .loc 1 6330 3 is_stmt 0 view .LVU5154 13946 0010 2021 movs r1, #32 13947 .LVL874: 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13948 .loc 1 6330 3 view .LVU5155 13949 0012 D961 str r1, [r3, #28] 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13950 .loc 1 6333 6 view .LVU5156 13951 0014 02F0F701 and r1, r2, #247 13952 .LVL875: 6330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13953 .loc 1 6330 3 is_stmt 1 view .LVU5157 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13954 .loc 1 6333 3 view .LVU5158 6333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13955 .loc 1 6333 6 is_stmt 0 view .LVU5159 13956 0018 2129 cmp r1, #33 13957 001a 10D0 beq .L1210 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13958 .loc 1 6338 8 is_stmt 1 view .LVU5160 6338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13959 .loc 1 6338 11 is_stmt 0 view .LVU5161 13960 001c 2229 cmp r1, #34 13961 001e 00F0A980 beq .L1211 13962 0022 D2B2 uxtb r2, r2 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13963 .loc 1 6343 8 is_stmt 1 view .LVU5162 6343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13964 .loc 1 6343 11 is_stmt 0 view .LVU5163 13965 0024 282A cmp r2, #40 13966 0026 11D1 bne .L1159 6345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 13967 .loc 1 6345 5 is_stmt 1 view .LVU5164 13968 .LVL876: 13969 .LBB640: 13970 .LBI640: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13971 .loc 1 7451 13 view .LVU5165 13972 .LBB641: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13973 .loc 1 7453 3 view .LVU5166 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13974 .loc 1 7455 3 view .LVU5167 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13975 .loc 1 7458 5 view .LVU5168 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13976 .loc 1 7460 5 view .LVU5169 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13977 .loc 1 7460 24 is_stmt 0 view .LVU5170 13978 0028 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 13979 .LVL877: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 466 13980 .loc 1 7467 3 is_stmt 1 view .LVU5171 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 13981 .loc 1 7470 5 view .LVU5172 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13982 .loc 1 7472 5 view .LVU5173 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13983 .loc 1 7472 24 is_stmt 0 view .LVU5174 13984 002c 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13985 .loc 1 7479 3 is_stmt 1 view .LVU5175 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13986 .loc 1 7482 5 view .LVU5176 13987 .LVL878: 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13988 .loc 1 7485 3 view .LVU5177 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13989 .loc 1 7491 3 view .LVU5178 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 13990 .loc 1 7497 3 view .LVU5179 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13991 .loc 1 7506 3 view .LVU5180 13992 0030 1A68 ldr r2, [r3] 13993 0032 22F0FE02 bic r2, r2, #254 13994 0036 1A60 str r2, [r3] 13995 .LVL879: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13996 .loc 1 7506 3 is_stmt 0 view .LVU5181 13997 .LBE641: 13998 .LBE640: 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 13999 .loc 1 6346 5 is_stmt 1 view .LVU5182 6346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14000 .loc 1 6346 25 is_stmt 0 view .LVU5183 14001 0038 0022 movs r2, #0 14002 003a 2263 str r2, [r4, #48] 14003 003c 06E0 b .L1159 14004 .LVL880: 14005 .L1210: 6335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX; 14006 .loc 1 6335 5 is_stmt 1 view .LVU5184 14007 .LBB642: 14008 .LBI642: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14009 .loc 1 7451 13 view .LVU5185 14010 .LBB643: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14011 .loc 1 7453 3 view .LVU5186 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14012 .loc 1 7455 3 view .LVU5187 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14013 .loc 1 7458 5 view .LVU5188 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14014 .loc 1 7460 5 view .LVU5189 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14015 .loc 1 7460 24 is_stmt 0 view .LVU5190 14016 003e 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 14017 .LVL881: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 467 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14018 .loc 1 7467 3 is_stmt 1 view .LVU5191 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14019 .loc 1 7479 3 view .LVU5192 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14020 .loc 1 7482 5 view .LVU5193 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14021 .loc 1 7485 3 view .LVU5194 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14022 .loc 1 7491 3 view .LVU5195 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14023 .loc 1 7497 3 view .LVU5196 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14024 .loc 1 7506 3 view .LVU5197 14025 0042 1A68 ldr r2, [r3] 14026 0044 22F0FA02 bic r2, r2, #250 14027 0048 1A60 str r2, [r3] 14028 .LVL882: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14029 .loc 1 7506 3 is_stmt 0 view .LVU5198 14030 .LBE643: 14031 .LBE642: 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14032 .loc 1 6336 5 is_stmt 1 view .LVU5199 6336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14033 .loc 1 6336 25 is_stmt 0 view .LVU5200 14034 004a 2163 str r1, [r4, #48] 14035 .L1159: 6351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14036 .loc 1 6351 3 is_stmt 1 view .LVU5201 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14037 .loc 1 6354 3 view .LVU5202 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14038 .loc 1 6354 23 is_stmt 0 view .LVU5203 14039 004c 5A68 ldr r2, [r3, #4] 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14040 .loc 1 6357 3 view .LVU5204 14041 004e 6149 ldr r1, .L1218 6354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14042 .loc 1 6354 23 view .LVU5205 14043 0050 42F40042 orr r2, r2, #32768 14044 0054 5A60 str r2, [r3, #4] 6357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14045 .loc 1 6357 3 is_stmt 1 view .LVU5206 14046 0056 5A68 ldr r2, [r3, #4] 14047 0058 0A40 ands r2, r2, r1 14048 005a 5A60 str r2, [r3, #4] 6360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14049 .loc 1 6360 3 view .LVU5207 14050 .LVL883: 14051 .LBB644: 14052 .LBI644: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14053 .loc 1 6758 13 view .LVU5208 14054 .LBB645: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14055 .loc 1 6762 3 view .LVU5209 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 468 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14056 .loc 1 6762 7 is_stmt 0 view .LVU5210 14057 005c 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14058 .loc 1 6762 6 view .LVU5211 14059 005e 9207 lsls r2, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14060 .loc 1 6764 5 is_stmt 1 view .LVU5212 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14061 .loc 1 6768 3 view .LVU5213 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14062 .loc 1 6764 26 is_stmt 0 view .LVU5214 14063 0060 44BF itt mi 14064 0062 0022 movmi r2, #0 14065 0064 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14066 .loc 1 6768 7 view .LVU5215 14067 0066 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14068 .loc 1 6768 6 view .LVU5216 14069 0068 D107 lsls r1, r2, #31 14070 006a 03D4 bmi .L1162 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14071 .loc 1 6770 5 is_stmt 1 view .LVU5217 14072 006c 9A69 ldr r2, [r3, #24] 14073 006e 42F00102 orr r2, r2, #1 14074 0072 9A61 str r2, [r3, #24] 14075 .L1162: 14076 .LVL884: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14077 .loc 1 6770 5 is_stmt 0 view .LVU5218 14078 .LBE645: 14079 .LBE644: 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14080 .loc 1 6363 3 is_stmt 1 view .LVU5219 6363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14081 .loc 1 6363 6 is_stmt 0 view .LVU5220 14082 0074 4204 lsls r2, r0, #17 14083 0076 3BD5 bpl .L1163 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14084 .loc 1 6366 5 is_stmt 1 view .LVU5221 6366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14085 .loc 1 6366 25 is_stmt 0 view .LVU5222 14086 0078 1A68 ldr r2, [r3] 14087 007a 22F48042 bic r2, r2, #16384 14088 007e 1A60 str r2, [r3] 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14089 .loc 1 6368 5 is_stmt 1 view .LVU5223 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14090 .loc 1 6368 13 is_stmt 0 view .LVU5224 14091 0080 A26B ldr r2, [r4, #56] 6368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14092 .loc 1 6368 8 view .LVU5225 14093 0082 1AB1 cbz r2, .L1165 14094 .L1209: 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14095 .loc 1 6380 7 is_stmt 1 view .LVU5226 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 469 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14096 .loc 1 6380 35 is_stmt 0 view .LVU5227 14097 0084 1268 ldr r2, [r2] 14098 0086 5268 ldr r2, [r2, #4] 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14099 .loc 1 6380 25 view .LVU5228 14100 0088 92B2 uxth r2, r2 6380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14101 .loc 1 6380 23 view .LVU5229 14102 008a 6285 strh r2, [r4, #42] @ movhi 14103 .L1165: 6386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14104 .loc 1 6386 3 is_stmt 1 view .LVU5230 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14105 .loc 1 6389 3 view .LVU5231 6389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14106 .loc 1 6389 6 is_stmt 0 view .LVU5232 14107 008c 6A07 lsls r2, r5, #29 14108 008e 0AD5 bpl .L1167 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14109 .loc 1 6392 5 is_stmt 1 view .LVU5233 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14110 .loc 1 6395 46 is_stmt 0 view .LVU5234 14111 0090 5A6A ldr r2, [r3, #36] 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14112 .loc 1 6395 10 view .LVU5235 14113 0092 636A ldr r3, [r4, #36] 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14114 .loc 1 6395 23 view .LVU5236 14115 0094 1A70 strb r2, [r3] 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14116 .loc 1 6398 19 view .LVU5237 14117 0096 636A ldr r3, [r4, #36] 14118 0098 0133 adds r3, r3, #1 14119 009a 6362 str r3, [r4, #36] 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14120 .loc 1 6400 14 view .LVU5238 14121 009c 238D ldrh r3, [r4, #40] 6392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14122 .loc 1 6392 16 view .LVU5239 14123 009e 25F00405 bic r5, r5, #4 14124 .LVL885: 6395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14125 .loc 1 6395 5 is_stmt 1 view .LVU5240 6398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14126 .loc 1 6398 5 view .LVU5241 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14127 .loc 1 6400 5 view .LVU5242 6400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14128 .loc 1 6400 8 is_stmt 0 view .LVU5243 14129 00a2 002B cmp r3, #0 14130 00a4 5FD1 bne .L1212 14131 .L1167: 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14132 .loc 1 6408 3 is_stmt 1 view .LVU5244 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14133 .loc 1 6408 11 is_stmt 0 view .LVU5245 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 470 14134 00a6 638D ldrh r3, [r4, #42] 14135 00a8 9BB2 uxth r3, r3 6408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14136 .loc 1 6408 6 view .LVU5246 14137 00aa 1BB1 cbz r3, .L1168 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14138 .loc 1 6411 5 is_stmt 1 view .LVU5247 6411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14139 .loc 1 6411 21 is_stmt 0 view .LVU5248 14140 00ac 636C ldr r3, [r4, #68] 14141 00ae 43F00403 orr r3, r3, #4 14142 00b2 6364 str r3, [r4, #68] 14143 .L1168: 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) 14144 .loc 1 6414 3 is_stmt 1 view .LVU5249 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) 14145 .loc 1 6414 6 is_stmt 0 view .LVU5250 14146 00b4 EB06 lsls r3, r5, #27 14147 00b6 01D5 bpl .L1170 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) 14148 .loc 1 6414 58 discriminator 1 view .LVU5251 14149 00b8 C006 lsls r0, r0, #27 14150 .LVL886: 6414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_IT_NACKI) != RESET)) 14151 .loc 1 6414 58 discriminator 1 view .LVU5252 14152 00ba 31D4 bmi .L1213 14153 .L1170: 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 14154 .loc 1 6465 3 is_stmt 1 view .LVU5253 6465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferISR = NULL; 14155 .loc 1 6465 14 is_stmt 0 view .LVU5254 14156 00bc 0023 movs r3, #0 14157 00be 84F84230 strb r3, [r4, #66] 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14158 .loc 1 6466 3 is_stmt 1 view .LVU5255 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14159 .loc 1 6468 11 is_stmt 0 view .LVU5256 14160 00c2 666C ldr r6, [r4, #68] 14161 .LVL887: 6466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14162 .loc 1 6466 17 view .LVU5257 14163 00c4 6363 str r3, [r4, #52] 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14164 .loc 1 6468 3 is_stmt 1 view .LVU5258 6468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14165 .loc 1 6468 6 is_stmt 0 view .LVU5259 14166 00c6 002E cmp r6, #0 14167 00c8 5CD1 bne .L1214 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14168 .loc 1 6480 8 is_stmt 1 view .LVU5260 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14169 .loc 1 6480 16 is_stmt 0 view .LVU5261 14170 00ca E36A ldr r3, [r4, #44] 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14171 .loc 1 6480 11 view .LVU5262 14172 00cc 424D ldr r5, .L1218+4 14173 .LVL888: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 471 6480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14174 .loc 1 6480 11 view .LVU5263 14175 00ce AB42 cmp r3, r5 14176 00d0 18D1 bne .L1215 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14177 .loc 1 6500 8 is_stmt 1 view .LVU5264 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14178 .loc 1 6500 16 is_stmt 0 view .LVU5265 14179 00d2 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14180 .loc 1 6506 5 view .LVU5266 14181 00d6 84F84060 strb r6, [r4, #64] 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14182 .loc 1 6500 11 view .LVU5267 14183 00da 222B cmp r3, #34 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14184 .loc 1 6502 17 view .LVU5268 14185 00dc 4FF02003 mov r3, #32 14186 00e0 84F84130 strb r3, [r4, #65] 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14187 .loc 1 6503 5 is_stmt 1 view .LVU5269 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14188 .loc 1 6512 5 is_stmt 0 view .LVU5270 14189 00e4 2046 mov r0, r4 6503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14190 .loc 1 6503 25 view .LVU5271 14191 00e6 2663 str r6, [r4, #48] 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14192 .loc 1 6506 5 is_stmt 1 view .LVU5272 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14193 .loc 1 6506 5 view .LVU5273 6506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14194 .loc 1 6506 5 view .LVU5274 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14195 .loc 1 6512 5 view .LVU5275 6500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14196 .loc 1 6500 11 is_stmt 0 view .LVU5276 14197 00e8 69D0 beq .L1216 14198 .LVL889: 6517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14199 .loc 1 6517 5 is_stmt 1 view .LVU5277 6527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14200 .loc 1 6527 5 is_stmt 0 view .LVU5278 14201 00ea FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback 14202 .LVL890: 14203 .L1157: 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14204 .loc 1 6530 1 view .LVU5279 14205 00ee 70BD pop {r4, r5, r6, pc} 14206 .LVL891: 14207 .L1163: 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14208 .loc 1 6373 8 is_stmt 1 view .LVU5280 6373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14209 .loc 1 6373 11 is_stmt 0 view .LVU5281 14210 00f0 0104 lsls r1, r0, #16 14211 00f2 CBD5 bpl .L1165 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 472 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14212 .loc 1 6376 5 is_stmt 1 view .LVU5282 6376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14213 .loc 1 6376 25 is_stmt 0 view .LVU5283 14214 00f4 1A68 ldr r2, [r3] 14215 00f6 22F40042 bic r2, r2, #32768 14216 00fa 1A60 str r2, [r3] 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14217 .loc 1 6378 5 is_stmt 1 view .LVU5284 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14218 .loc 1 6378 13 is_stmt 0 view .LVU5285 14219 00fc E26B ldr r2, [r4, #60] 6378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14220 .loc 1 6378 8 view .LVU5286 14221 00fe 002A cmp r2, #0 14222 0100 C0D1 bne .L1209 14223 0102 C3E7 b .L1165 14224 .LVL892: 14225 .L1215: 6483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14226 .loc 1 6483 5 is_stmt 1 view .LVU5287 14227 0104 2046 mov r0, r4 14228 0106 FFF7FEFF bl I2C_ITSlaveSeqCplt 14229 .LVL893: 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 14230 .loc 1 6485 5 view .LVU5288 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14231 .loc 1 6486 17 is_stmt 0 view .LVU5289 14232 010a 2023 movs r3, #32 6485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY; 14233 .loc 1 6485 23 view .LVU5290 14234 010c E562 str r5, [r4, #44] 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14235 .loc 1 6486 5 is_stmt 1 view .LVU5291 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14236 .loc 1 6490 5 is_stmt 0 view .LVU5292 14237 010e 84F84060 strb r6, [r4, #64] 6486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14238 .loc 1 6486 17 view .LVU5293 14239 0112 84F84130 strb r3, [r4, #65] 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14240 .loc 1 6487 5 is_stmt 1 view .LVU5294 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14241 .loc 1 6496 5 is_stmt 0 view .LVU5295 14242 0116 2046 mov r0, r4 6487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14243 .loc 1 6487 25 view .LVU5296 14244 0118 2663 str r6, [r4, #48] 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14245 .loc 1 6490 5 is_stmt 1 view .LVU5297 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14246 .loc 1 6490 5 view .LVU5298 6490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14247 .loc 1 6490 5 view .LVU5299 6496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14248 .loc 1 6496 5 view .LVU5300 14249 011a FFF7FEFF bl HAL_I2C_ListenCpltCallback ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 473 14250 .LVL894: 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14251 .loc 1 6530 1 is_stmt 0 view .LVU5301 14252 011e 70BD pop {r4, r5, r6, pc} 14253 .LVL895: 14254 .L1213: 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14255 .loc 1 6421 5 is_stmt 1 view .LVU5302 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14256 .loc 1 6421 13 is_stmt 0 view .LVU5303 14257 0120 638D ldrh r3, [r4, #42] 14258 0122 9BB2 uxth r3, r3 6421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14259 .loc 1 6421 8 view .LVU5304 14260 0124 002B cmp r3, #0 14261 0126 3BD1 bne .L1172 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14262 .loc 1 6423 7 is_stmt 1 view .LVU5305 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14263 .loc 1 6423 16 is_stmt 0 view .LVU5306 14264 0128 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14265 .loc 1 6423 10 view .LVU5307 14266 012c 282B cmp r3, #40 14267 012e 49D0 beq .L1217 14268 .L1173: 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14269 .loc 1 6430 12 is_stmt 1 view .LVU5308 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14270 .loc 1 6430 21 is_stmt 0 view .LVU5309 14271 0130 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14272 .loc 1 6430 15 view .LVU5310 14273 0134 292B cmp r3, #41 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14274 .loc 1 6433 9 view .LVU5311 14275 0136 2368 ldr r3, [r4] 14276 0138 4FF01002 mov r2, #16 14277 013c DA61 str r2, [r3, #28] 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14278 .loc 1 6430 15 view .LVU5312 14279 013e BDD1 bne .L1170 6430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14280 .loc 1 6430 62 discriminator 1 view .LVU5313 14281 0140 16F5803F cmn r6, #65536 14282 0144 BAD0 beq .L1170 6433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14283 .loc 1 6433 9 is_stmt 1 view .LVU5314 6436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14284 .loc 1 6436 9 view .LVU5315 14285 .LVL896: 14286 .LBB646: 14287 .LBI646: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14288 .loc 1 6758 13 view .LVU5316 14289 .LBB647: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 474 14290 .loc 1 6762 3 view .LVU5317 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14291 .loc 1 6762 7 is_stmt 0 view .LVU5318 14292 0146 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14293 .loc 1 6762 6 view .LVU5319 14294 0148 9107 lsls r1, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14295 .loc 1 6764 5 is_stmt 1 view .LVU5320 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14296 .loc 1 6768 3 view .LVU5321 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14297 .loc 1 6764 26 is_stmt 0 view .LVU5322 14298 014a 44BF itt mi 14299 014c 0022 movmi r2, #0 14300 014e 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14301 .loc 1 6768 7 view .LVU5323 14302 0150 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14303 .loc 1 6768 6 view .LVU5324 14304 0152 D207 lsls r2, r2, #31 14305 0154 03D4 bmi .L1176 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14306 .loc 1 6770 5 is_stmt 1 view .LVU5325 14307 0156 9A69 ldr r2, [r3, #24] 14308 0158 42F00102 orr r2, r2, #1 14309 015c 9A61 str r2, [r3, #24] 14310 .L1176: 14311 .LVL897: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14312 .loc 1 6770 5 is_stmt 0 view .LVU5326 14313 .LBE647: 14314 .LBE646: 6440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14315 .loc 1 6440 9 is_stmt 1 view .LVU5327 14316 015e 2046 mov r0, r4 14317 0160 FFF7FEFF bl I2C_ITSlaveSeqCplt 14318 .LVL898: 14319 0164 AAE7 b .L1170 14320 .LVL899: 14321 .L1212: 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14322 .loc 1 6402 7 view .LVU5328 6402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14323 .loc 1 6402 21 is_stmt 0 view .LVU5329 14324 0166 013B subs r3, r3, #1 14325 0168 2385 strh r3, [r4, #40] @ movhi 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14326 .loc 1 6403 7 is_stmt 1 view .LVU5330 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14327 .loc 1 6403 11 is_stmt 0 view .LVU5331 14328 016a 638D ldrh r3, [r4, #42] 6403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14329 .loc 1 6403 22 view .LVU5332 14330 016c 013B subs r3, r3, #1 14331 016e 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 475 14332 0170 6385 strh r3, [r4, #42] @ movhi 14333 0172 98E7 b .L1167 14334 .LVL900: 14335 .L1211: 6340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX; 14336 .loc 1 6340 5 is_stmt 1 view .LVU5333 14337 .LBB648: 14338 .LBI648: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14339 .loc 1 7451 13 view .LVU5334 14340 .LBB649: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14341 .loc 1 7453 3 view .LVU5335 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14342 .loc 1 7455 3 view .LVU5336 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14343 .loc 1 7467 3 view .LVU5337 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14344 .loc 1 7470 5 view .LVU5338 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14345 .loc 1 7472 5 view .LVU5339 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14346 .loc 1 7472 24 is_stmt 0 view .LVU5340 14347 0174 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 14348 .LVL901: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14349 .loc 1 7479 3 is_stmt 1 view .LVU5341 7482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14350 .loc 1 7482 5 view .LVU5342 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14351 .loc 1 7485 3 view .LVU5343 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14352 .loc 1 7491 3 view .LVU5344 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14353 .loc 1 7497 3 view .LVU5345 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14354 .loc 1 7506 3 view .LVU5346 14355 0178 1A68 ldr r2, [r3] 14356 017a 22F0FC02 bic r2, r2, #252 14357 017e 1A60 str r2, [r3] 14358 .LVL902: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14359 .loc 1 7506 3 is_stmt 0 view .LVU5347 14360 .LBE649: 14361 .LBE648: 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14362 .loc 1 6341 5 is_stmt 1 view .LVU5348 6341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14363 .loc 1 6341 25 is_stmt 0 view .LVU5349 14364 0180 2163 str r1, [r4, #48] 14365 0182 63E7 b .L1159 14366 .LVL903: 14367 .L1214: 6471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14368 .loc 1 6471 5 is_stmt 1 view .LVU5350 14369 0184 616C ldr r1, [r4, #68] 14370 0186 2046 mov r0, r4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 476 14371 0188 FFF7FEFF bl I2C_ITError 14372 .LVL904: 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14373 .loc 1 6474 5 view .LVU5351 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14374 .loc 1 6474 13 is_stmt 0 view .LVU5352 14375 018c 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 6474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14376 .loc 1 6474 8 view .LVU5353 14377 0190 282B cmp r3, #40 14378 0192 ACD1 bne .L1157 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14379 .loc 1 6477 7 is_stmt 1 view .LVU5354 14380 0194 2946 mov r1, r5 14381 0196 2046 mov r0, r4 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14382 .loc 1 6530 1 is_stmt 0 view .LVU5355 14383 0198 BDE87040 pop {r4, r5, r6, lr} 14384 .LCFI177: 14385 .cfi_remember_state 14386 .cfi_restore 14 14387 .cfi_restore 6 14388 .cfi_restore 5 14389 .cfi_restore 4 14390 .cfi_def_cfa_offset 0 14391 .LVL905: 6477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14392 .loc 1 6477 7 view .LVU5356 14393 019c FFF7FEBF b I2C_ITListenCplt 14394 .LVL906: 14395 .L1172: 14396 .LCFI178: 14397 .cfi_restore_state 6452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14398 .loc 1 6452 7 is_stmt 1 view .LVU5357 14399 01a0 2368 ldr r3, [r4] 14400 01a2 1022 movs r2, #16 14401 01a4 DA61 str r2, [r3, #28] 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14402 .loc 1 6455 7 view .LVU5358 6455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14403 .loc 1 6455 23 is_stmt 0 view .LVU5359 14404 01a6 636C ldr r3, [r4, #68] 14405 01a8 43F00403 orr r3, r3, #4 14406 01ac 6364 str r3, [r4, #68] 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14407 .loc 1 6457 7 is_stmt 1 view .LVU5360 6457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14408 .loc 1 6457 10 is_stmt 0 view .LVU5361 14409 01ae 36F08073 bics r3, r6, #16777216 14410 01b2 83D1 bne .L1170 6460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14411 .loc 1 6460 9 is_stmt 1 view .LVU5362 14412 01b4 616C ldr r1, [r4, #68] 14413 01b6 2046 mov r0, r4 14414 01b8 FFF7FEFF bl I2C_ITError 14415 .LVL907: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 477 14416 01bc 7EE7 b .L1170 14417 .LVL908: 14418 .L1216: 6502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 14419 .loc 1 6502 5 view .LVU5363 6512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 14420 .loc 1 6512 5 is_stmt 0 view .LVU5364 14421 01be FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback 14422 .LVL909: 6530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14423 .loc 1 6530 1 view .LVU5365 14424 01c2 70BD pop {r4, r5, r6, pc} 14425 .LVL910: 14426 .L1217: 6423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14427 .loc 1 6423 49 discriminator 1 view .LVU5366 14428 01c4 B6F1007F cmp r6, #33554432 14429 01c8 B2D1 bne .L1173 6428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14430 .loc 1 6428 9 is_stmt 1 view .LVU5367 14431 01ca 2946 mov r1, r5 14432 01cc 2046 mov r0, r4 14433 01ce FFF7FEFF bl I2C_ITListenCplt 14434 .LVL911: 14435 01d2 73E7 b .L1170 14436 .L1219: 14437 .align 2 14438 .L1218: 14439 01d4 00E800FE .word -33495040 14440 01d8 0000FFFF .word -65536 14441 .cfi_endproc 14442 .LFE191: 14444 .section .text.I2C_Slave_ISR_IT,"ax",%progbits 14445 .align 1 14446 .p2align 2,,3 14447 .syntax unified 14448 .thumb 14449 .thumb_func 14451 I2C_Slave_ISR_IT: 14452 .LVL912: 14453 .LFB181: 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 14454 .loc 1 5259 1 view -0 14455 .cfi_startproc 14456 @ args = 0, pretend = 0, frame = 0 14457 @ frame_needed = 0, uses_anonymous_args = 0 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 14458 .loc 1 5260 3 view .LVU5369 5259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 14459 .loc 1 5259 1 is_stmt 0 view .LVU5370 14460 0000 38B5 push {r3, r4, r5, lr} 14461 .LCFI179: 14462 .cfi_def_cfa_offset 16 14463 .cfi_offset 3, -16 14464 .cfi_offset 4, -12 14465 .cfi_offset 5, -8 14466 .cfi_offset 14, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 478 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14467 .loc 1 5264 3 view .LVU5371 14468 0002 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2 5260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 14469 .loc 1 5260 12 view .LVU5372 14470 0006 C56A ldr r5, [r0, #44] 14471 .LVL913: 5261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14472 .loc 1 5261 3 is_stmt 1 view .LVU5373 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14473 .loc 1 5264 3 view .LVU5374 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14474 .loc 1 5264 3 view .LVU5375 14475 0008 BCF1010F cmp ip, #1 14476 000c 6DD0 beq .L1237 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14477 .loc 1 5264 3 discriminator 2 view .LVU5376 14478 000e 4FF0010C mov ip, #1 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 14479 .loc 1 5267 6 is_stmt 0 discriminator 2 view .LVU5377 14480 0012 11F0200F tst r1, #32 14481 0016 0446 mov r4, r0 14482 0018 0B46 mov r3, r1 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14483 .loc 1 5264 3 discriminator 2 view .LVU5378 14484 001a 80F840C0 strb ip, [r0, #64] 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14485 .loc 1 5264 3 is_stmt 1 discriminator 2 view .LVU5379 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 14486 .loc 1 5267 3 discriminator 2 view .LVU5380 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 14487 .loc 1 5267 6 is_stmt 0 discriminator 2 view .LVU5381 14488 001e 02D0 beq .L1222 5267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 14489 .loc 1 5267 61 discriminator 1 view .LVU5382 14490 0020 12F0200F tst r2, #32 14491 0024 51D1 bne .L1281 14492 .L1222: 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 14493 .loc 1 5273 8 is_stmt 1 view .LVU5383 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 14494 .loc 1 5273 11 is_stmt 0 view .LVU5384 14495 0026 D806 lsls r0, r3, #27 14496 .LVL914: 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 14497 .loc 1 5273 11 view .LVU5385 14498 0028 15D5 bpl .L1224 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 14499 .loc 1 5273 63 discriminator 1 view .LVU5386 14500 002a D106 lsls r1, r2, #27 14501 .LVL915: 5273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 14502 .loc 1 5273 63 discriminator 1 view .LVU5387 14503 002c 13D5 bpl .L1224 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14504 .loc 1 5280 5 is_stmt 1 view .LVU5388 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 479 14505 .loc 1 5280 13 is_stmt 0 view .LVU5389 14506 002e 628D ldrh r2, [r4, #42] 14507 .LVL916: 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14508 .loc 1 5280 13 view .LVU5390 14509 0030 92B2 uxth r2, r2 5280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14510 .loc 1 5280 8 view .LVU5391 14511 0032 002A cmp r2, #0 14512 0034 5BD1 bne .L1225 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14513 .loc 1 5282 7 is_stmt 1 view .LVU5392 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14514 .loc 1 5282 16 is_stmt 0 view .LVU5393 14515 0036 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14516 .loc 1 5282 10 view .LVU5394 14517 003a 282A cmp r2, #40 14518 003c 7ED0 beq .L1282 14519 .L1226: 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14520 .loc 1 5289 12 is_stmt 1 view .LVU5395 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14521 .loc 1 5289 21 is_stmt 0 view .LVU5396 14522 003e 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 14523 .LVL917: 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14524 .loc 1 5289 15 view .LVU5397 14525 0042 292B cmp r3, #41 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14526 .loc 1 5292 9 view .LVU5398 14527 0044 2368 ldr r3, [r4] 14528 0046 4FF01002 mov r2, #16 14529 004a DA61 str r2, [r3, #28] 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14530 .loc 1 5289 15 view .LVU5399 14531 004c 62D0 beq .L1283 14532 .LVL918: 14533 .L1223: 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14534 .loc 1 5381 3 is_stmt 1 view .LVU5400 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14535 .loc 1 5384 3 view .LVU5401 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14536 .loc 1 5384 3 view .LVU5402 14537 004e 0020 movs r0, #0 14538 0050 84F84000 strb r0, [r4, #64] 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14539 .loc 1 5384 3 view .LVU5403 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14540 .loc 1 5386 3 view .LVU5404 14541 .L1221: 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14542 .loc 1 5387 1 is_stmt 0 view .LVU5405 14543 0054 38BD pop {r3, r4, r5, pc} 14544 .LVL919: 14545 .L1224: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 480 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 14546 .loc 1 5323 8 is_stmt 1 view .LVU5406 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 14547 .loc 1 5323 11 is_stmt 0 view .LVU5407 14548 0056 5907 lsls r1, r3, #29 14549 0058 19D4 bmi .L1284 14550 .L1231: 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 14551 .loc 1 5345 8 is_stmt 1 view .LVU5408 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 14552 .loc 1 5345 11 is_stmt 0 view .LVU5409 14553 005a 1907 lsls r1, r3, #28 14554 005c 01D5 bpl .L1234 5345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 14555 .loc 1 5345 65 discriminator 1 view .LVU5410 14556 005e 1007 lsls r0, r2, #28 14557 0060 39D4 bmi .L1285 14558 .L1234: 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 14559 .loc 1 5350 8 is_stmt 1 view .LVU5411 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 14560 .loc 1 5350 11 is_stmt 0 view .LVU5412 14561 0062 9907 lsls r1, r3, #30 14562 0064 F3D5 bpl .L1223 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 14563 .loc 1 5350 65 discriminator 1 view .LVU5413 14564 0066 9307 lsls r3, r2, #30 14565 .LVL920: 5350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 14566 .loc 1 5350 65 discriminator 1 view .LVU5414 14567 0068 F1D5 bpl .L1223 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14568 .loc 1 5357 5 is_stmt 1 view .LVU5415 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14569 .loc 1 5357 13 is_stmt 0 view .LVU5416 14570 006a 638D ldrh r3, [r4, #42] 14571 006c 9BB2 uxth r3, r3 5357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14572 .loc 1 5357 8 view .LVU5417 14573 006e 002B cmp r3, #0 14574 0070 4CD0 beq .L1236 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14575 .loc 1 5360 7 is_stmt 1 view .LVU5418 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14576 .loc 1 5360 30 is_stmt 0 view .LVU5419 14577 0072 616A ldr r1, [r4, #36] 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14578 .loc 1 5360 11 view .LVU5420 14579 0074 2368 ldr r3, [r4] 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14580 .loc 1 5360 30 view .LVU5421 14581 0076 11F8012B ldrb r2, [r1], #1 @ zero_extendqisi2 14582 .LVL921: 5360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14583 .loc 1 5360 28 view .LVU5422 14584 007a 9A62 str r2, [r3, #40] 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 481 14585 .loc 1 5363 7 is_stmt 1 view .LVU5423 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 14586 .loc 1 5365 11 is_stmt 0 view .LVU5424 14587 007c 638D ldrh r3, [r4, #42] 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14588 .loc 1 5366 21 view .LVU5425 14589 007e 228D ldrh r2, [r4, #40] 5363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14590 .loc 1 5363 21 view .LVU5426 14591 0080 6162 str r1, [r4, #36] 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 14592 .loc 1 5365 7 is_stmt 1 view .LVU5427 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 14593 .loc 1 5365 22 is_stmt 0 view .LVU5428 14594 0082 013B subs r3, r3, #1 14595 0084 9BB2 uxth r3, r3 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14596 .loc 1 5366 21 view .LVU5429 14597 0086 013A subs r2, r2, #1 5365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize--; 14598 .loc 1 5365 22 view .LVU5430 14599 0088 6385 strh r3, [r4, #42] @ movhi 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14600 .loc 1 5366 7 is_stmt 1 view .LVU5431 5366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14601 .loc 1 5366 21 is_stmt 0 view .LVU5432 14602 008a 2285 strh r2, [r4, #40] @ movhi 14603 008c DFE7 b .L1223 14604 .LVL922: 14605 .L1284: 5323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 14606 .loc 1 5323 65 discriminator 1 view .LVU5433 14607 008e 5007 lsls r0, r2, #29 14608 0090 E3D5 bpl .L1231 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14609 .loc 1 5326 5 is_stmt 1 view .LVU5434 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14610 .loc 1 5326 13 is_stmt 0 view .LVU5435 14611 0092 638D ldrh r3, [r4, #42] 14612 .LVL923: 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14613 .loc 1 5326 13 view .LVU5436 14614 0094 9BB2 uxth r3, r3 5326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14615 .loc 1 5326 8 view .LVU5437 14616 0096 6BB1 cbz r3, .L1232 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14617 .loc 1 5329 7 is_stmt 1 view .LVU5438 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14618 .loc 1 5329 38 is_stmt 0 view .LVU5439 14619 0098 2268 ldr r2, [r4] 14620 .LVL924: 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14621 .loc 1 5329 12 view .LVU5440 14622 009a 636A ldr r3, [r4, #36] 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14623 .loc 1 5329 48 view .LVU5441 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 482 14624 009c 526A ldr r2, [r2, #36] 5329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14625 .loc 1 5329 25 view .LVU5442 14626 009e 1A70 strb r2, [r3] 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14627 .loc 1 5332 7 is_stmt 1 view .LVU5443 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14628 .loc 1 5335 11 is_stmt 0 view .LVU5444 14629 00a0 638D ldrh r3, [r4, #42] 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14630 .loc 1 5332 21 view .LVU5445 14631 00a2 616A ldr r1, [r4, #36] 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14632 .loc 1 5334 21 view .LVU5446 14633 00a4 228D ldrh r2, [r4, #40] 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14634 .loc 1 5335 22 view .LVU5447 14635 00a6 013B subs r3, r3, #1 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14636 .loc 1 5332 21 view .LVU5448 14637 00a8 0131 adds r1, r1, #1 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14638 .loc 1 5334 21 view .LVU5449 14639 00aa 013A subs r2, r2, #1 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14640 .loc 1 5335 22 view .LVU5450 14641 00ac 9BB2 uxth r3, r3 5332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14642 .loc 1 5332 21 view .LVU5451 14643 00ae 6162 str r1, [r4, #36] 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14644 .loc 1 5334 7 is_stmt 1 view .LVU5452 5334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 14645 .loc 1 5334 21 is_stmt 0 view .LVU5453 14646 00b0 2285 strh r2, [r4, #40] @ movhi 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14647 .loc 1 5335 7 is_stmt 1 view .LVU5454 5335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14648 .loc 1 5335 22 is_stmt 0 view .LVU5455 14649 00b2 6385 strh r3, [r4, #42] @ movhi 14650 .L1232: 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 14651 .loc 1 5338 5 is_stmt 1 view .LVU5456 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 14652 .loc 1 5338 14 is_stmt 0 view .LVU5457 14653 00b4 638D ldrh r3, [r4, #42] 14654 00b6 9BB2 uxth r3, r3 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 14655 .loc 1 5338 8 view .LVU5458 14656 00b8 002B cmp r3, #0 14657 00ba C8D1 bne .L1223 5338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME)) 14658 .loc 1 5338 33 discriminator 1 view .LVU5459 14659 00bc 15F5803F cmn r5, #65536 14660 00c0 C5D0 beq .L1223 14661 .LVL925: 14662 .L1229: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 483 5299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14663 .loc 1 5299 9 is_stmt 1 view .LVU5460 14664 00c2 2046 mov r0, r4 14665 00c4 FFF7FEFF bl I2C_ITSlaveSeqCplt 14666 .LVL926: 14667 00c8 C1E7 b .L1223 14668 .LVL927: 14669 .L1281: 5271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14670 .loc 1 5271 5 view .LVU5461 14671 00ca FFF7FEFF bl I2C_ITSlaveCplt 14672 .LVL928: 5381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14673 .loc 1 5381 3 view .LVU5462 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14674 .loc 1 5384 3 view .LVU5463 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14675 .loc 1 5384 3 view .LVU5464 14676 00ce 0020 movs r0, #0 14677 00d0 84F84000 strb r0, [r4, #64] 5384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14678 .loc 1 5384 3 view .LVU5465 5386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14679 .loc 1 5386 3 view .LVU5466 14680 00d4 BEE7 b .L1221 14681 .LVL929: 14682 .L1285: 5348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14683 .loc 1 5348 5 view .LVU5467 14684 .LBB654: 14685 .LBI654: 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14686 .loc 1 5957 13 view .LVU5468 14687 .LBB655: 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode; 14688 .loc 1 5959 3 view .LVU5469 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code; 14689 .loc 1 5960 3 view .LVU5470 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code; 14690 .loc 1 5961 3 view .LVU5471 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14691 .loc 1 5962 3 view .LVU5472 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14692 .loc 1 5965 3 view .LVU5473 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14693 .loc 1 5968 3 view .LVU5474 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14694 .loc 1 5968 22 is_stmt 0 view .LVU5475 14695 00d6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 14696 .LVL930: 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14697 .loc 1 5968 6 view .LVU5476 14698 00da 03F02803 and r3, r3, #40 14699 00de 282B cmp r3, #40 14700 00e0 28D0 beq .L1286 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14701 .loc 1 6040 5 is_stmt 1 view .LVU5477 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 484 14702 00e2 2368 ldr r3, [r4] 14703 00e4 0822 movs r2, #8 14704 .LVL931: 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14705 .loc 1 6040 5 is_stmt 0 view .LVU5478 14706 00e6 DA61 str r2, [r3, #28] 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14707 .loc 1 6043 5 is_stmt 1 view .LVU5479 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14708 .loc 1 6043 5 view .LVU5480 14709 00e8 B1E7 b .L1223 14710 .LVL932: 14711 .L1237: 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14712 .loc 1 6043 5 is_stmt 0 view .LVU5481 14713 .LBE655: 14714 .LBE654: 5264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14715 .loc 1 5264 3 view .LVU5482 14716 00ea 0220 movs r0, #2 14717 .LVL933: 5387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14718 .loc 1 5387 1 view .LVU5483 14719 00ec 38BD pop {r3, r4, r5, pc} 14720 .LVL934: 14721 .L1225: 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14722 .loc 1 5311 7 is_stmt 1 view .LVU5484 14723 00ee 2368 ldr r3, [r4] 14724 .LVL935: 5311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14725 .loc 1 5311 7 is_stmt 0 view .LVU5485 14726 00f0 1022 movs r2, #16 14727 00f2 DA61 str r2, [r3, #28] 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14728 .loc 1 5314 7 is_stmt 1 view .LVU5486 5314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14729 .loc 1 5314 23 is_stmt 0 view .LVU5487 14730 00f4 636C ldr r3, [r4, #68] 14731 00f6 43F00403 orr r3, r3, #4 14732 00fa 6364 str r3, [r4, #68] 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14733 .loc 1 5316 7 is_stmt 1 view .LVU5488 5316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14734 .loc 1 5316 10 is_stmt 0 view .LVU5489 14735 00fc 35F08073 bics r3, r5, #16777216 14736 0100 A5D1 bne .L1223 5319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14737 .loc 1 5319 9 is_stmt 1 view .LVU5490 14738 0102 616C ldr r1, [r4, #68] 14739 0104 2046 mov r0, r4 14740 0106 FFF7FEFF bl I2C_ITError 14741 .LVL936: 14742 010a A0E7 b .L1223 14743 .LVL937: 14744 .L1236: 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 485 14745 .loc 1 5370 7 discriminator 1 view .LVU5491 5370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14746 .loc 1 5370 42 is_stmt 0 discriminator 1 view .LVU5492 14747 010c 35F08073 bics r3, r5, #16777216 14748 0110 D7D0 beq .L1229 14749 0112 9CE7 b .L1223 14750 .LVL938: 14751 .L1283: 5289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14752 .loc 1 5289 62 discriminator 1 view .LVU5493 14753 0114 15F5803F cmn r5, #65536 14754 0118 99D0 beq .L1223 5292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14755 .loc 1 5292 9 is_stmt 1 view .LVU5494 5295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14756 .loc 1 5295 9 view .LVU5495 14757 .LVL939: 14758 .LBB657: 14759 .LBI657: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14760 .loc 1 6758 13 view .LVU5496 14761 .LBB658: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14762 .loc 1 6762 3 view .LVU5497 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14763 .loc 1 6762 7 is_stmt 0 view .LVU5498 14764 011a 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14765 .loc 1 6762 6 view .LVU5499 14766 011c 9507 lsls r5, r2, #30 14767 .LVL940: 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14768 .loc 1 6764 5 is_stmt 1 view .LVU5500 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14769 .loc 1 6768 3 view .LVU5501 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14770 .loc 1 6764 26 is_stmt 0 view .LVU5502 14771 011e 44BF itt mi 14772 0120 0022 movmi r2, #0 14773 0122 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14774 .loc 1 6768 7 view .LVU5503 14775 0124 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14776 .loc 1 6768 6 view .LVU5504 14777 0126 D007 lsls r0, r2, #31 14778 0128 CBD4 bmi .L1229 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14779 .loc 1 6770 5 is_stmt 1 view .LVU5505 14780 012a 9A69 ldr r2, [r3, #24] 14781 012c 42F00102 orr r2, r2, #1 14782 0130 9A61 str r2, [r3, #24] 14783 0132 C6E7 b .L1229 14784 .LVL941: 14785 .L1286: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14786 .loc 1 6770 5 is_stmt 0 view .LVU5506 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 486 14787 .LBE658: 14788 .LBE657: 14789 .LBB659: 14790 .LBB656: 14791 0134 2046 mov r0, r4 14792 0136 FFF7FEFF bl I2C_ITAddrCplt.part.0 14793 .LVL942: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14794 .loc 1 6770 5 view .LVU5507 14795 013a 88E7 b .L1223 14796 .LVL943: 14797 .L1282: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14798 .loc 1 6770 5 view .LVU5508 14799 .LBE656: 14800 .LBE659: 5282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 14801 .loc 1 5282 49 discriminator 1 view .LVU5509 14802 013c B5F1007F cmp r5, #33554432 14803 0140 7FF47DAF bne .L1226 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14804 .loc 1 5287 9 is_stmt 1 view .LVU5510 14805 0144 1946 mov r1, r3 14806 0146 2046 mov r0, r4 14807 0148 FFF7FEFF bl I2C_ITListenCplt 14808 .LVL944: 5287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14809 .loc 1 5287 9 is_stmt 0 view .LVU5511 14810 014c 7FE7 b .L1223 14811 .cfi_endproc 14812 .LFE181: 14814 014e 00BF .section .text.I2C_ITMasterCplt,"ax",%progbits 14815 .align 1 14816 .p2align 2,,3 14817 .syntax unified 14818 .thumb 14819 .thumb_func 14821 I2C_ITMasterCplt: 14822 .LVL945: 14823 .LFB190: 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 14824 .loc 1 6180 1 is_stmt 1 view -0 14825 .cfi_startproc 14826 @ args = 0, pretend = 0, frame = 8 14827 @ frame_needed = 0, uses_anonymous_args = 0 6181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 14828 .loc 1 6181 3 view .LVU5513 6182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** __IO uint32_t tmpreg; 14829 .loc 1 6182 3 view .LVU5514 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14830 .loc 1 6186 3 is_stmt 0 view .LVU5515 14831 0000 0368 ldr r3, [r0] 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 14832 .loc 1 6180 1 view .LVU5516 14833 0002 30B5 push {r4, r5, lr} 14834 .LCFI180: 14835 .cfi_def_cfa_offset 12 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 487 14836 .cfi_offset 4, -12 14837 .cfi_offset 5, -8 14838 .cfi_offset 14, -4 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14839 .loc 1 6186 3 view .LVU5517 14840 0004 2022 movs r2, #32 14841 0006 DA61 str r2, [r3, #28] 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14842 .loc 1 6189 11 view .LVU5518 14843 0008 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 14844 .LVL946: 6183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14845 .loc 1 6183 3 is_stmt 1 view .LVU5519 6186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14846 .loc 1 6186 3 view .LVU5520 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14847 .loc 1 6189 3 view .LVU5521 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14848 .loc 1 6189 6 is_stmt 0 view .LVU5522 14849 000c 212A cmp r2, #33 6180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 14850 .loc 1 6180 1 view .LVU5523 14851 000e 83B0 sub sp, sp, #12 14852 .LCFI181: 14853 .cfi_def_cfa_offset 24 6189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14854 .loc 1 6189 6 view .LVU5524 14855 0010 40D0 beq .L1317 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14856 .loc 1 6194 8 is_stmt 1 view .LVU5525 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14857 .loc 1 6194 16 is_stmt 0 view .LVU5526 14858 0012 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14859 .loc 1 6194 11 view .LVU5527 14860 0016 222A cmp r2, #34 14861 0018 6AD0 beq .L1318 14862 .L1290: 6202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14863 .loc 1 6202 3 is_stmt 1 view .LVU5528 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14864 .loc 1 6205 3 view .LVU5529 14865 001a 5A68 ldr r2, [r3, #4] 14866 001c 3F4C ldr r4, .L1324 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 14867 .loc 1 6208 23 is_stmt 0 view .LVU5530 14868 001e 0025 movs r5, #0 6205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14869 .loc 1 6205 3 view .LVU5531 14870 0020 2240 ands r2, r2, r4 14871 0022 5A60 str r2, [r3, #4] 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; 14872 .loc 1 6208 3 is_stmt 1 view .LVU5532 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14873 .loc 1 6209 23 is_stmt 0 view .LVU5533 14874 0024 3E4C ldr r4, .L1324+4 6208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME; ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 488 14875 .loc 1 6208 23 view .LVU5534 14876 0026 4563 str r5, [r0, #52] 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14877 .loc 1 6209 3 is_stmt 1 view .LVU5535 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14878 .loc 1 6211 6 is_stmt 0 view .LVU5536 14879 0028 CD06 lsls r5, r1, #27 6209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14880 .loc 1 6209 23 view .LVU5537 14881 002a C462 str r4, [r0, #44] 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14882 .loc 1 6211 3 is_stmt 1 view .LVU5538 6211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14883 .loc 1 6211 6 is_stmt 0 view .LVU5539 14884 002c 05D5 bpl .L1292 6214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14885 .loc 1 6214 5 is_stmt 1 view .LVU5540 14886 002e 1022 movs r2, #16 14887 0030 DA61 str r2, [r3, #28] 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14888 .loc 1 6217 5 view .LVU5541 6217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14889 .loc 1 6217 21 is_stmt 0 view .LVU5542 14890 0032 426C ldr r2, [r0, #68] 14891 0034 42F00402 orr r2, r2, #4 14892 0038 4264 str r2, [r0, #68] 14893 .L1292: 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14894 .loc 1 6221 3 is_stmt 1 view .LVU5543 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14895 .loc 1 6221 12 is_stmt 0 view .LVU5544 14896 003a 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14897 .loc 1 6221 6 view .LVU5545 14898 003e 602A cmp r2, #96 14899 0040 21D0 beq .L1319 14900 .L1293: 6229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14901 .loc 1 6229 3 is_stmt 1 view .LVU5546 14902 .LVL947: 14903 .LBB666: 14904 .LBI666: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14905 .loc 1 6758 13 view .LVU5547 14906 .LBB667: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14907 .loc 1 6762 3 view .LVU5548 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14908 .loc 1 6762 7 is_stmt 0 view .LVU5549 14909 0042 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14910 .loc 1 6762 6 view .LVU5550 14911 0044 9107 lsls r1, r2, #30 14912 .LVL948: 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14913 .loc 1 6764 5 is_stmt 1 view .LVU5551 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 489 14914 .loc 1 6768 3 view .LVU5552 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14915 .loc 1 6764 26 is_stmt 0 view .LVU5553 14916 0046 44BF itt mi 14917 0048 0022 movmi r2, #0 14918 004a 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14919 .loc 1 6768 7 view .LVU5554 14920 004c 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14921 .loc 1 6768 6 view .LVU5555 14922 004e D207 lsls r2, r2, #31 14923 0050 03D4 bmi .L1295 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14924 .loc 1 6770 5 is_stmt 1 view .LVU5556 14925 0052 9A69 ldr r2, [r3, #24] 14926 0054 42F00102 orr r2, r2, #1 14927 0058 9A61 str r2, [r3, #24] 14928 .L1295: 14929 .LVL949: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14930 .loc 1 6770 5 is_stmt 0 view .LVU5557 14931 .LBE667: 14932 .LBE666: 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14933 .loc 1 6232 3 is_stmt 1 view .LVU5558 6232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14934 .loc 1 6232 12 is_stmt 0 view .LVU5559 14935 005a 436C ldr r3, [r0, #68] 14936 .LVL950: 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14937 .loc 1 6235 3 is_stmt 1 view .LVU5560 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14938 .loc 1 6235 12 is_stmt 0 view .LVU5561 14939 005c 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14940 .loc 1 6235 6 view .LVU5562 14941 0060 602A cmp r2, #96 14942 0062 0AD0 beq .L1296 6235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14943 .loc 1 6235 44 discriminator 1 view .LVU5563 14944 0064 4BB9 cbnz r3, .L1296 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14945 .loc 1 6241 8 is_stmt 1 view .LVU5564 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14946 .loc 1 6241 16 is_stmt 0 view .LVU5565 14947 0066 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14948 .loc 1 6241 11 view .LVU5566 14949 006a 212A cmp r2, #33 14950 006c 31D0 beq .L1320 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14951 .loc 1 6276 8 is_stmt 1 view .LVU5567 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14952 .loc 1 6276 16 is_stmt 0 view .LVU5568 14953 006e 90F84120 ldrb r2, [r0, #65] @ zero_extendqisi2 6276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 490 14954 .loc 1 6276 11 view .LVU5569 14955 0072 222A cmp r2, #34 14956 0074 1ED0 beq .L1321 14957 .LVL951: 14958 .L1287: 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14959 .loc 1 6314 1 view .LVU5570 14960 0076 03B0 add sp, sp, #12 14961 .LCFI182: 14962 .cfi_remember_state 14963 .cfi_def_cfa_offset 12 14964 @ sp needed 14965 0078 30BD pop {r4, r5, pc} 14966 .LVL952: 14967 .L1296: 14968 .LCFI183: 14969 .cfi_restore_state 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14970 .loc 1 6238 5 is_stmt 1 view .LVU5571 14971 007a 416C ldr r1, [r0, #68] 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 14972 .loc 1 6314 1 is_stmt 0 view .LVU5572 14973 007c 03B0 add sp, sp, #12 14974 .LCFI184: 14975 .cfi_remember_state 14976 .cfi_def_cfa_offset 12 14977 @ sp needed 14978 007e BDE83040 pop {r4, r5, lr} 14979 .LCFI185: 14980 .cfi_restore 14 14981 .cfi_restore 5 14982 .cfi_restore 4 14983 .cfi_def_cfa_offset 0 6238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14984 .loc 1 6238 5 view .LVU5573 14985 0082 FFF7FEBF b I2C_ITError 14986 .LVL953: 14987 .L1319: 14988 .LCFI186: 14989 .cfi_restore_state 6221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 14990 .loc 1 6221 44 discriminator 1 view .LVU5574 14991 0086 4C07 lsls r4, r1, #29 14992 0088 DBD5 bpl .L1293 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 14993 .loc 1 6224 5 is_stmt 1 view .LVU5575 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 14994 .loc 1 6224 37 is_stmt 0 view .LVU5576 14995 008a 5A6A ldr r2, [r3, #36] 14996 008c D2B2 uxtb r2, r2 6224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** UNUSED(tmpreg); 14997 .loc 1 6224 12 view .LVU5577 14998 008e 0192 str r2, [sp, #4] 6225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 14999 .loc 1 6225 5 is_stmt 1 view .LVU5578 15000 0090 019A ldr r2, [sp, #4] 15001 0092 D6E7 b .L1293 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 491 15002 .L1317: 6191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX; 15003 .loc 1 6191 5 view .LVU5579 15004 .LVL954: 15005 .LBB668: 15006 .LBI668: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15007 .loc 1 7451 13 view .LVU5580 15008 .LBB669: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15009 .loc 1 7453 3 view .LVU5581 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15010 .loc 1 7455 3 view .LVU5582 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15011 .loc 1 7458 5 view .LVU5583 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15012 .loc 1 7460 5 view .LVU5584 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15013 .loc 1 7460 24 is_stmt 0 view .LVU5585 15014 0094 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15015 .loc 1 7506 3 view .LVU5586 15016 0098 1A68 ldr r2, [r3] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15017 .loc 1 7460 8 view .LVU5587 15018 009a 04F02804 and r4, r4, #40 15019 009e 282C cmp r4, #40 15020 00a0 0CBF ite eq 15021 00a2 6FF04204 mvneq r4, #66 15022 00a6 6FF0F204 mvnne r4, #242 15023 .LVL955: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15024 .loc 1 7467 3 is_stmt 1 view .LVU5588 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15025 .loc 1 7479 3 view .LVU5589 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15026 .loc 1 7485 3 view .LVU5590 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15027 .loc 1 7491 3 view .LVU5591 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15028 .loc 1 7497 3 view .LVU5592 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15029 .loc 1 7506 3 view .LVU5593 15030 00aa 2240 ands r2, r2, r4 15031 .LBE669: 15032 .LBE668: 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15033 .loc 1 6192 25 is_stmt 0 view .LVU5594 15034 00ac 1124 movs r4, #17 15035 .LBB671: 15036 .LBB670: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15037 .loc 1 7506 3 view .LVU5595 15038 00ae 1A60 str r2, [r3] 15039 .LVL956: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15040 .loc 1 7506 3 view .LVU5596 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 492 15041 .LBE670: 15042 .LBE671: 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15043 .loc 1 6192 5 is_stmt 1 view .LVU5597 6192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15044 .loc 1 6192 25 is_stmt 0 view .LVU5598 15045 00b0 0463 str r4, [r0, #48] 15046 00b2 B2E7 b .L1290 15047 .LVL957: 15048 .L1321: 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 15049 .loc 1 6278 5 is_stmt 1 view .LVU5599 6278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 15050 .loc 1 6278 17 is_stmt 0 view .LVU5600 15051 00b4 2022 movs r2, #32 15052 00b6 80F84120 strb r2, [r0, #65] 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15053 .loc 1 6279 5 is_stmt 1 view .LVU5601 6279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15054 .loc 1 6279 25 is_stmt 0 view .LVU5602 15055 00ba 0363 str r3, [r0, #48] 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15056 .loc 1 6281 5 is_stmt 1 view .LVU5603 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15057 .loc 1 6281 13 is_stmt 0 view .LVU5604 15058 00bc 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15059 .loc 1 6286 7 view .LVU5605 15060 00c0 80F84030 strb r3, [r0, #64] 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15061 .loc 1 6281 8 view .LVU5606 15062 00c4 402A cmp r2, #64 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15063 .loc 1 6283 18 view .LVU5607 15064 00c6 80F84230 strb r3, [r0, #66] 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15065 .loc 1 6286 7 is_stmt 1 view .LVU5608 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15066 .loc 1 6286 7 view .LVU5609 6281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15067 .loc 1 6281 8 is_stmt 0 view .LVU5610 15068 00ca 24D0 beq .L1322 6297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15069 .loc 1 6297 7 is_stmt 1 view .LVU5611 6300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15070 .loc 1 6300 7 view .LVU5612 6306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15071 .loc 1 6306 7 view .LVU5613 15072 00cc FFF7FEFF bl HAL_I2C_MasterRxCpltCallback 15073 .LVL958: 6313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15074 .loc 1 6313 3 view .LVU5614 6314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15075 .loc 1 6314 1 is_stmt 0 view .LVU5615 15076 00d0 D1E7 b .L1287 15077 .LVL959: 15078 .L1320: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 493 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 15079 .loc 1 6243 5 is_stmt 1 view .LVU5616 6243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE; 15080 .loc 1 6243 17 is_stmt 0 view .LVU5617 15081 00d2 2022 movs r2, #32 15082 00d4 80F84120 strb r2, [r0, #65] 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15083 .loc 1 6244 5 is_stmt 1 view .LVU5618 6244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15084 .loc 1 6244 25 is_stmt 0 view .LVU5619 15085 00d8 0363 str r3, [r0, #48] 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15086 .loc 1 6246 5 is_stmt 1 view .LVU5620 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15087 .loc 1 6246 13 is_stmt 0 view .LVU5621 15088 00da 90F84220 ldrb r2, [r0, #66] @ zero_extendqisi2 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15089 .loc 1 6251 7 view .LVU5622 15090 00de 80F84030 strb r3, [r0, #64] 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15091 .loc 1 6246 8 view .LVU5623 15092 00e2 402A cmp r2, #64 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15093 .loc 1 6248 18 view .LVU5624 15094 00e4 80F84230 strb r3, [r0, #66] 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15095 .loc 1 6251 7 is_stmt 1 view .LVU5625 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15096 .loc 1 6251 7 view .LVU5626 6246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15097 .loc 1 6246 8 is_stmt 0 view .LVU5627 15098 00e8 12D0 beq .L1323 6262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15099 .loc 1 6262 7 is_stmt 1 view .LVU5628 6265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15100 .loc 1 6265 7 view .LVU5629 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15101 .loc 1 6271 7 view .LVU5630 15102 00ea FFF7FEFF bl HAL_I2C_MasterTxCpltCallback 15103 .LVL960: 6271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15104 .loc 1 6271 7 is_stmt 0 view .LVU5631 15105 00ee C2E7 b .L1287 15106 .LVL961: 15107 .L1318: 6196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX; 15108 .loc 1 6196 5 is_stmt 1 view .LVU5632 15109 .LBB672: 15110 .LBI672: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15111 .loc 1 7451 13 view .LVU5633 15112 .LBB673: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15113 .loc 1 7453 3 view .LVU5634 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15114 .loc 1 7455 3 view .LVU5635 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 494 15115 .loc 1 7467 3 view .LVU5636 7470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15116 .loc 1 7470 5 view .LVU5637 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15117 .loc 1 7472 5 view .LVU5638 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15118 .loc 1 7472 24 is_stmt 0 view .LVU5639 15119 00f0 90F84140 ldrb r4, [r0, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15120 .loc 1 7506 3 view .LVU5640 15121 00f4 1A68 ldr r2, [r3] 7472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15122 .loc 1 7472 8 view .LVU5641 15123 00f6 04F02804 and r4, r4, #40 15124 00fa 282C cmp r4, #40 15125 00fc 0CBF ite eq 15126 00fe 6FF04404 mvneq r4, #68 15127 0102 6FF0F404 mvnne r4, #244 15128 .LVL962: 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15129 .loc 1 7479 3 is_stmt 1 view .LVU5642 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15130 .loc 1 7485 3 view .LVU5643 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15131 .loc 1 7491 3 view .LVU5644 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15132 .loc 1 7497 3 view .LVU5645 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15133 .loc 1 7506 3 view .LVU5646 15134 0106 2240 ands r2, r2, r4 15135 .LBE673: 15136 .LBE672: 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15137 .loc 1 6197 25 is_stmt 0 view .LVU5647 15138 0108 1224 movs r4, #18 15139 .LBB675: 15140 .LBB674: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15141 .loc 1 7506 3 view .LVU5648 15142 010a 1A60 str r2, [r3] 15143 .LVL963: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15144 .loc 1 7506 3 view .LVU5649 15145 .LBE674: 15146 .LBE675: 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15147 .loc 1 6197 5 is_stmt 1 view .LVU5650 6197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15148 .loc 1 6197 25 is_stmt 0 view .LVU5651 15149 010c 0463 str r4, [r0, #48] 15150 010e 84E7 b .L1290 15151 .LVL964: 15152 .L1323: 6248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15153 .loc 1 6248 7 is_stmt 1 view .LVU5652 6251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15154 .loc 1 6251 7 view .LVU5653 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 495 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15155 .loc 1 6257 7 view .LVU5654 15156 0110 FFF7FEFF bl HAL_I2C_MemTxCpltCallback 15157 .LVL965: 6257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15158 .loc 1 6257 7 is_stmt 0 view .LVU5655 15159 0114 AFE7 b .L1287 15160 .LVL966: 15161 .L1322: 6283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15162 .loc 1 6283 7 is_stmt 1 view .LVU5656 6286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15163 .loc 1 6286 7 view .LVU5657 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15164 .loc 1 6292 7 view .LVU5658 15165 0116 FFF7FEFF bl HAL_I2C_MemRxCpltCallback 15166 .LVL967: 6292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */ 15167 .loc 1 6292 7 is_stmt 0 view .LVU5659 15168 011a ACE7 b .L1287 15169 .L1325: 15170 .align 2 15171 .L1324: 15172 011c 00E800FE .word -33495040 15173 0120 0000FFFF .word -65536 15174 .cfi_endproc 15175 .LFE190: 15177 .section .text.I2C_Master_ISR_IT,"ax",%progbits 15178 .align 1 15179 .p2align 2,,3 15180 .syntax unified 15181 .thumb 15182 .thumb_func 15184 I2C_Master_ISR_IT: 15185 .LVL968: 15186 .LFB179: 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 15187 .loc 1 4941 1 is_stmt 1 view -0 15188 .cfi_startproc 15189 @ args = 0, pretend = 0, frame = 0 15190 @ frame_needed = 0, uses_anonymous_args = 0 4942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 15191 .loc 1 4942 3 view .LVU5661 4943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15192 .loc 1 4943 3 view .LVU5662 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15193 .loc 1 4946 3 is_stmt 0 view .LVU5663 15194 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 15195 .LVL969: 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15196 .loc 1 4946 3 is_stmt 1 view .LVU5664 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15197 .loc 1 4946 3 view .LVU5665 15198 0004 012B cmp r3, #1 15199 0006 00F0BB80 beq .L1347 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15200 .loc 1 4946 3 discriminator 2 view .LVU5666 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 496 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 15201 .loc 1 4941 1 is_stmt 0 discriminator 2 view .LVU5667 15202 000a 2DE9F041 push {r4, r5, r6, r7, r8, lr} 15203 .LCFI187: 15204 .cfi_def_cfa_offset 24 15205 .cfi_offset 4, -24 15206 .cfi_offset 5, -20 15207 .cfi_offset 6, -16 15208 .cfi_offset 7, -12 15209 .cfi_offset 8, -8 15210 .cfi_offset 14, -4 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15211 .loc 1 4946 3 discriminator 2 view .LVU5668 15212 000e 0123 movs r3, #1 15213 0010 1646 mov r6, r2 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15214 .loc 1 4948 6 discriminator 2 view .LVU5669 15215 0012 CA06 lsls r2, r1, #27 15216 .LVL970: 4941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 15217 .loc 1 4941 1 discriminator 2 view .LVU5670 15218 0014 82B0 sub sp, sp, #8 15219 .LCFI188: 15220 .cfi_def_cfa_offset 32 15221 0016 0446 mov r4, r0 15222 0018 0D46 mov r5, r1 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15223 .loc 1 4946 3 discriminator 2 view .LVU5671 15224 001a 80F84030 strb r3, [r0, #64] 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15225 .loc 1 4946 3 is_stmt 1 discriminator 2 view .LVU5672 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15226 .loc 1 4948 3 discriminator 2 view .LVU5673 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15227 .loc 1 4948 6 is_stmt 0 discriminator 2 view .LVU5674 15228 001e 02D5 bpl .L1328 4948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15229 .loc 1 4948 58 discriminator 1 view .LVU5675 15230 0020 F306 lsls r3, r6, #27 15231 0022 00F18280 bmi .L1394 15232 .L1328: 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 15233 .loc 1 4962 8 is_stmt 1 view .LVU5676 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 15234 .loc 1 4962 11 is_stmt 0 view .LVU5677 15235 0026 6907 lsls r1, r5, #29 15236 .LVL971: 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 15237 .loc 1 4962 11 view .LVU5678 15238 0028 1CD5 bpl .L1332 4962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 15239 .loc 1 4962 65 discriminator 1 view .LVU5679 15240 002a 7207 lsls r2, r6, #29 15241 002c 1AD5 bpl .L1332 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15242 .loc 1 4966 5 is_stmt 1 view .LVU5680 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 497 15243 .loc 1 4969 36 is_stmt 0 view .LVU5681 15244 002e 2268 ldr r2, [r4] 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15245 .loc 1 4969 10 view .LVU5682 15246 0030 636A ldr r3, [r4, #36] 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15247 .loc 1 4969 46 view .LVU5683 15248 0032 526A ldr r2, [r2, #36] 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15249 .loc 1 4969 23 view .LVU5684 15250 0034 1A70 strb r2, [r3] 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15251 .loc 1 4972 19 view .LVU5685 15252 0036 626A ldr r2, [r4, #36] 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15253 .loc 1 4975 9 view .LVU5686 15254 0038 638D ldrh r3, [r4, #42] 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15255 .loc 1 4972 19 view .LVU5687 15256 003a 0132 adds r2, r2, #1 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15257 .loc 1 4975 20 view .LVU5688 15258 003c 013B subs r3, r3, #1 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15259 .loc 1 4972 19 view .LVU5689 15260 003e 6262 str r2, [r4, #36] 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15261 .loc 1 4974 19 view .LVU5690 15262 0040 228D ldrh r2, [r4, #40] 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15263 .loc 1 4975 20 view .LVU5691 15264 0042 9BB2 uxth r3, r3 15265 0044 6385 strh r3, [r4, #42] @ movhi 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15266 .loc 1 4974 19 view .LVU5692 15267 0046 531E subs r3, r2, #1 4966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15268 .loc 1 4966 16 view .LVU5693 15269 0048 25F00405 bic r5, r5, #4 15270 .LVL972: 4969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15271 .loc 1 4969 5 is_stmt 1 view .LVU5694 4972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15272 .loc 1 4972 5 view .LVU5695 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15273 .loc 1 4974 5 view .LVU5696 4974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15274 .loc 1 4974 19 is_stmt 0 view .LVU5697 15275 004c 2385 strh r3, [r4, #40] @ movhi 4975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15276 .loc 1 4975 5 is_stmt 1 view .LVU5698 15277 .LVL973: 15278 .L1331: 5075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15279 .loc 1 5075 3 view .LVU5699 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 15280 .loc 1 5077 3 view .LVU5700 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 498 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 15281 .loc 1 5077 6 is_stmt 0 view .LVU5701 15282 004e A806 lsls r0, r5, #26 15283 0050 02D5 bpl .L1344 5077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 15284 .loc 1 5077 61 discriminator 1 view .LVU5702 15285 0052 B106 lsls r1, r6, #26 15286 0054 00F18A80 bmi .L1395 15287 .L1344: 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15288 .loc 1 5085 3 is_stmt 1 view .LVU5703 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15289 .loc 1 5085 3 view .LVU5704 15290 0058 0020 movs r0, #0 15291 005a 84F84000 strb r0, [r4, #64] 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15292 .loc 1 5085 3 view .LVU5705 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15293 .loc 1 5087 3 view .LVU5706 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15294 .loc 1 5088 1 is_stmt 0 view .LVU5707 15295 005e 02B0 add sp, sp, #8 15296 .LCFI189: 15297 .cfi_remember_state 15298 .cfi_def_cfa_offset 24 15299 @ sp needed 15300 0060 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 15301 .LVL974: 15302 .L1332: 15303 .LCFI190: 15304 .cfi_restore_state 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 15305 .loc 1 4977 8 is_stmt 1 view .LVU5708 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 15306 .loc 1 4977 11 is_stmt 0 view .LVU5709 15307 0064 6B06 lsls r3, r5, #25 15308 0066 15D4 bmi .L1333 4977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && \ 15309 .loc 1 4977 63 discriminator 1 view .LVU5710 15310 0068 AF07 lsls r7, r5, #30 15311 006a 28D5 bpl .L1334 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))) 15312 .loc 1 4978 66 view .LVU5711 15313 006c B007 lsls r0, r6, #30 15314 .LVL975: 4978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET))) 15315 .loc 1 4978 66 view .LVU5712 15316 006e 26D5 bpl .L1334 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15317 .loc 1 4982 5 is_stmt 1 view .LVU5713 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15318 .loc 1 4982 13 is_stmt 0 view .LVU5714 15319 0070 638D ldrh r3, [r4, #42] 15320 0072 9BB2 uxth r3, r3 4982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15321 .loc 1 4982 8 view .LVU5715 15322 0074 002B cmp r3, #0 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 499 15323 0076 EAD0 beq .L1331 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15324 .loc 1 4985 7 is_stmt 1 view .LVU5716 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15325 .loc 1 4985 30 is_stmt 0 view .LVU5717 15326 0078 626A ldr r2, [r4, #36] 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15327 .loc 1 4985 11 view .LVU5718 15328 007a 2368 ldr r3, [r4] 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15329 .loc 1 4985 30 view .LVU5719 15330 007c 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 4985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15331 .loc 1 4985 28 view .LVU5720 15332 0080 9962 str r1, [r3, #40] 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15333 .loc 1 4988 7 is_stmt 1 view .LVU5721 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15334 .loc 1 4991 11 is_stmt 0 view .LVU5722 15335 0082 638D ldrh r3, [r4, #42] 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15336 .loc 1 4990 21 view .LVU5723 15337 0084 218D ldrh r1, [r4, #40] 4988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15338 .loc 1 4988 21 view .LVU5724 15339 0086 6262 str r2, [r4, #36] 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15340 .loc 1 4990 7 is_stmt 1 view .LVU5725 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15341 .loc 1 4991 7 view .LVU5726 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15342 .loc 1 4991 22 is_stmt 0 view .LVU5727 15343 0088 013B subs r3, r3, #1 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15344 .loc 1 4990 21 view .LVU5728 15345 008a 0139 subs r1, r1, #1 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15346 .loc 1 4991 22 view .LVU5729 15347 008c 9BB2 uxth r3, r3 4990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 15348 .loc 1 4990 21 view .LVU5730 15349 008e 2185 strh r1, [r4, #40] @ movhi 4991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15350 .loc 1 4991 22 view .LVU5731 15351 0090 6385 strh r3, [r4, #42] @ movhi 15352 0092 DCE7 b .L1331 15353 .LVL976: 15354 .L1333: 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15355 .loc 1 4994 8 is_stmt 1 view .LVU5732 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15356 .loc 1 4994 11 is_stmt 0 view .LVU5733 15357 0094 2B06 lsls r3, r5, #24 15358 0096 14D4 bmi .L1345 5045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15359 .loc 1 5045 63 discriminator 1 view .LVU5734 15360 0098 7306 lsls r3, r6, #25 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 500 15361 009a D8D5 bpl .L1331 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15362 .loc 1 5048 5 is_stmt 1 view .LVU5735 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15363 .loc 1 5048 13 is_stmt 0 view .LVU5736 15364 009c 638D ldrh r3, [r4, #42] 15365 009e 9BB2 uxth r3, r3 5048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15366 .loc 1 5048 8 view .LVU5737 15367 00a0 002B cmp r3, #0 15368 00a2 5ED1 bne .L1342 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15369 .loc 1 5050 7 is_stmt 1 view .LVU5738 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15370 .loc 1 5050 11 is_stmt 0 view .LVU5739 15371 00a4 2368 ldr r3, [r4] 15372 00a6 5A68 ldr r2, [r3, #4] 5050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15373 .loc 1 5050 10 view .LVU5740 15374 00a8 9701 lsls r7, r2, #6 15375 00aa D0D4 bmi .L1331 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15376 .loc 1 5053 9 is_stmt 1 view .LVU5741 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15377 .loc 1 5053 17 is_stmt 0 view .LVU5742 15378 00ac E26A ldr r2, [r4, #44] 5053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15379 .loc 1 5053 12 view .LVU5743 15380 00ae 12F5803F cmn r2, #65536 15381 00b2 52D1 bne .L1343 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15382 .loc 1 5056 11 is_stmt 1 view .LVU5744 5056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15383 .loc 1 5056 31 is_stmt 0 view .LVU5745 15384 00b4 5A68 ldr r2, [r3, #4] 15385 00b6 42F48042 orr r2, r2, #16384 15386 00ba 5A60 str r2, [r3, #4] 15387 00bc C7E7 b .L1331 15388 .LVL977: 15389 .L1334: 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15390 .loc 1 4994 8 is_stmt 1 view .LVU5746 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15391 .loc 1 4994 11 is_stmt 0 view .LVU5747 15392 00be 2A06 lsls r2, r5, #24 15393 00c0 C5D5 bpl .L1331 15394 .L1345: 4994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15395 .loc 1 4994 64 discriminator 1 view .LVU5748 15396 00c2 7106 lsls r1, r6, #25 15397 00c4 C3D5 bpl .L1331 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15398 .loc 1 4997 5 is_stmt 1 view .LVU5749 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15399 .loc 1 4997 14 is_stmt 0 view .LVU5750 15400 00c6 638D ldrh r3, [r4, #42] 15401 00c8 9BB2 uxth r3, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 501 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15402 .loc 1 4997 8 view .LVU5751 15403 00ca 002B cmp r3, #0 15404 00cc 41D0 beq .L1336 4997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15405 .loc 1 4997 33 discriminator 1 view .LVU5752 15406 00ce 218D ldrh r1, [r4, #40] 15407 00d0 0029 cmp r1, #0 15408 00d2 3ED1 bne .L1336 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15409 .loc 1 4999 7 is_stmt 1 view .LVU5753 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15410 .loc 1 4999 35 is_stmt 0 view .LVU5754 15411 00d4 2368 ldr r3, [r4] 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15412 .loc 1 4999 45 view .LVU5755 15413 00d6 5F68 ldr r7, [r3, #4] 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15414 .loc 1 5001 15 view .LVU5756 15415 00d8 628D ldrh r2, [r4, #42] 15416 00da 92B2 uxth r2, r2 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15417 .loc 1 5001 10 view .LVU5757 15418 00dc FF2A cmp r2, #255 4999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15419 .loc 1 4999 18 view .LVU5758 15420 00de C7F30907 ubfx r7, r7, #0, #10 15421 .LVL978: 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15422 .loc 1 5001 7 is_stmt 1 view .LVU5759 5001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15423 .loc 1 5001 10 is_stmt 0 view .LVU5760 15424 00e2 4FD9 bls .L1337 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15425 .loc 1 5004 9 is_stmt 1 view .LVU5761 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15426 .loc 1 5004 13 is_stmt 0 view .LVU5762 15427 00e4 9A69 ldr r2, [r3, #24] 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15428 .loc 1 5004 12 view .LVU5763 15429 00e6 C2F30042 ubfx r2, r2, #16, #1 15430 00ea 002A cmp r2, #0 15431 .LBB682: 15432 .LBB683: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15433 .loc 1 7337 3 view .LVU5764 15434 00ec 394A ldr r2, .L1396 15435 .LBE683: 15436 .LBE682: 5004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15437 .loc 1 5004 12 view .LVU5765 15438 00ee 15BF itete ne 15439 00f0 0121 movne r1, #1 15440 00f2 FF21 moveq r1, #255 15441 00f4 4FF48038 movne r8, #65536 15442 00f8 4FF47F08 moveq r8, #16711680 15443 .LBB686: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 502 15444 .LBB684: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15445 .loc 1 7337 3 view .LVU5766 15446 00fc 9342 cmp r3, r2 15447 00fe 2185 strh r1, [r4, #40] @ movhi 15448 .LBE684: 15449 .LBE686: 5012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15450 .loc 1 5012 9 is_stmt 1 view .LVU5767 15451 .LVL979: 15452 .LBB687: 15453 .LBI682: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 15454 .loc 1 7333 13 view .LVU5768 15455 .LBB685: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15456 .loc 1 7337 3 view .LVU5769 15457 0100 09D0 beq .L1339 15458 0102 02F58062 add r2, r2, #1024 15459 0106 9342 cmp r3, r2 15460 0108 05D0 beq .L1339 15461 010a 3348 ldr r0, .L1396+4 15462 010c 41F6A941 movw r1, #7337 15463 0110 FFF7FEFF bl assert_failed 15464 .LVL980: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15465 .loc 1 7347 3 is_stmt 0 view .LVU5770 15466 0114 2368 ldr r3, [r4] 15467 .L1339: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 15468 .loc 1 7338 3 is_stmt 1 view .LVU5771 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15469 .loc 1 7339 3 view .LVU5772 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 15470 .loc 1 7342 3 view .LVU5773 15471 .LVL981: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15472 .loc 1 7347 3 view .LVU5774 15473 0116 5A68 ldr r2, [r3, #4] 15474 0118 3049 ldr r1, .L1396+8 15475 011a 0A40 ands r2, r2, r1 15476 011c 3A43 orrs r2, r2, r7 15477 011e 42EA0802 orr r2, r2, r8 15478 0122 42F08072 orr r2, r2, #16777216 15479 0126 5A60 str r2, [r3, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15480 .loc 1 7351 1 is_stmt 0 view .LVU5775 15481 0128 91E7 b .L1331 15482 .LVL982: 15483 .L1394: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15484 .loc 1 7351 1 view .LVU5776 15485 .LBE685: 15486 .LBE687: 4952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15487 .loc 1 4952 5 is_stmt 1 view .LVU5777 15488 012a 0368 ldr r3, [r0] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 503 15489 012c 1022 movs r2, #16 15490 012e DA61 str r2, [r3, #28] 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15491 .loc 1 4957 5 view .LVU5778 4957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15492 .loc 1 4957 21 is_stmt 0 view .LVU5779 15493 0130 426C ldr r2, [r0, #68] 15494 0132 42F00402 orr r2, r2, #4 15495 0136 4264 str r2, [r0, #68] 4960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15496 .loc 1 4960 5 is_stmt 1 view .LVU5780 15497 .LVL983: 15498 .LBB688: 15499 .LBI688: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15500 .loc 1 6758 13 view .LVU5781 15501 .LBB689: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15502 .loc 1 6762 3 view .LVU5782 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15503 .loc 1 6762 7 is_stmt 0 view .LVU5783 15504 0138 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15505 .loc 1 6762 6 view .LVU5784 15506 013a 9707 lsls r7, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15507 .loc 1 6764 5 is_stmt 1 view .LVU5785 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15508 .loc 1 6768 3 view .LVU5786 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15509 .loc 1 6764 26 is_stmt 0 view .LVU5787 15510 013c 44BF itt mi 15511 013e 0022 movmi r2, #0 15512 0140 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15513 .loc 1 6768 7 view .LVU5788 15514 0142 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15515 .loc 1 6768 6 view .LVU5789 15516 0144 D007 lsls r0, r2, #31 15517 .LVL984: 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15518 .loc 1 6768 6 view .LVU5790 15519 0146 82D4 bmi .L1331 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15520 .loc 1 6770 5 is_stmt 1 view .LVU5791 15521 0148 9A69 ldr r2, [r3, #24] 15522 014a 42F00102 orr r2, r2, #1 15523 014e 9A61 str r2, [r3, #24] 15524 0150 7DE7 b .L1331 15525 .LVL985: 15526 .L1336: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15527 .loc 1 6770 5 is_stmt 0 view .LVU5792 15528 .LBE689: 15529 .LBE688: 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 504 15530 .loc 1 5032 7 is_stmt 1 view .LVU5793 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15531 .loc 1 5032 11 is_stmt 0 view .LVU5794 15532 0152 2368 ldr r3, [r4] 15533 0154 5B68 ldr r3, [r3, #4] 5032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15534 .loc 1 5032 10 view .LVU5795 15535 0156 9A01 lsls r2, r3, #6 15536 0158 03D4 bmi .L1342 15537 .L1343: 5035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15538 .loc 1 5035 9 is_stmt 1 view .LVU5796 15539 015a 2046 mov r0, r4 15540 015c FFF7FEFF bl I2C_ITMasterSeqCplt 15541 .LVL986: 15542 0160 75E7 b .L1331 15543 .L1342: 5041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15544 .loc 1 5041 9 view .LVU5797 15545 0162 4021 movs r1, #64 15546 0164 2046 mov r0, r4 15547 0166 FFF7FEFF bl I2C_ITError 15548 .LVL987: 15549 016a 70E7 b .L1331 15550 .LVL988: 15551 .L1395: 5081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15552 .loc 1 5081 5 view .LVU5798 15553 016c 2046 mov r0, r4 15554 016e 2946 mov r1, r5 15555 0170 FFF7FEFF bl I2C_ITMasterCplt 15556 .LVL989: 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15557 .loc 1 5085 3 view .LVU5799 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15558 .loc 1 5085 3 view .LVU5800 15559 0174 0020 movs r0, #0 15560 0176 84F84000 strb r0, [r4, #64] 5085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15561 .loc 1 5085 3 view .LVU5801 5087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15562 .loc 1 5087 3 view .LVU5802 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15563 .loc 1 5088 1 is_stmt 0 view .LVU5803 15564 017a 02B0 add sp, sp, #8 15565 .LCFI191: 15566 .cfi_def_cfa_offset 24 15567 @ sp needed 15568 017c BDE8F081 pop {r4, r5, r6, r7, r8, pc} 15569 .LVL990: 15570 .L1347: 15571 .LCFI192: 15572 .cfi_def_cfa_offset 0 15573 .cfi_restore 4 15574 .cfi_restore 5 15575 .cfi_restore 6 15576 .cfi_restore 7 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 505 15577 .cfi_restore 8 15578 .cfi_restore 14 4946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15579 .loc 1 4946 3 view .LVU5804 15580 0180 0220 movs r0, #2 15581 .LVL991: 5088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15582 .loc 1 5088 1 view .LVU5805 15583 0182 7047 bx lr 15584 .LVL992: 15585 .L1337: 15586 .LCFI193: 15587 .cfi_def_cfa_offset 32 15588 .cfi_offset 4, -24 15589 .cfi_offset 5, -20 15590 .cfi_offset 6, -16 15591 .cfi_offset 7, -12 15592 .cfi_offset 8, -8 15593 .cfi_offset 14, -4 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 15594 .loc 1 5016 9 is_stmt 1 view .LVU5806 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 15595 .loc 1 5016 30 is_stmt 0 view .LVU5807 15596 0184 628D ldrh r2, [r4, #42] 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15597 .loc 1 5017 17 view .LVU5808 15598 0186 E06A ldr r0, [r4, #44] 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 15599 .loc 1 5016 30 view .LVU5809 15600 0188 92B2 uxth r2, r2 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15601 .loc 1 5017 12 view .LVU5810 15602 018a 10F5803F cmn r0, #65536 5016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 15603 .loc 1 5016 24 view .LVU5811 15604 018e 2285 strh r2, [r4, #40] @ movhi 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15605 .loc 1 5017 9 is_stmt 1 view .LVU5812 5017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15606 .loc 1 5017 12 is_stmt 0 view .LVU5813 15607 0190 07D0 beq .L1340 5019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferOptions, I2C_NO_STARTSTOP); 15608 .loc 1 5019 11 is_stmt 1 view .LVU5814 15609 0192 0091 str r1, [sp] 15610 0194 E36A ldr r3, [r4, #44] 15611 0196 D2B2 uxtb r2, r2 15612 0198 3946 mov r1, r7 15613 019a 2046 mov r0, r4 15614 019c FFF7FEFF bl I2C_TransferConfig 15615 .LVL993: 15616 01a0 55E7 b .L1331 15617 .L1340: 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 15618 .loc 1 5024 11 view .LVU5815 15619 .LBB690: 15620 .LBB691: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 506 15621 .loc 1 7337 3 is_stmt 0 view .LVU5816 15622 01a2 0C49 ldr r1, .L1396 15623 01a4 8B42 cmp r3, r1 15624 .LBE691: 15625 .LBE690: 5024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 15626 .loc 1 5024 11 view .LVU5817 15627 01a6 5FFA82F8 uxtb r8, r2 15628 .LVL994: 15629 .LBB693: 15630 .LBI690: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 15631 .loc 1 7333 13 is_stmt 1 view .LVU5818 15632 .LBB692: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15633 .loc 1 7337 3 view .LVU5819 15634 01aa 09D0 beq .L1341 15635 01ac 01F58061 add r1, r1, #1024 15636 01b0 8B42 cmp r3, r1 15637 01b2 05D0 beq .L1341 15638 01b4 0848 ldr r0, .L1396+4 15639 01b6 41F6A941 movw r1, #7337 15640 01ba FFF7FEFF bl assert_failed 15641 .LVL995: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15642 .loc 1 7347 3 is_stmt 0 view .LVU5820 15643 01be 2368 ldr r3, [r4] 15644 .L1341: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 15645 .loc 1 7338 3 is_stmt 1 view .LVU5821 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15646 .loc 1 7339 3 view .LVU5822 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 15647 .loc 1 7342 3 view .LVU5823 15648 .LVL996: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15649 .loc 1 7347 3 view .LVU5824 15650 01c0 5968 ldr r1, [r3, #4] 15651 01c2 0648 ldr r0, .L1396+8 15652 01c4 0140 ands r1, r1, r0 15653 01c6 41EA0842 orr r2, r1, r8, lsl #16 15654 01ca 3A43 orrs r2, r2, r7 15655 01cc 42F00072 orr r2, r2, #33554432 15656 01d0 5A60 str r2, [r3, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15657 .loc 1 7351 1 is_stmt 0 view .LVU5825 15658 01d2 3CE7 b .L1331 15659 .L1397: 15660 .align 2 15661 .L1396: 15662 01d4 00540040 .word 1073763328 15663 01d8 00000000 .word .LC0 15664 01dc 009C00FC .word -67068928 15665 .LBE692: 15666 .LBE693: 15667 .cfi_endproc 15668 .LFE179: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 507 15670 .section .text.I2C_Mem_ISR_DMA,"ax",%progbits 15671 .align 1 15672 .p2align 2,,3 15673 .syntax unified 15674 .thumb 15675 .thumb_func 15677 I2C_Mem_ISR_DMA: 15678 .LVL997: 15679 .LFB183: 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 15680 .loc 1 5547 1 is_stmt 1 view -0 15681 .cfi_startproc 15682 @ args = 0, pretend = 0, frame = 0 15683 @ frame_needed = 0, uses_anonymous_args = 0 5548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15684 .loc 1 5548 3 view .LVU5827 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15685 .loc 1 5551 3 view .LVU5828 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15686 .loc 1 5551 3 view .LVU5829 15687 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 15688 0004 012B cmp r3, #1 15689 0006 00F0E680 beq .L1424 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15690 .loc 1 5551 3 discriminator 2 view .LVU5830 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 15691 .loc 1 5547 1 is_stmt 0 discriminator 2 view .LVU5831 15692 000a 70B5 push {r4, r5, r6, lr} 15693 .LCFI194: 15694 .cfi_def_cfa_offset 16 15695 .cfi_offset 4, -16 15696 .cfi_offset 5, -12 15697 .cfi_offset 6, -8 15698 .cfi_offset 14, -4 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15699 .loc 1 5551 3 discriminator 2 view .LVU5832 15700 000c 0123 movs r3, #1 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15701 .loc 1 5553 6 discriminator 2 view .LVU5833 15702 000e CD06 lsls r5, r1, #27 5547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 15703 .loc 1 5547 1 discriminator 2 view .LVU5834 15704 0010 82B0 sub sp, sp, #8 15705 .LCFI195: 15706 .cfi_def_cfa_offset 24 15707 0012 0446 mov r4, r0 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15708 .loc 1 5551 3 discriminator 2 view .LVU5835 15709 0014 80F84030 strb r3, [r0, #64] 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15710 .loc 1 5551 3 is_stmt 1 discriminator 2 view .LVU5836 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15711 .loc 1 5553 3 discriminator 2 view .LVU5837 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15712 .loc 1 5553 6 is_stmt 0 discriminator 2 view .LVU5838 15713 0018 02D5 bpl .L1400 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 508 15714 .loc 1 5553 55 discriminator 1 view .LVU5839 15715 001a D006 lsls r0, r2, #27 15716 .LVL998: 5553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 15717 .loc 1 5553 55 discriminator 1 view .LVU5840 15718 001c 00F1B780 bmi .L1465 15719 .L1400: 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 15720 .loc 1 5570 8 is_stmt 1 view .LVU5841 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 15721 .loc 1 5570 11 is_stmt 0 view .LVU5842 15722 0020 8B07 lsls r3, r1, #30 15723 0022 0CD5 bpl .L1405 5570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 15724 .loc 1 5570 62 discriminator 1 view .LVU5843 15725 0024 9507 lsls r5, r2, #30 15726 0026 0AD5 bpl .L1405 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15727 .loc 1 5574 5 is_stmt 1 view .LVU5844 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15728 .loc 1 5574 9 is_stmt 0 view .LVU5845 15729 0028 2268 ldr r2, [r4] 15730 .LVL999: 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15731 .loc 1 5574 32 view .LVU5846 15732 002a 216D ldr r1, [r4, #80] 15733 .LVL1000: 5574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15734 .loc 1 5574 26 view .LVU5847 15735 002c 9162 str r1, [r2, #40] 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15736 .loc 1 5577 5 is_stmt 1 view .LVU5848 5577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15737 .loc 1 5577 22 is_stmt 0 view .LVU5849 15738 002e 4FF0FF33 mov r3, #-1 15739 0032 2365 str r3, [r4, #80] 15740 .L1404: 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15741 .loc 1 5693 3 is_stmt 1 view .LVU5850 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15742 .loc 1 5696 3 view .LVU5851 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15743 .loc 1 5696 3 view .LVU5852 15744 0034 0020 movs r0, #0 15745 0036 84F84000 strb r0, [r4, #64] 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15746 .loc 1 5696 3 view .LVU5853 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15747 .loc 1 5698 3 view .LVU5854 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15748 .loc 1 5699 1 is_stmt 0 view .LVU5855 15749 003a 02B0 add sp, sp, #8 15750 .LCFI196: 15751 .cfi_remember_state 15752 .cfi_def_cfa_offset 16 15753 @ sp needed 15754 003c 70BD pop {r4, r5, r6, pc} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 509 15755 .LVL1001: 15756 .L1405: 15757 .LCFI197: 15758 .cfi_restore_state 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15759 .loc 1 5579 8 is_stmt 1 view .LVU5856 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15760 .loc 1 5579 11 is_stmt 0 view .LVU5857 15761 003e 0806 lsls r0, r1, #24 15762 0040 53D5 bpl .L1406 5579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15763 .loc 1 5579 61 discriminator 1 view .LVU5858 15764 0042 5306 lsls r3, r2, #25 15765 0044 40F19980 bpl .L1407 5583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15766 .loc 1 5583 5 is_stmt 1 view .LVU5859 15767 .LVL1002: 15768 .LBB710: 15769 .LBI710: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15770 .loc 1 7451 13 view .LVU5860 15771 .LBB711: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15772 .loc 1 7453 3 view .LVU5861 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15773 .loc 1 7455 3 view .LVU5862 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15774 .loc 1 7458 5 view .LVU5863 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15775 .loc 1 7460 5 view .LVU5864 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15776 .loc 1 7460 24 is_stmt 0 view .LVU5865 15777 0048 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 15778 .LVL1003: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15779 .loc 1 7506 3 view .LVU5866 15780 004c 2368 ldr r3, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15781 .loc 1 7460 8 view .LVU5867 15782 004e 01F02801 and r1, r1, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15783 .loc 1 7506 3 view .LVU5868 15784 0052 1868 ldr r0, [r3] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15785 .loc 1 7460 8 view .LVU5869 15786 0054 2829 cmp r1, #40 15787 0056 0CBF ite eq 15788 0058 6FF04202 mvneq r2, #66 15789 .LVL1004: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15790 .loc 1 7460 8 view .LVU5870 15791 005c 6FF0F202 mvnne r2, #242 15792 .LVL1005: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15793 .loc 1 7467 3 is_stmt 1 view .LVU5871 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15794 .loc 1 7479 3 view .LVU5872 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 510 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15795 .loc 1 7485 3 view .LVU5873 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15796 .loc 1 7491 3 view .LVU5874 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15797 .loc 1 7497 3 view .LVU5875 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15798 .loc 1 7506 3 view .LVU5876 15799 0060 0240 ands r2, r2, r0 15800 0062 1A60 str r2, [r3] 15801 .LVL1006: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15802 .loc 1 7506 3 is_stmt 0 view .LVU5877 15803 .LBE711: 15804 .LBE710: 5586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15805 .loc 1 5586 5 is_stmt 1 view .LVU5878 15806 .LBB712: 15807 .LBI712: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15808 .loc 1 7360 13 view .LVU5879 15809 .LBB713: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15810 .loc 1 7362 3 view .LVU5880 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 15811 .loc 1 7364 3 view .LVU5881 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15812 .loc 1 7441 3 view .LVU5882 15813 0064 1A68 ldr r2, [r3] 15814 0066 42F09002 orr r2, r2, #144 15815 006a 1A60 str r2, [r3] 15816 .LVL1007: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15817 .loc 1 7441 3 is_stmt 0 view .LVU5883 15818 .LBE713: 15819 .LBE712: 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15820 .loc 1 5588 5 is_stmt 1 view .LVU5884 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15821 .loc 1 5588 13 is_stmt 0 view .LVU5885 15822 006c 628D ldrh r2, [r4, #42] 15823 006e 92B2 uxth r2, r2 5588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15824 .loc 1 5588 8 view .LVU5886 15825 0070 002A cmp r2, #0 15826 0072 00F0B480 beq .L1409 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15827 .loc 1 5591 7 is_stmt 1 view .LVU5887 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15828 .loc 1 5591 15 is_stmt 0 view .LVU5888 15829 0076 628D ldrh r2, [r4, #42] 15830 0078 92B2 uxth r2, r2 5591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15831 .loc 1 5591 10 view .LVU5889 15832 007a FF2A cmp r2, #255 15833 007c 40F2C180 bls .L1410 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 511 15834 .loc 1 5594 9 is_stmt 1 view .LVU5890 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15835 .loc 1 5594 13 is_stmt 0 view .LVU5891 15836 0080 9A69 ldr r2, [r3, #24] 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 15837 .loc 1 5602 48 view .LVU5892 15838 0082 E56C ldr r5, [r4, #76] 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15839 .loc 1 5594 12 view .LVU5893 15840 0084 C2F30042 ubfx r2, r2, #16, #1 15841 0088 002A cmp r2, #0 15842 .LBB714: 15843 .LBB715: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15844 .loc 1 7337 3 view .LVU5894 15845 008a 6E4A ldr r2, .L1466 15846 .LBE715: 15847 .LBE714: 5594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15848 .loc 1 5594 12 view .LVU5895 15849 008c 15BF itete ne 15850 008e 0121 movne r1, #1 15851 0090 FF21 moveq r1, #255 15852 0092 4FF48036 movne r6, #65536 15853 0096 4FF47F06 moveq r6, #16711680 15854 .LBB719: 15855 .LBB716: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15856 .loc 1 7337 3 view .LVU5896 15857 009a 9342 cmp r3, r2 15858 009c 2185 strh r1, [r4, #40] @ movhi 15859 .LBE716: 15860 .LBE719: 5602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 15861 .loc 1 5602 9 is_stmt 1 view .LVU5897 15862 009e ADB2 uxth r5, r5 15863 .LVL1008: 15864 .LBB720: 15865 .LBI714: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 15866 .loc 1 7333 13 view .LVU5898 15867 .LBB717: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15868 .loc 1 7337 3 view .LVU5899 15869 00a0 0AD0 beq .L1412 15870 00a2 02F58062 add r2, r2, #1024 15871 00a6 9342 cmp r3, r2 15872 00a8 06D0 beq .L1412 15873 00aa 41F6A941 movw r1, #7337 15874 .LVL1009: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 15875 .loc 1 7337 3 is_stmt 0 view .LVU5900 15876 00ae 6648 ldr r0, .L1466+4 15877 00b0 FFF7FEFF bl assert_failed 15878 .LVL1010: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15879 .loc 1 7347 3 view .LVU5901 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 512 15880 00b4 2368 ldr r3, [r4] 15881 .LBE717: 15882 .LBE720: 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15883 .loc 1 5613 30 view .LVU5902 15884 00b6 218D ldrh r1, [r4, #40] 15885 .L1412: 15886 .LBB721: 15887 .LBB718: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 15888 .loc 1 7338 3 is_stmt 1 view .LVU5903 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15889 .loc 1 7339 3 view .LVU5904 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 15890 .loc 1 7342 3 view .LVU5905 15891 .LVL1011: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15892 .loc 1 7347 3 view .LVU5906 15893 00b8 6448 ldr r0, .L1466+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 15894 .loc 1 7342 52 is_stmt 0 view .LVU5907 15895 00ba C5F30902 ubfx r2, r5, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15896 .loc 1 7347 3 view .LVU5908 15897 00be 5D68 ldr r5, [r3, #4] 15898 .LVL1012: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15899 .loc 1 7347 3 view .LVU5909 15900 00c0 0540 ands r5, r5, r0 15901 00c2 2A43 orrs r2, r2, r5 15902 00c4 3243 orrs r2, r2, r6 15903 00c6 42F08072 orr r2, r2, #16777216 15904 00ca 5A60 str r2, [r3, #4] 15905 .LVL1013: 15906 .L1413: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 15907 .loc 1 7347 3 view .LVU5910 15908 .LBE718: 15909 .LBE721: 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15910 .loc 1 5613 7 is_stmt 1 view .LVU5911 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15911 .loc 1 5613 23 is_stmt 0 view .LVU5912 15912 00cc 628D ldrh r2, [r4, #42] 15913 00ce 521A subs r2, r2, r1 15914 00d0 92B2 uxth r2, r2 15915 00d2 6285 strh r2, [r4, #42] @ movhi 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15916 .loc 1 5616 7 is_stmt 1 view .LVU5913 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15917 .loc 1 5616 15 is_stmt 0 view .LVU5914 15918 00d4 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 5616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15919 .loc 1 5616 10 view .LVU5915 15920 00d8 222A cmp r2, #34 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15921 .loc 1 5618 29 view .LVU5916 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 513 15922 00da 1A68 ldr r2, [r3] 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15923 .loc 1 5618 9 is_stmt 1 view .LVU5917 5618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15924 .loc 1 5618 29 is_stmt 0 view .LVU5918 15925 00dc 0CBF ite eq 15926 00de 42F40042 orreq r2, r2, #32768 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15927 .loc 1 5622 9 is_stmt 1 view .LVU5919 5622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15928 .loc 1 5622 29 is_stmt 0 view .LVU5920 15929 00e2 42F48042 orrne r2, r2, #16384 15930 00e6 1A60 str r2, [r3] 15931 00e8 A4E7 b .L1404 15932 .LVL1014: 15933 .L1406: 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15934 .loc 1 5632 8 is_stmt 1 view .LVU5921 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15935 .loc 1 5632 11 is_stmt 0 view .LVU5922 15936 00ea 4E06 lsls r6, r1, #25 15937 00ec 45D5 bpl .L1407 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 15938 .loc 1 5632 60 discriminator 1 view .LVU5923 15939 00ee 5506 lsls r5, r2, #25 15940 00f0 43D5 bpl .L1407 5636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15941 .loc 1 5636 5 is_stmt 1 view .LVU5924 15942 .LVL1015: 15943 .LBB722: 15944 .LBI722: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15945 .loc 1 7451 13 view .LVU5925 15946 .LBB723: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15947 .loc 1 7453 3 view .LVU5926 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15948 .loc 1 7455 3 view .LVU5927 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15949 .loc 1 7458 5 view .LVU5928 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15950 .loc 1 7460 5 view .LVU5929 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15951 .loc 1 7460 24 is_stmt 0 view .LVU5930 15952 00f2 94F84110 ldrb r1, [r4, #65] @ zero_extendqisi2 15953 .LVL1016: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15954 .loc 1 7506 3 view .LVU5931 15955 00f6 2368 ldr r3, [r4] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15956 .loc 1 7460 8 view .LVU5932 15957 00f8 01F02801 and r1, r1, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15958 .loc 1 7506 3 view .LVU5933 15959 00fc 1868 ldr r0, [r3] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15960 .loc 1 7460 8 view .LVU5934 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 514 15961 00fe 2829 cmp r1, #40 15962 0100 0CBF ite eq 15963 0102 6FF04202 mvneq r2, #66 15964 .LVL1017: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15965 .loc 1 7460 8 view .LVU5935 15966 0106 6FF0F202 mvnne r2, #242 15967 .LVL1018: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15968 .loc 1 7467 3 is_stmt 1 view .LVU5936 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15969 .loc 1 7479 3 view .LVU5937 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15970 .loc 1 7485 3 view .LVU5938 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15971 .loc 1 7491 3 view .LVU5939 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15972 .loc 1 7497 3 view .LVU5940 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15973 .loc 1 7506 3 view .LVU5941 15974 010a 0240 ands r2, r2, r0 15975 010c 1A60 str r2, [r3] 15976 .LVL1019: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15977 .loc 1 7506 3 is_stmt 0 view .LVU5942 15978 .LBE723: 15979 .LBE722: 5639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15980 .loc 1 5639 5 is_stmt 1 view .LVU5943 15981 .LBB724: 15982 .LBI724: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 15983 .loc 1 7360 13 view .LVU5944 15984 .LBB725: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 15985 .loc 1 7362 3 view .LVU5945 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 15986 .loc 1 7364 3 view .LVU5946 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15987 .loc 1 7441 3 view .LVU5947 15988 010e 1A68 ldr r2, [r3] 15989 .LBE725: 15990 .LBE724: 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15991 .loc 1 5643 17 is_stmt 0 view .LVU5948 15992 0110 4F49 ldr r1, .L1466+12 15993 .LBB727: 15994 .LBB726: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15995 .loc 1 7441 3 view .LVU5949 15996 0112 42F09002 orr r2, r2, #144 15997 0116 1A60 str r2, [r3] 15998 .LVL1020: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 15999 .loc 1 7441 3 view .LVU5950 16000 .LBE726: 16001 .LBE727: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 515 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16002 .loc 1 5641 5 is_stmt 1 view .LVU5951 5641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16003 .loc 1 5641 13 is_stmt 0 view .LVU5952 16004 0118 94F84100 ldrb r0, [r4, #65] @ zero_extendqisi2 5643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16005 .loc 1 5643 17 view .LVU5953 16006 011c 4D4A ldr r2, .L1466+16 16007 011e 2228 cmp r0, #34 16008 0120 08BF it eq 16009 0122 1146 moveq r1, r2 16010 .LVL1021: 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16011 .loc 1 5646 5 is_stmt 1 view .LVU5954 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16012 .loc 1 5646 13 is_stmt 0 view .LVU5955 16013 0124 628D ldrh r2, [r4, #42] 16014 0126 92B2 uxth r2, r2 5646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16015 .loc 1 5646 8 view .LVU5956 16016 0128 FF2A cmp r2, #255 16017 012a 5DD9 bls .L1418 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16018 .loc 1 5649 7 is_stmt 1 view .LVU5957 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16019 .loc 1 5649 11 is_stmt 0 view .LVU5958 16020 012c 9B69 ldr r3, [r3, #24] 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16021 .loc 1 5649 10 view .LVU5959 16022 012e D803 lsls r0, r3, #15 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16023 .loc 1 5649 11 view .LVU5960 16024 0130 C3F30042 ubfx r2, r3, #16, #1 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 16025 .loc 1 5659 46 view .LVU5961 16026 0134 E06C ldr r0, [r4, #76] 5649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16027 .loc 1 5649 10 view .LVU5962 16028 0136 5ABF itte pl 16029 0138 FF22 movpl r2, #255 5655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16030 .loc 1 5655 24 view .LVU5963 16031 013a 1346 movpl r3, r2 5651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16032 .loc 1 5651 24 view .LVU5964 16033 013c 0123 movmi r3, #1 16034 013e 2385 strh r3, [r4, #40] @ movhi 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 16035 .loc 1 5659 7 is_stmt 1 view .LVU5965 16036 0140 0091 str r1, [sp] 16037 0142 4FF08073 mov r3, #16777216 16038 0146 81B2 uxth r1, r0 16039 .LVL1022: 5659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 16040 .loc 1 5659 7 is_stmt 0 view .LVU5966 16041 0148 2046 mov r0, r4 16042 014a FFF7FEFF bl I2C_TransferConfig ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 516 16043 .LVL1023: 16044 .L1420: 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16045 .loc 1 5672 5 is_stmt 1 view .LVU5967 5672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16046 .loc 1 5672 21 is_stmt 0 view .LVU5968 16047 014e 638D ldrh r3, [r4, #42] 16048 0150 228D ldrh r2, [r4, #40] 16049 0152 9B1A subs r3, r3, r2 16050 0154 9BB2 uxth r3, r3 16051 0156 6385 strh r3, [r4, #42] @ movhi 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16052 .loc 1 5675 5 is_stmt 1 view .LVU5969 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16053 .loc 1 5675 13 is_stmt 0 view .LVU5970 16054 0158 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16055 .loc 1 5677 11 view .LVU5971 16056 015c 2268 ldr r2, [r4] 5675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16057 .loc 1 5675 8 view .LVU5972 16058 015e 222B cmp r3, #34 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16059 .loc 1 5677 27 view .LVU5973 16060 0160 1368 ldr r3, [r2] 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16061 .loc 1 5677 7 is_stmt 1 view .LVU5974 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16062 .loc 1 5696 3 is_stmt 0 view .LVU5975 16063 0162 4FF00000 mov r0, #0 5677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16064 .loc 1 5677 27 view .LVU5976 16065 0166 0CBF ite eq 16066 0168 43F40043 orreq r3, r3, #32768 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16067 .loc 1 5681 7 is_stmt 1 view .LVU5977 5681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16068 .loc 1 5681 27 is_stmt 0 view .LVU5978 16069 016c 43F48043 orrne r3, r3, #16384 16070 0170 1360 str r3, [r2] 5693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16071 .loc 1 5693 3 is_stmt 1 view .LVU5979 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16072 .loc 1 5696 3 view .LVU5980 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16073 .loc 1 5696 3 view .LVU5981 16074 0172 84F84000 strb r0, [r4, #64] 5696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16075 .loc 1 5696 3 view .LVU5982 5698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16076 .loc 1 5698 3 view .LVU5983 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16077 .loc 1 5699 1 is_stmt 0 view .LVU5984 16078 0176 02B0 add sp, sp, #8 16079 .LCFI198: 16080 .cfi_remember_state 16081 .cfi_def_cfa_offset 16 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 517 16082 @ sp needed 16083 0178 70BD pop {r4, r5, r6, pc} 16084 .LVL1024: 16085 .L1407: 16086 .LCFI199: 16087 .cfi_restore_state 5632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16088 .loc 1 5632 8 is_stmt 1 view .LVU5985 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16089 .loc 1 5684 8 view .LVU5986 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16090 .loc 1 5684 11 is_stmt 0 view .LVU5987 16091 017a 8B06 lsls r3, r1, #26 16092 017c 7FF55AAF bpl .L1404 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16093 .loc 1 5684 63 discriminator 1 view .LVU5988 16094 0180 9206 lsls r2, r2, #26 16095 .LVL1025: 5684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16096 .loc 1 5684 63 discriminator 1 view .LVU5989 16097 0182 7FF557AF bpl .L1404 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16098 .loc 1 5688 5 is_stmt 1 view .LVU5990 16099 0186 2046 mov r0, r4 16100 0188 FFF7FEFF bl I2C_ITMasterCplt 16101 .LVL1026: 5688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16102 .loc 1 5688 5 is_stmt 0 view .LVU5991 16103 018c 52E7 b .L1404 16104 .LVL1027: 16105 .L1465: 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16106 .loc 1 5557 5 is_stmt 1 view .LVU5992 16107 018e 2368 ldr r3, [r4] 16108 .LBB728: 16109 .LBB729: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16110 .loc 1 7364 6 is_stmt 0 view .LVU5993 16111 0190 3148 ldr r0, .L1466+20 16112 .LBE729: 16113 .LBE728: 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16114 .loc 1 5557 5 view .LVU5994 16115 0192 1022 movs r2, #16 16116 .LVL1028: 5557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16117 .loc 1 5557 5 view .LVU5995 16118 0194 DA61 str r2, [r3, #28] 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16119 .loc 1 5560 5 is_stmt 1 view .LVU5996 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16120 .loc 1 5560 21 is_stmt 0 view .LVU5997 16121 0196 616C ldr r1, [r4, #68] 16122 .LVL1029: 16123 .LBB734: 16124 .LBB730: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 518 16125 .loc 1 7364 12 view .LVU5998 16126 0198 626B ldr r2, [r4, #52] 16127 .LBE730: 16128 .LBE734: 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16129 .loc 1 5560 21 view .LVU5999 16130 019a 41F00401 orr r1, r1, #4 16131 .LBB735: 16132 .LBB731: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16133 .loc 1 7364 6 view .LVU6000 16134 019e 8242 cmp r2, r0 16135 .LBE731: 16136 .LBE735: 5560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16137 .loc 1 5560 21 view .LVU6001 16138 01a0 6164 str r1, [r4, #68] 5565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16139 .loc 1 5565 5 is_stmt 1 view .LVU6002 16140 .LVL1030: 16141 .LBB736: 16142 .LBI728: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16143 .loc 1 7360 13 view .LVU6003 16144 .LBB732: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16145 .loc 1 7362 3 view .LVU6004 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16146 .loc 1 7364 3 view .LVU6005 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16147 .loc 1 7364 6 is_stmt 0 view .LVU6006 16148 01a2 1AD0 beq .L1426 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16149 .loc 1 7364 45 view .LVU6007 16150 01a4 2D49 ldr r1, .L1466+24 16151 01a6 8A42 cmp r2, r1 16152 01a8 17D0 beq .L1426 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 16153 .loc 1 7365 44 view .LVU6008 16154 01aa 2D49 ldr r1, .L1466+28 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16155 .loc 1 7395 14 view .LVU6009 16156 01ac 8A42 cmp r2, r1 16157 01ae 0CBF ite eq 16158 01b0 6022 moveq r2, #96 16159 01b2 2022 movne r2, #32 16160 .L1401: 16161 .LVL1031: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16162 .loc 1 7441 3 is_stmt 1 view .LVU6010 16163 01b4 1968 ldr r1, [r3] 16164 01b6 0A43 orrs r2, r2, r1 16165 .LVL1032: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16166 .loc 1 7441 3 is_stmt 0 view .LVU6011 16167 01b8 1A60 str r2, [r3] 16168 .LVL1033: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 519 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16169 .loc 1 7441 3 view .LVU6012 16170 .LBE732: 16171 .LBE736: 5568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16172 .loc 1 5568 5 is_stmt 1 view .LVU6013 16173 .LBB737: 16174 .LBI737: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16175 .loc 1 6758 13 view .LVU6014 16176 .LBB738: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16177 .loc 1 6762 3 view .LVU6015 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16178 .loc 1 6762 7 is_stmt 0 view .LVU6016 16179 01ba 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16180 .loc 1 6762 6 view .LVU6017 16181 01bc 9107 lsls r1, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16182 .loc 1 6764 5 is_stmt 1 view .LVU6018 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16183 .loc 1 6768 3 view .LVU6019 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16184 .loc 1 6764 26 is_stmt 0 view .LVU6020 16185 01be 44BF itt mi 16186 01c0 0022 movmi r2, #0 16187 01c2 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16188 .loc 1 6768 7 view .LVU6021 16189 01c4 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16190 .loc 1 6768 6 view .LVU6022 16191 01c6 D207 lsls r2, r2, #31 16192 01c8 3FF534AF bmi .L1404 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16193 .loc 1 6770 5 is_stmt 1 view .LVU6023 16194 01cc 9A69 ldr r2, [r3, #24] 16195 01ce 42F00102 orr r2, r2, #1 16196 01d2 9A61 str r2, [r3, #24] 16197 01d4 2EE7 b .L1404 16198 .LVL1034: 16199 .L1424: 16200 .LCFI200: 16201 .cfi_def_cfa_offset 0 16202 .cfi_restore 4 16203 .cfi_restore 5 16204 .cfi_restore 6 16205 .cfi_restore 14 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16206 .loc 1 6770 5 is_stmt 0 view .LVU6024 16207 .LBE738: 16208 .LBE737: 5551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16209 .loc 1 5551 3 view .LVU6025 16210 01d6 0220 movs r0, #2 16211 .LVL1035: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 520 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16212 .loc 1 5699 1 view .LVU6026 16213 01d8 7047 bx lr 16214 .LVL1036: 16215 .L1426: 16216 .LCFI201: 16217 .cfi_def_cfa_offset 24 16218 .cfi_offset 4, -16 16219 .cfi_offset 5, -12 16220 .cfi_offset 6, -8 16221 .cfi_offset 14, -4 16222 .LBB739: 16223 .LBB733: 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16224 .loc 1 5699 1 view .LVU6027 16225 01da 6022 movs r2, #96 16226 01dc EAE7 b .L1401 16227 .LVL1037: 16228 .L1409: 5699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16229 .loc 1 5699 1 view .LVU6028 16230 .LBE733: 16231 .LBE739: 5629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16232 .loc 1 5629 7 is_stmt 1 view .LVU6029 16233 01de 4021 movs r1, #64 16234 01e0 2046 mov r0, r4 16235 01e2 FFF7FEFF bl I2C_ITError 16236 .LVL1038: 16237 01e6 25E7 b .L1404 16238 .LVL1039: 16239 .L1418: 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16240 .loc 1 5664 7 view .LVU6030 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16241 .loc 1 5664 28 is_stmt 0 view .LVU6031 16242 01e8 628D ldrh r2, [r4, #42] 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 16243 .loc 1 5667 46 view .LVU6032 16244 01ea E06C ldr r0, [r4, #76] 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16245 .loc 1 5664 28 view .LVU6033 16246 01ec 92B2 uxth r2, r2 5664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16247 .loc 1 5664 22 view .LVU6034 16248 01ee 2285 strh r2, [r4, #40] @ movhi 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 16249 .loc 1 5667 7 is_stmt 1 view .LVU6035 16250 01f0 4FF00073 mov r3, #33554432 16251 01f4 0091 str r1, [sp] 16252 01f6 D2B2 uxtb r2, r2 16253 01f8 81B2 uxth r1, r0 16254 .LVL1040: 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 16255 .loc 1 5667 7 is_stmt 0 view .LVU6036 16256 01fa 2046 mov r0, r4 16257 01fc FFF7FEFF bl I2C_TransferConfig ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 521 16258 .LVL1041: 5667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 16259 .loc 1 5667 7 view .LVU6037 16260 0200 A5E7 b .L1420 16261 .LVL1042: 16262 .L1410: 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 16263 .loc 1 5607 9 is_stmt 1 view .LVU6038 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 16264 .loc 1 5607 30 is_stmt 0 view .LVU6039 16265 0202 628D ldrh r2, [r4, #42] 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 16266 .loc 1 5608 48 view .LVU6040 16267 0204 E56C ldr r5, [r4, #76] 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 16268 .loc 1 5607 30 view .LVU6041 16269 0206 91B2 uxth r1, r2 16270 .LBB740: 16271 .LBB741: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 16272 .loc 1 7337 3 view .LVU6042 16273 0208 0E4A ldr r2, .L1466 16274 .LBE741: 16275 .LBE740: 5607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 16276 .loc 1 5607 24 view .LVU6043 16277 020a 2185 strh r1, [r4, #40] @ movhi 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 16278 .loc 1 5608 9 is_stmt 1 view .LVU6044 16279 .LBB745: 16280 .LBB742: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 16281 .loc 1 7337 3 is_stmt 0 view .LVU6045 16282 020c 9342 cmp r3, r2 16283 .LBE742: 16284 .LBE745: 5608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 16285 .loc 1 5608 9 view .LVU6046 16286 020e ADB2 uxth r5, r5 16287 0210 CEB2 uxtb r6, r1 16288 .LVL1043: 16289 .LBB746: 16290 .LBI740: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 16291 .loc 1 7333 13 is_stmt 1 view .LVU6047 16292 .LBB743: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 16293 .loc 1 7337 3 view .LVU6048 16294 0212 0AD0 beq .L1414 16295 0214 02F58062 add r2, r2, #1024 16296 0218 9342 cmp r3, r2 16297 021a 06D0 beq .L1414 16298 021c 41F6A941 movw r1, #7337 16299 0220 0948 ldr r0, .L1466+4 16300 0222 FFF7FEFF bl assert_failed 16301 .LVL1044: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 522 16302 .loc 1 7347 3 is_stmt 0 view .LVU6049 16303 0226 2368 ldr r3, [r4] 16304 .LBE743: 16305 .LBE746: 5613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16306 .loc 1 5613 30 view .LVU6050 16307 0228 218D ldrh r1, [r4, #40] 16308 .L1414: 16309 .LBB747: 16310 .LBB744: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 16311 .loc 1 7338 3 is_stmt 1 view .LVU6051 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16312 .loc 1 7339 3 view .LVU6052 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 16313 .loc 1 7342 3 view .LVU6053 16314 .LVL1045: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 16315 .loc 1 7347 3 view .LVU6054 16316 022a 5868 ldr r0, [r3, #4] 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 16317 .loc 1 7342 52 is_stmt 0 view .LVU6055 16318 022c C5F30902 ubfx r2, r5, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 16319 .loc 1 7347 3 view .LVU6056 16320 0230 064D ldr r5, .L1466+8 16321 .LVL1046: 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 16322 .loc 1 7342 68 view .LVU6057 16323 0232 42EA0642 orr r2, r2, r6, lsl #16 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 16324 .loc 1 7347 3 view .LVU6058 16325 0236 2840 ands r0, r0, r5 16326 0238 0243 orrs r2, r2, r0 16327 023a 42F00072 orr r2, r2, #33554432 16328 023e 5A60 str r2, [r3, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16329 .loc 1 7351 1 view .LVU6059 16330 0240 44E7 b .L1413 16331 .L1467: 16332 0242 00BF .align 2 16333 .L1466: 16334 0244 00540040 .word 1073763328 16335 0248 00000000 .word .LC0 16336 024c 009C00FC .word -67068928 16337 0250 00200080 .word -2147475456 16338 0254 00240080 .word -2147474432 16339 0258 00000000 .word I2C_Master_ISR_DMA 16340 025c 00000000 .word I2C_Slave_ISR_DMA 16341 0260 00000000 .word I2C_Mem_ISR_DMA 16342 .LBE744: 16343 .LBE747: 16344 .cfi_endproc 16345 .LFE183: 16347 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits 16348 .align 1 16349 .p2align 2,,3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 523 16350 .syntax unified 16351 .thumb 16352 .thumb_func 16354 I2C_Slave_ISR_DMA: 16355 .LVL1047: 16356 .LFB184: 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 16357 .loc 1 5711 1 is_stmt 1 view -0 16358 .cfi_startproc 16359 @ args = 0, pretend = 0, frame = 0 16360 @ frame_needed = 0, uses_anonymous_args = 0 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 16361 .loc 1 5712 3 view .LVU6061 5711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions; 16362 .loc 1 5711 1 is_stmt 0 view .LVU6062 16363 0000 38B5 push {r3, r4, r5, lr} 16364 .LCFI202: 16365 .cfi_def_cfa_offset 16 16366 .cfi_offset 3, -16 16367 .cfi_offset 4, -12 16368 .cfi_offset 5, -8 16369 .cfi_offset 14, -4 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16370 .loc 1 5717 3 view .LVU6063 16371 0002 90F840C0 ldrb ip, [r0, #64] @ zero_extendqisi2 5712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t treatdmanack = 0U; 16372 .loc 1 5712 12 view .LVU6064 16373 0006 C56A ldr r5, [r0, #44] 16374 .LVL1048: 5713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate; 16375 .loc 1 5713 3 is_stmt 1 view .LVU6065 5714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16376 .loc 1 5714 3 view .LVU6066 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16377 .loc 1 5717 3 view .LVU6067 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16378 .loc 1 5717 3 view .LVU6068 16379 0008 BCF1010F cmp ip, #1 16380 000c 7AD0 beq .L1490 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16381 .loc 1 5717 3 discriminator 2 view .LVU6069 16382 000e 4FF0010C mov ip, #1 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16383 .loc 1 5720 6 is_stmt 0 discriminator 2 view .LVU6070 16384 0012 11F0200F tst r1, #32 16385 0016 0446 mov r4, r0 16386 0018 0B46 mov r3, r1 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16387 .loc 1 5717 3 discriminator 2 view .LVU6071 16388 001a 80F840C0 strb ip, [r0, #64] 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16389 .loc 1 5717 3 is_stmt 1 discriminator 2 view .LVU6072 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16390 .loc 1 5720 3 discriminator 2 view .LVU6073 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16391 .loc 1 5720 6 is_stmt 0 discriminator 2 view .LVU6074 16392 001e 02D0 beq .L1470 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 524 5720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16393 .loc 1 5720 58 discriminator 1 view .LVU6075 16394 0020 12F0200F tst r2, #32 16395 0024 49D1 bne .L1527 16396 .L1470: 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16397 .loc 1 5726 8 is_stmt 1 view .LVU6076 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16398 .loc 1 5726 11 is_stmt 0 view .LVU6077 16399 0026 D806 lsls r0, r3, #27 16400 .LVL1049: 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16401 .loc 1 5726 11 view .LVU6078 16402 0028 39D5 bpl .L1472 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16403 .loc 1 5726 60 discriminator 1 view .LVU6079 16404 002a D106 lsls r1, r2, #27 16405 .LVL1050: 5726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16406 .loc 1 5726 60 discriminator 1 view .LVU6080 16407 002c 37D5 bpl .L1472 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 16408 .loc 1 5733 5 is_stmt 1 view .LVU6081 5734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16409 .loc 1 5734 10 is_stmt 0 view .LVU6082 16410 002e D00B lsrs r0, r2, #15 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 16411 .loc 1 5733 10 view .LVU6083 16412 0030 910B lsrs r1, r2, #14 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 16413 .loc 1 5733 68 view .LVU6084 16414 0032 40EA9232 orr r2, r0, r2, lsr #14 16415 .LVL1051: 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 16416 .loc 1 5733 68 view .LVU6085 16417 0036 D207 lsls r2, r2, #31 16418 0038 66D5 bpl .L1473 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16419 .loc 1 5737 15 view .LVU6086 16420 003a E26B ldr r2, [r4, #60] 5733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)) 16421 .loc 1 5733 10 view .LVU6087 16422 003c 01F00101 and r1, r1, #1 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16423 .loc 1 5737 7 is_stmt 1 view .LVU6088 5737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16424 .loc 1 5737 10 is_stmt 0 view .LVU6089 16425 0040 002A cmp r2, #0 16426 0042 40D0 beq .L1474 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16427 .loc 1 5739 9 is_stmt 1 view .LVU6090 5739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16428 .loc 1 5739 12 is_stmt 0 view .LVU6091 16429 0044 C007 lsls r0, r0, #31 16430 0046 3ED5 bpl .L1474 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16431 .loc 1 5741 11 is_stmt 1 view .LVU6092 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 525 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16432 .loc 1 5741 15 is_stmt 0 view .LVU6093 16433 0048 1268 ldr r2, [r2] 16434 004a 5268 ldr r2, [r2, #4] 5741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16435 .loc 1 5741 14 view .LVU6094 16436 004c 002A cmp r2, #0 16437 004e 3AD1 bne .L1474 5743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16438 .loc 1 5743 13 is_stmt 1 view .LVU6095 16439 .LVL1052: 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16440 .loc 1 5749 7 view .LVU6096 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16441 .loc 1 5749 15 is_stmt 0 view .LVU6097 16442 0050 A26B ldr r2, [r4, #56] 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16443 .loc 1 5749 10 view .LVU6098 16444 0052 12B1 cbz r2, .L1476 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16445 .loc 1 5751 9 is_stmt 1 view .LVU6099 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16446 .loc 1 5751 12 is_stmt 0 view .LVU6100 16447 0054 09B1 cbz r1, .L1476 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16448 .loc 1 5753 11 is_stmt 1 view .LVU6101 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16449 .loc 1 5753 15 is_stmt 0 view .LVU6102 16450 0056 1268 ldr r2, [r2] 16451 0058 5268 ldr r2, [r2, #4] 16452 .LVL1053: 16453 .L1476: 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 16454 .loc 1 5762 9 is_stmt 1 view .LVU6103 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 16455 .loc 1 5762 18 is_stmt 0 view .LVU6104 16456 005a 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 16457 .loc 1 5762 12 view .LVU6105 16458 005e 282A cmp r2, #40 16459 0060 5CD0 beq .L1528 16460 .L1478: 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16461 .loc 1 5769 14 is_stmt 1 view .LVU6106 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16462 .loc 1 5769 23 is_stmt 0 view .LVU6107 16463 0062 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 16464 .LVL1054: 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16465 .loc 1 5769 17 view .LVU6108 16466 0066 292B cmp r3, #41 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16467 .loc 1 5772 11 view .LVU6109 16468 0068 2368 ldr r3, [r4] 16469 006a 4FF01002 mov r2, #16 16470 006e DA61 str r2, [r3, #28] 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 526 16471 .loc 1 5769 17 view .LVU6110 16472 0070 11D1 bne .L1471 5769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16473 .loc 1 5769 64 discriminator 1 view .LVU6111 16474 0072 15F5803F cmn r5, #65536 16475 0076 0ED0 beq .L1471 5772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16476 .loc 1 5772 11 is_stmt 1 view .LVU6112 5775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16477 .loc 1 5775 11 view .LVU6113 16478 .LVL1055: 16479 .LBB752: 16480 .LBI752: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16481 .loc 1 6758 13 view .LVU6114 16482 .LBB753: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16483 .loc 1 6762 3 view .LVU6115 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16484 .loc 1 6762 7 is_stmt 0 view .LVU6116 16485 0078 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16486 .loc 1 6762 6 view .LVU6117 16487 007a 9507 lsls r5, r2, #30 16488 .LVL1056: 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16489 .loc 1 6764 5 is_stmt 1 view .LVU6118 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16490 .loc 1 6768 3 view .LVU6119 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16491 .loc 1 6764 26 is_stmt 0 view .LVU6120 16492 007c 44BF itt mi 16493 007e 0022 movmi r2, #0 16494 0080 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16495 .loc 1 6768 7 view .LVU6121 16496 0082 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16497 .loc 1 6768 6 view .LVU6122 16498 0084 D007 lsls r0, r2, #31 16499 0086 03D4 bmi .L1481 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16500 .loc 1 6770 5 is_stmt 1 view .LVU6123 16501 0088 9A69 ldr r2, [r3, #24] 16502 008a 42F00102 orr r2, r2, #1 16503 008e 9A61 str r2, [r3, #24] 16504 .L1481: 16505 .LVL1057: 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16506 .loc 1 6770 5 is_stmt 0 view .LVU6124 16507 .LBE753: 16508 .LBE752: 5779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16509 .loc 1 5779 11 is_stmt 1 view .LVU6125 16510 0090 2046 mov r0, r4 16511 0092 FFF7FEFF bl I2C_ITSlaveSeqCplt 16512 .LVL1058: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 527 16513 .L1471: 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16514 .loc 1 5833 3 view .LVU6126 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16515 .loc 1 5836 3 view .LVU6127 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16516 .loc 1 5836 3 view .LVU6128 16517 0096 0020 movs r0, #0 16518 0098 84F84000 strb r0, [r4, #64] 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16519 .loc 1 5836 3 view .LVU6129 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16520 .loc 1 5838 3 view .LVU6130 16521 .L1524: 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16522 .loc 1 5839 1 is_stmt 0 view .LVU6131 16523 009c 38BD pop {r3, r4, r5, pc} 16524 .LVL1059: 16525 .L1472: 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 16526 .loc 1 5825 8 is_stmt 1 view .LVU6132 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 16527 .loc 1 5825 11 is_stmt 0 view .LVU6133 16528 009e 1907 lsls r1, r3, #28 16529 00a0 F9D5 bpl .L1471 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 16530 .loc 1 5825 62 discriminator 1 view .LVU6134 16531 00a2 1307 lsls r3, r2, #28 16532 .LVL1060: 5825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_ADDRI) != RESET)) 16533 .loc 1 5825 62 discriminator 1 view .LVU6135 16534 00a4 F7D5 bpl .L1471 5828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16535 .loc 1 5828 5 is_stmt 1 view .LVU6136 16536 .LVL1061: 16537 .LBB754: 16538 .LBI754: 5957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16539 .loc 1 5957 13 view .LVU6137 16540 .LBB755: 5959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t slaveaddrcode; 16541 .loc 1 5959 3 view .LVU6138 5960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd1code; 16542 .loc 1 5960 3 view .LVU6139 5961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t ownadd2code; 16543 .loc 1 5961 3 view .LVU6140 5962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16544 .loc 1 5962 3 view .LVU6141 5965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16545 .loc 1 5965 3 view .LVU6142 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16546 .loc 1 5968 3 view .LVU6143 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16547 .loc 1 5968 22 is_stmt 0 view .LVU6144 16548 00a6 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 5968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16549 .loc 1 5968 6 view .LVU6145 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 528 16550 00aa 03F02803 and r3, r3, #40 16551 00ae 282B cmp r3, #40 16552 00b0 30D0 beq .L1529 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16553 .loc 1 6040 5 is_stmt 1 view .LVU6146 16554 00b2 2368 ldr r3, [r4] 16555 00b4 0822 movs r2, #8 16556 .LVL1062: 6040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16557 .loc 1 6040 5 is_stmt 0 view .LVU6147 16558 00b6 DA61 str r2, [r3, #28] 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16559 .loc 1 6043 5 is_stmt 1 view .LVU6148 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16560 .loc 1 6043 5 view .LVU6149 16561 00b8 EDE7 b .L1471 16562 .LVL1063: 16563 .L1527: 6043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16564 .loc 1 6043 5 is_stmt 0 view .LVU6150 16565 .LBE755: 16566 .LBE754: 5724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16567 .loc 1 5724 5 is_stmt 1 view .LVU6151 16568 00ba FFF7FEFF bl I2C_ITSlaveCplt 16569 .LVL1064: 5833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16570 .loc 1 5833 3 view .LVU6152 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16571 .loc 1 5836 3 view .LVU6153 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16572 .loc 1 5836 3 view .LVU6154 16573 00be 0020 movs r0, #0 16574 00c0 84F84000 strb r0, [r4, #64] 5836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16575 .loc 1 5836 3 view .LVU6155 5838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16576 .loc 1 5838 3 view .LVU6156 16577 00c4 EAE7 b .L1524 16578 .LVL1065: 16579 .L1474: 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16580 .loc 1 5749 7 view .LVU6157 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16581 .loc 1 5749 15 is_stmt 0 view .LVU6158 16582 00c6 A26B ldr r2, [r4, #56] 5749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16583 .loc 1 5749 10 view .LVU6159 16584 00c8 22B1 cbz r2, .L1477 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16585 .loc 1 5751 9 is_stmt 1 view .LVU6160 5751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16586 .loc 1 5751 12 is_stmt 0 view .LVU6161 16587 00ca 19B1 cbz r1, .L1477 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16588 .loc 1 5753 11 is_stmt 1 view .LVU6162 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 529 16589 .loc 1 5753 15 is_stmt 0 view .LVU6163 16590 00cc 1268 ldr r2, [r2] 16591 00ce 5268 ldr r2, [r2, #4] 5753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16592 .loc 1 5753 14 view .LVU6164 16593 00d0 002A cmp r2, #0 16594 00d2 C2D0 beq .L1476 16595 .L1477: 16596 .LVL1066: 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16597 .loc 1 5791 9 is_stmt 1 view .LVU6165 16598 00d4 2368 ldr r3, [r4] 16599 .LVL1067: 5791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16600 .loc 1 5791 9 is_stmt 0 view .LVU6166 16601 00d6 1022 movs r2, #16 16602 00d8 DA61 str r2, [r3, #28] 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16603 .loc 1 5794 9 is_stmt 1 view .LVU6167 5794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16604 .loc 1 5794 25 is_stmt 0 view .LVU6168 16605 00da 636C ldr r3, [r4, #68] 16606 00dc 43F00403 orr r3, r3, #4 16607 00e0 6364 str r3, [r4, #68] 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16608 .loc 1 5797 9 is_stmt 1 view .LVU6169 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16609 .loc 1 5797 18 is_stmt 0 view .LVU6170 16610 00e2 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16611 .loc 1 5799 12 view .LVU6171 16612 00e6 35F08072 bics r2, r5, #16777216 5797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16613 .loc 1 5797 18 view .LVU6172 16614 00ea DBB2 uxtb r3, r3 16615 .LVL1068: 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16616 .loc 1 5799 9 is_stmt 1 view .LVU6173 5799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16617 .loc 1 5799 12 is_stmt 0 view .LVU6174 16618 00ec D3D1 bne .L1471 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16619 .loc 1 5801 11 is_stmt 1 view .LVU6175 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16620 .loc 1 5801 14 is_stmt 0 view .LVU6176 16621 00ee 03F0F703 and r3, r3, #247 16622 .LVL1069: 5801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16623 .loc 1 5801 14 view .LVU6177 16624 00f2 212B cmp r3, #33 16625 00f4 0CD0 beq .L1526 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16626 .loc 1 5805 16 is_stmt 1 view .LVU6178 5805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16627 .loc 1 5805 19 is_stmt 0 view .LVU6179 16628 00f6 222B cmp r3, #34 16629 00f8 0AD0 beq .L1526 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 530 16630 .L1484: 5815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16631 .loc 1 5815 11 is_stmt 1 view .LVU6180 16632 00fa 616C ldr r1, [r4, #68] 16633 00fc 2046 mov r0, r4 16634 00fe FFF7FEFF bl I2C_ITError 16635 .LVL1070: 16636 0102 C8E7 b .L1471 16637 .LVL1071: 16638 .L1490: 5717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16639 .loc 1 5717 3 is_stmt 0 view .LVU6181 16640 0104 0220 movs r0, #2 16641 .LVL1072: 5839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16642 .loc 1 5839 1 view .LVU6182 16643 0106 38BD pop {r3, r4, r5, pc} 16644 .LVL1073: 16645 .L1473: 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16646 .loc 1 5822 7 is_stmt 1 view .LVU6183 16647 0108 2368 ldr r3, [r4] 16648 .LVL1074: 5822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16649 .loc 1 5822 7 is_stmt 0 view .LVU6184 16650 010a 1022 movs r2, #16 16651 010c DA61 str r2, [r3, #28] 16652 010e C2E7 b .L1471 16653 .LVL1075: 16654 .L1526: 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16655 .loc 1 5807 13 is_stmt 1 view .LVU6185 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16656 .loc 1 5807 33 is_stmt 0 view .LVU6186 16657 0110 2363 str r3, [r4, #48] 16658 0112 F2E7 b .L1484 16659 .LVL1076: 16660 .L1529: 16661 .LBB757: 16662 .LBB756: 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16663 .loc 1 5807 33 view .LVU6187 16664 0114 2046 mov r0, r4 16665 0116 FFF7FEFF bl I2C_ITAddrCplt.part.0 16666 .LVL1077: 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16667 .loc 1 5807 33 view .LVU6188 16668 011a BCE7 b .L1471 16669 .LVL1078: 16670 .L1528: 5807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16671 .loc 1 5807 33 view .LVU6189 16672 .LBE756: 16673 .LBE757: 5762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Same action must be done for (tmpoptions == I2C_LAST_FRAME) which removed for 16674 .loc 1 5762 51 discriminator 1 view .LVU6190 16675 011c B5F1007F cmp r5, #33554432 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 531 16676 0120 9FD1 bne .L1478 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16677 .loc 1 5767 11 is_stmt 1 view .LVU6191 16678 0122 1946 mov r1, r3 16679 0124 2046 mov r0, r4 16680 0126 FFF7FEFF bl I2C_ITListenCplt 16681 .LVL1079: 5767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16682 .loc 1 5767 11 is_stmt 0 view .LVU6192 16683 012a B4E7 b .L1471 16684 .cfi_endproc 16685 .LFE184: 16687 .section .text.I2C_Master_ISR_DMA,"ax",%progbits 16688 .align 1 16689 .p2align 2,,3 16690 .syntax unified 16691 .thumb 16692 .thumb_func 16694 I2C_Master_ISR_DMA: 16695 .LVL1080: 16696 .LFB182: 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 16697 .loc 1 5399 1 is_stmt 1 view -0 16698 .cfi_startproc 16699 @ args = 0, pretend = 0, frame = 0 16700 @ frame_needed = 0, uses_anonymous_args = 0 5400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t xfermode; 16701 .loc 1 5400 3 view .LVU6194 5401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16702 .loc 1 5401 3 view .LVU6195 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16703 .loc 1 5404 3 view .LVU6196 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16704 .loc 1 5404 3 view .LVU6197 16705 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 16706 0004 012B cmp r3, #1 16707 0006 00F08580 beq .L1549 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16708 .loc 1 5404 3 discriminator 2 view .LVU6198 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 16709 .loc 1 5399 1 is_stmt 0 discriminator 2 view .LVU6199 16710 000a 10B5 push {r4, lr} 16711 .LCFI203: 16712 .cfi_def_cfa_offset 8 16713 .cfi_offset 4, -8 16714 .cfi_offset 14, -4 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16715 .loc 1 5404 3 discriminator 2 view .LVU6200 16716 000c 0123 movs r3, #1 16717 000e 80F84030 strb r3, [r0, #64] 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16718 .loc 1 5404 3 is_stmt 1 discriminator 2 view .LVU6201 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16719 .loc 1 5406 3 discriminator 2 view .LVU6202 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16720 .loc 1 5406 6 is_stmt 0 discriminator 2 view .LVU6203 16721 0012 CB06 lsls r3, r1, #27 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 532 5399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint16_t devaddress; 16722 .loc 1 5399 1 discriminator 2 view .LVU6204 16723 0014 82B0 sub sp, sp, #8 16724 .LCFI204: 16725 .cfi_def_cfa_offset 16 16726 0016 0446 mov r4, r0 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16727 .loc 1 5406 6 discriminator 2 view .LVU6205 16728 0018 01D5 bpl .L1532 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16729 .loc 1 5406 55 discriminator 1 view .LVU6206 16730 001a D006 lsls r0, r2, #27 16731 .LVL1081: 5406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 16732 .loc 1 5406 55 discriminator 1 view .LVU6207 16733 001c 57D4 bmi .L1579 16734 .L1532: 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16735 .loc 1 5423 8 is_stmt 1 view .LVU6208 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16736 .loc 1 5423 11 is_stmt 0 view .LVU6209 16737 001e 0806 lsls r0, r1, #24 16738 0020 38D5 bpl .L1537 5423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16739 .loc 1 5423 61 discriminator 1 view .LVU6210 16740 0022 5306 lsls r3, r2, #25 16741 0024 4BD5 bpl .L1538 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16742 .loc 1 5427 5 is_stmt 1 view .LVU6211 16743 0026 2368 ldr r3, [r4] 16744 0028 1A68 ldr r2, [r3] 16745 .LVL1082: 5427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16746 .loc 1 5427 5 is_stmt 0 view .LVU6212 16747 002a 22F04002 bic r2, r2, #64 16748 002e 1A60 str r2, [r3] 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16749 .loc 1 5429 5 is_stmt 1 view .LVU6213 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16750 .loc 1 5429 13 is_stmt 0 view .LVU6214 16751 0030 628D ldrh r2, [r4, #42] 16752 0032 92B2 uxth r2, r2 5429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16753 .loc 1 5429 8 view .LVU6215 16754 0034 002A cmp r2, #0 16755 0036 6FD0 beq .L1539 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16756 .loc 1 5432 7 is_stmt 1 view .LVU6216 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16757 .loc 1 5432 45 is_stmt 0 view .LVU6217 16758 0038 5968 ldr r1, [r3, #4] 16759 .LVL1083: 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16760 .loc 1 5435 15 view .LVU6218 16761 003a 628D ldrh r2, [r4, #42] 16762 003c 92B2 uxth r2, r2 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 533 16763 .loc 1 5435 10 view .LVU6219 16764 003e FF2A cmp r2, #255 5432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16765 .loc 1 5432 18 view .LVU6220 16766 0040 C1F30901 ubfx r1, r1, #0, #10 16767 .LVL1084: 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16768 .loc 1 5435 7 is_stmt 1 view .LVU6221 5435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16769 .loc 1 5435 10 is_stmt 0 view .LVU6222 16770 0044 76D8 bhi .L1580 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 16771 .loc 1 5450 9 is_stmt 1 view .LVU6223 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 16772 .loc 1 5450 30 is_stmt 0 view .LVU6224 16773 0046 628D ldrh r2, [r4, #42] 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16774 .loc 1 5451 17 view .LVU6225 16775 0048 E36A ldr r3, [r4, #44] 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16776 .loc 1 5451 12 view .LVU6226 16777 004a 13F5803F cmn r3, #65536 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 16778 .loc 1 5450 30 view .LVU6227 16779 004e 92B2 uxth r2, r2 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16780 .loc 1 5453 20 view .LVU6228 16781 0050 18BF it ne 16782 0052 E36A ldrne r3, [r4, #44] 5450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME) 16783 .loc 1 5450 24 view .LVU6229 16784 0054 2285 strh r2, [r4, #40] @ movhi 5451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16785 .loc 1 5451 9 is_stmt 1 view .LVU6230 5457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16786 .loc 1 5457 20 is_stmt 0 view .LVU6231 16787 0056 06BF itte eq 16788 0058 4FF00073 moveq r3, #33554432 5453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16789 .loc 1 5453 11 is_stmt 1 view .LVU6232 16790 .LVL1085: 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16791 .loc 1 5462 7 is_stmt 0 view .LVU6233 16792 005c D2B2 uxtbeq r2, r2 16793 005e D2B2 uxtbne r2, r2 16794 .LVL1086: 16795 .L1542: 5462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16796 .loc 1 5462 7 is_stmt 1 view .LVU6234 16797 0060 0020 movs r0, #0 16798 0062 0090 str r0, [sp] 16799 0064 2046 mov r0, r4 16800 0066 FFF7FEFF bl I2C_TransferConfig 16801 .LVL1087: 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16802 .loc 1 5465 7 view .LVU6235 5465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 534 16803 .loc 1 5465 23 is_stmt 0 view .LVU6236 16804 006a 638D ldrh r3, [r4, #42] 16805 006c 228D ldrh r2, [r4, #40] 16806 006e 9B1A subs r3, r3, r2 16807 0070 9BB2 uxth r3, r3 16808 0072 6385 strh r3, [r4, #42] @ movhi 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16809 .loc 1 5468 7 is_stmt 1 view .LVU6237 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16810 .loc 1 5468 15 is_stmt 0 view .LVU6238 16811 0074 94F84130 ldrb r3, [r4, #65] @ zero_extendqisi2 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16812 .loc 1 5470 13 view .LVU6239 16813 0078 2268 ldr r2, [r4] 5468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16814 .loc 1 5468 10 view .LVU6240 16815 007a 222B cmp r3, #34 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16816 .loc 1 5470 29 view .LVU6241 16817 007c 1368 ldr r3, [r2] 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16818 .loc 1 5470 9 is_stmt 1 view .LVU6242 5470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16819 .loc 1 5470 29 is_stmt 0 view .LVU6243 16820 007e 0CBF ite eq 16821 0080 43F40043 orreq r3, r3, #32768 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16822 .loc 1 5474 9 is_stmt 1 view .LVU6244 5474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16823 .loc 1 5474 29 is_stmt 0 view .LVU6245 16824 0084 43F48043 orrne r3, r3, #16384 16825 0088 1360 str r3, [r2] 16826 .L1536: 5529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16827 .loc 1 5529 3 is_stmt 1 view .LVU6246 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16828 .loc 1 5532 3 view .LVU6247 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16829 .loc 1 5532 3 view .LVU6248 16830 008a 0020 movs r0, #0 16831 008c 84F84000 strb r0, [r4, #64] 5532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16832 .loc 1 5532 3 view .LVU6249 5534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16833 .loc 1 5534 3 view .LVU6250 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16834 .loc 1 5535 1 is_stmt 0 view .LVU6251 16835 0090 02B0 add sp, sp, #8 16836 .LCFI205: 16837 .cfi_remember_state 16838 .cfi_def_cfa_offset 8 16839 @ sp needed 16840 0092 10BD pop {r4, pc} 16841 .LVL1088: 16842 .L1537: 16843 .LCFI206: 16844 .cfi_restore_state ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 535 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16845 .loc 1 5493 8 is_stmt 1 view .LVU6252 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16846 .loc 1 5493 11 is_stmt 0 view .LVU6253 16847 0094 4B06 lsls r3, r1, #25 16848 0096 12D5 bpl .L1538 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16849 .loc 1 5493 60 discriminator 1 view .LVU6254 16850 0098 5006 lsls r0, r2, #25 16851 009a 10D5 bpl .L1538 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16852 .loc 1 5496 5 is_stmt 1 view .LVU6255 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16853 .loc 1 5496 13 is_stmt 0 view .LVU6256 16854 009c 638D ldrh r3, [r4, #42] 16855 009e 9BB2 uxth r3, r3 5496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16856 .loc 1 5496 8 view .LVU6257 16857 00a0 002B cmp r3, #0 16858 00a2 40D1 bne .L1545 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16859 .loc 1 5498 7 is_stmt 1 view .LVU6258 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16860 .loc 1 5498 11 is_stmt 0 view .LVU6259 16861 00a4 2368 ldr r3, [r4] 16862 00a6 5A68 ldr r2, [r3, #4] 16863 .LVL1089: 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16864 .loc 1 5498 10 view .LVU6260 16865 00a8 9101 lsls r1, r2, #6 16866 .LVL1090: 5498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16867 .loc 1 5498 10 view .LVU6261 16868 00aa EED4 bmi .L1536 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16869 .loc 1 5501 9 is_stmt 1 view .LVU6262 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16870 .loc 1 5501 17 is_stmt 0 view .LVU6263 16871 00ac E26A ldr r2, [r4, #44] 5501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16872 .loc 1 5501 12 view .LVU6264 16873 00ae 12F5803F cmn r2, #65536 16874 00b2 34D1 bne .L1547 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16875 .loc 1 5504 11 is_stmt 1 view .LVU6265 5504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16876 .loc 1 5504 31 is_stmt 0 view .LVU6266 16877 00b4 5A68 ldr r2, [r3, #4] 16878 00b6 42F48042 orr r2, r2, #16384 16879 00ba 5A60 str r2, [r3, #4] 16880 00bc E5E7 b .L1536 16881 .LVL1091: 16882 .L1538: 5493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 16883 .loc 1 5493 8 is_stmt 1 view .LVU6267 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16884 .loc 1 5520 8 view .LVU6268 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 536 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16885 .loc 1 5520 11 is_stmt 0 view .LVU6269 16886 00be 8B06 lsls r3, r1, #26 16887 00c0 E3D5 bpl .L1536 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16888 .loc 1 5520 63 discriminator 1 view .LVU6270 16889 00c2 9206 lsls r2, r2, #26 16890 .LVL1092: 5520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 16891 .loc 1 5520 63 discriminator 1 view .LVU6271 16892 00c4 E1D5 bpl .L1536 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16893 .loc 1 5524 5 is_stmt 1 view .LVU6272 16894 00c6 2046 mov r0, r4 16895 00c8 FFF7FEFF bl I2C_ITMasterCplt 16896 .LVL1093: 5524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16897 .loc 1 5524 5 is_stmt 0 view .LVU6273 16898 00cc DDE7 b .L1536 16899 .LVL1094: 16900 .L1579: 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16901 .loc 1 5410 5 is_stmt 1 view .LVU6274 16902 00ce 2368 ldr r3, [r4] 16903 .LBB762: 16904 .LBB763: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16905 .loc 1 7364 6 is_stmt 0 view .LVU6275 16906 00d0 1E48 ldr r0, .L1581 16907 .LBE763: 16908 .LBE762: 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16909 .loc 1 5410 5 view .LVU6276 16910 00d2 1022 movs r2, #16 16911 .LVL1095: 5410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16912 .loc 1 5410 5 view .LVU6277 16913 00d4 DA61 str r2, [r3, #28] 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16914 .loc 1 5413 5 is_stmt 1 view .LVU6278 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16915 .loc 1 5413 21 is_stmt 0 view .LVU6279 16916 00d6 616C ldr r1, [r4, #68] 16917 .LVL1096: 16918 .LBB768: 16919 .LBB764: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16920 .loc 1 7364 12 view .LVU6280 16921 00d8 626B ldr r2, [r4, #52] 16922 .LBE764: 16923 .LBE768: 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16924 .loc 1 5413 21 view .LVU6281 16925 00da 41F00401 orr r1, r1, #4 16926 .LBB769: 16927 .LBB765: 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 537 16928 .loc 1 7364 6 view .LVU6282 16929 00de 8242 cmp r2, r0 16930 .LBE765: 16931 .LBE769: 5413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16932 .loc 1 5413 21 view .LVU6283 16933 00e0 6164 str r1, [r4, #68] 5418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16934 .loc 1 5418 5 is_stmt 1 view .LVU6284 16935 .LVL1097: 16936 .LBB770: 16937 .LBI762: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16938 .loc 1 7360 13 view .LVU6285 16939 .LBB766: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 16940 .loc 1 7362 3 view .LVU6286 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16941 .loc 1 7364 3 view .LVU6287 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16942 .loc 1 7364 6 is_stmt 0 view .LVU6288 16943 00e2 25D0 beq .L1551 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 16944 .loc 1 7364 45 view .LVU6289 16945 00e4 1A49 ldr r1, .L1581+4 16946 00e6 8A42 cmp r2, r1 16947 00e8 22D0 beq .L1551 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 16948 .loc 1 7365 44 view .LVU6290 16949 00ea 1A49 ldr r1, .L1581+8 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16950 .loc 1 7395 14 view .LVU6291 16951 00ec 8A42 cmp r2, r1 16952 00ee 0CBF ite eq 16953 00f0 6022 moveq r2, #96 16954 00f2 2022 movne r2, #32 16955 .L1533: 16956 .LVL1098: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16957 .loc 1 7441 3 is_stmt 1 view .LVU6292 16958 00f4 1968 ldr r1, [r3] 16959 00f6 0A43 orrs r2, r2, r1 16960 .LVL1099: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16961 .loc 1 7441 3 is_stmt 0 view .LVU6293 16962 00f8 1A60 str r2, [r3] 16963 .LVL1100: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16964 .loc 1 7441 3 view .LVU6294 16965 .LBE766: 16966 .LBE770: 5421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16967 .loc 1 5421 5 is_stmt 1 view .LVU6295 16968 .LBB771: 16969 .LBI771: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16970 .loc 1 6758 13 view .LVU6296 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 538 16971 .LBB772: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16972 .loc 1 6762 3 view .LVU6297 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16973 .loc 1 6762 7 is_stmt 0 view .LVU6298 16974 00fa 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16975 .loc 1 6762 6 view .LVU6299 16976 00fc 9107 lsls r1, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16977 .loc 1 6764 5 is_stmt 1 view .LVU6300 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16978 .loc 1 6768 3 view .LVU6301 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16979 .loc 1 6764 26 is_stmt 0 view .LVU6302 16980 00fe 44BF itt mi 16981 0100 0022 movmi r2, #0 16982 0102 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16983 .loc 1 6768 7 view .LVU6303 16984 0104 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 16985 .loc 1 6768 6 view .LVU6304 16986 0106 D207 lsls r2, r2, #31 16987 0108 BFD4 bmi .L1536 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16988 .loc 1 6770 5 is_stmt 1 view .LVU6305 16989 010a 9A69 ldr r2, [r3, #24] 16990 010c 42F00102 orr r2, r2, #1 16991 0110 9A61 str r2, [r3, #24] 16992 0112 BAE7 b .L1536 16993 .LVL1101: 16994 .L1549: 16995 .LCFI207: 16996 .cfi_def_cfa_offset 0 16997 .cfi_restore 4 16998 .cfi_restore 14 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 16999 .loc 1 6770 5 is_stmt 0 view .LVU6306 17000 .LBE772: 17001 .LBE771: 5404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17002 .loc 1 5404 3 view .LVU6307 17003 0114 0220 movs r0, #2 17004 .LVL1102: 5535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17005 .loc 1 5535 1 view .LVU6308 17006 0116 7047 bx lr 17007 .LVL1103: 17008 .L1539: 17009 .LCFI208: 17010 .cfi_def_cfa_offset 16 17011 .cfi_offset 4, -8 17012 .cfi_offset 14, -4 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17013 .loc 1 5480 7 is_stmt 1 view .LVU6309 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 539 17014 .loc 1 5480 11 is_stmt 0 view .LVU6310 17015 0118 5B68 ldr r3, [r3, #4] 5480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17016 .loc 1 5480 10 view .LVU6311 17017 011a 9A01 lsls r2, r3, #6 17018 011c 03D4 bmi .L1545 17019 .LVL1104: 17020 .L1547: 5483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17021 .loc 1 5483 9 is_stmt 1 view .LVU6312 17022 011e 2046 mov r0, r4 17023 0120 FFF7FEFF bl I2C_ITMasterSeqCplt 17024 .LVL1105: 17025 0124 B1E7 b .L1536 17026 .LVL1106: 17027 .L1545: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17028 .loc 1 5489 9 view .LVU6313 17029 0126 4021 movs r1, #64 17030 .LVL1107: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17031 .loc 1 5489 9 is_stmt 0 view .LVU6314 17032 0128 2046 mov r0, r4 17033 012a FFF7FEFF bl I2C_ITError 17034 .LVL1108: 17035 012e ACE7 b .L1536 17036 .LVL1109: 17037 .L1551: 17038 .LBB773: 17039 .LBB767: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17040 .loc 1 5489 9 view .LVU6315 17041 0130 6022 movs r2, #96 17042 0132 DFE7 b .L1533 17043 .LVL1110: 17044 .L1580: 5489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17045 .loc 1 5489 9 view .LVU6316 17046 .LBE767: 17047 .LBE773: 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17048 .loc 1 5438 9 is_stmt 1 view .LVU6317 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17049 .loc 1 5438 13 is_stmt 0 view .LVU6318 17050 0134 9B69 ldr r3, [r3, #24] 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17051 .loc 1 5438 12 view .LVU6319 17052 0136 D803 lsls r0, r3, #15 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17053 .loc 1 5440 11 is_stmt 1 view .LVU6320 5438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17054 .loc 1 5438 13 is_stmt 0 view .LVU6321 17055 0138 C3F30042 ubfx r2, r3, #16, #1 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17056 .loc 1 5440 26 view .LVU6322 17057 013c 4BBF itete mi 17058 013e 0123 movmi r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 540 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17059 .loc 1 5444 26 view .LVU6323 17060 0140 FF22 movpl r2, #255 5440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17061 .loc 1 5440 26 view .LVU6324 17062 0142 2385 strhmi r3, [r4, #40] @ movhi 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17063 .loc 1 5444 11 is_stmt 1 view .LVU6325 5444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17064 .loc 1 5444 26 is_stmt 0 view .LVU6326 17065 0144 2285 strhpl r2, [r4, #40] @ movhi 5446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17066 .loc 1 5446 18 view .LVU6327 17067 0146 4FF08073 mov r3, #16777216 17068 014a 89E7 b .L1542 17069 .L1582: 17070 .align 2 17071 .L1581: 17072 014c 00000000 .word I2C_Master_ISR_DMA 17073 0150 00000000 .word I2C_Slave_ISR_DMA 17074 0154 00000000 .word I2C_Mem_ISR_DMA 17075 .cfi_endproc 17076 .LFE182: 17078 .section .text.I2C_DMAError,"ax",%progbits 17079 .align 1 17080 .p2align 2,,3 17081 .syntax unified 17082 .thumb 17083 .thumb_func 17085 I2C_DMAError: 17086 .LVL1111: 17087 .LFB200: 6948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 17088 .loc 1 6948 1 is_stmt 1 view -0 17089 .cfi_startproc 17090 @ args = 0, pretend = 0, frame = 0 17091 @ frame_needed = 0, uses_anonymous_args = 0 17092 @ link register save eliminated. 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17093 .loc 1 6950 3 view .LVU6329 6950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17094 .loc 1 6950 22 is_stmt 0 view .LVU6330 17095 0000 406A ldr r0, [r0, #36] 17096 .LVL1112: 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17097 .loc 1 6953 3 is_stmt 1 view .LVU6331 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17098 .loc 1 6953 7 is_stmt 0 view .LVU6332 17099 0002 0268 ldr r2, [r0] 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17100 .loc 1 6953 23 view .LVU6333 17101 0004 5368 ldr r3, [r2, #4] 17102 0006 43F40043 orr r3, r3, #32768 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17103 .loc 1 6956 3 view .LVU6334 17104 000a 1021 movs r1, #16 6953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 541 17105 .loc 1 6953 23 view .LVU6335 17106 000c 5360 str r3, [r2, #4] 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17107 .loc 1 6956 3 is_stmt 1 view .LVU6336 17108 000e FFF7FEBF b I2C_ITError 17109 .LVL1113: 6956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17110 .loc 1 6956 3 is_stmt 0 view .LVU6337 17111 .cfi_endproc 17112 .LFE200: 17114 0012 00BF .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits 17115 .align 1 17116 .p2align 2,,3 17117 .syntax unified 17118 .thumb 17119 .thumb_func 17121 I2C_DMAMasterTransmitCplt: 17122 .LVL1114: 17123 .LFB196: 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 17124 .loc 1 6780 1 is_stmt 1 view -0 17125 .cfi_startproc 17126 @ args = 0, pretend = 0, frame = 0 17127 @ frame_needed = 0, uses_anonymous_args = 0 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17128 .loc 1 6782 3 view .LVU6339 6780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 17129 .loc 1 6780 1 is_stmt 0 view .LVU6340 17130 0000 10B5 push {r4, lr} 17131 .LCFI209: 17132 .cfi_def_cfa_offset 8 17133 .cfi_offset 4, -8 17134 .cfi_offset 14, -4 6782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17135 .loc 1 6782 22 view .LVU6341 17136 0002 446A ldr r4, [r0, #36] 17137 .LVL1115: 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17138 .loc 1 6785 3 is_stmt 1 view .LVU6342 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17139 .loc 1 6785 7 is_stmt 0 view .LVU6343 17140 0004 2268 ldr r2, [r4] 6785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17141 .loc 1 6785 23 view .LVU6344 17142 0006 1368 ldr r3, [r2] 17143 0008 23F48043 bic r3, r3, #16384 17144 000c 1360 str r3, [r2] 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17145 .loc 1 6788 3 is_stmt 1 view .LVU6345 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17146 .loc 1 6788 11 is_stmt 0 view .LVU6346 17147 000e 638D ldrh r3, [r4, #42] 17148 0010 9BB2 uxth r3, r3 6788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17149 .loc 1 6788 6 view .LVU6347 17150 0012 53B3 cbz r3, .L1599 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 542 17151 .loc 1 6797 5 is_stmt 1 view .LVU6348 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17152 .loc 1 6800 13 is_stmt 0 view .LVU6349 17153 0014 638D ldrh r3, [r4, #42] 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17154 .loc 1 6797 20 view .LVU6350 17155 0016 616A ldr r1, [r4, #36] 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17156 .loc 1 6797 27 view .LVU6351 17157 0018 208D ldrh r0, [r4, #40] 17158 .LVL1116: 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17159 .loc 1 6800 13 view .LVU6352 17160 001a 9BB2 uxth r3, r3 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17161 .loc 1 6797 20 view .LVU6353 17162 001c 0144 add r1, r1, r0 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17163 .loc 1 6800 8 view .LVU6354 17164 001e FF2B cmp r3, #255 6797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17165 .loc 1 6797 20 view .LVU6355 17166 0020 6162 str r1, [r4, #36] 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17167 .loc 1 6800 5 is_stmt 1 view .LVU6356 6800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17168 .loc 1 6800 8 is_stmt 0 view .LVU6357 17169 0022 0ED8 bhi .L1594 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17170 .loc 1 6806 7 is_stmt 1 view .LVU6358 6806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17171 .loc 1 6806 28 is_stmt 0 view .LVU6359 17172 0024 608D ldrh r0, [r4, #42] 17173 0026 80B2 uxth r0, r0 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17174 .loc 1 6810 9 view .LVU6360 17175 0028 0346 mov r3, r0 17176 .L1588: 17177 002a 2085 strh r0, [r4, #40] @ movhi 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17178 .loc 1 6810 5 is_stmt 1 view .LVU6361 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17179 .loc 1 6810 9 is_stmt 0 view .LVU6362 17180 002c 2832 adds r2, r2, #40 17181 002e A06B ldr r0, [r4, #56] 17182 0030 FFF7FEFF bl HAL_DMA_Start_IT 17183 .LVL1117: 6810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17184 .loc 1 6810 8 view .LVU6363 17185 0034 40B1 cbz r0, .L1589 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17186 .loc 1 6814 7 is_stmt 1 view .LVU6364 17187 0036 2046 mov r0, r4 17188 0038 1021 movs r1, #16 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17189 .loc 1 6822 1 is_stmt 0 view .LVU6365 17190 003a BDE81040 pop {r4, lr} ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 543 17191 .LCFI210: 17192 .cfi_remember_state 17193 .cfi_restore 14 17194 .cfi_restore 4 17195 .cfi_def_cfa_offset 0 17196 .LVL1118: 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17197 .loc 1 6814 7 view .LVU6366 17198 003e FFF7FEBF b I2C_ITError 17199 .LVL1119: 17200 .L1594: 17201 .LCFI211: 17202 .cfi_restore_state 6814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17203 .loc 1 6814 7 view .LVU6367 17204 0042 FF23 movs r3, #255 6802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17205 .loc 1 6802 22 view .LVU6368 17206 0044 1846 mov r0, r3 17207 0046 F0E7 b .L1588 17208 .L1589: 6819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17209 .loc 1 6819 7 is_stmt 1 view .LVU6369 17210 .LVL1120: 17211 .LBB778: 17212 .LBI778: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17213 .loc 1 7360 13 view .LVU6370 17214 .LBB779: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17215 .loc 1 7362 3 view .LVU6371 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17216 .loc 1 7364 3 view .LVU6372 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17217 .loc 1 7364 12 is_stmt 0 view .LVU6373 17218 0048 636B ldr r3, [r4, #52] 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17219 .loc 1 7364 6 view .LVU6374 17220 004a 124A ldr r2, .L1600 17221 004c 9342 cmp r3, r2 17222 004e 1CD0 beq .L1596 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17223 .loc 1 7364 45 view .LVU6375 17224 0050 114A ldr r2, .L1600+4 17225 0052 9342 cmp r3, r2 17226 0054 19D0 beq .L1596 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 17227 .loc 1 7365 44 view .LVU6376 17228 0056 114A ldr r2, .L1600+8 17229 0058 9342 cmp r3, r2 17230 005a 0CBF ite eq 17231 005c 4023 moveq r3, #64 17232 005e 0023 movne r3, #0 17233 .L1590: 17234 .LVL1121: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17235 .loc 1 7441 3 is_stmt 1 view .LVU6377 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 544 17236 0060 2168 ldr r1, [r4] 17237 0062 0A68 ldr r2, [r1] 17238 0064 1343 orrs r3, r3, r2 17239 .LVL1122: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17240 .loc 1 7441 3 is_stmt 0 view .LVU6378 17241 0066 0B60 str r3, [r1] 17242 .LVL1123: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17243 .loc 1 7441 3 view .LVU6379 17244 .LBE779: 17245 .LBE778: 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17246 .loc 1 6822 1 view .LVU6380 17247 0068 10BD pop {r4, pc} 17248 .LVL1124: 17249 .L1599: 6791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17250 .loc 1 6791 5 is_stmt 1 view .LVU6381 17251 .LBB781: 17252 .LBI781: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17253 .loc 1 7360 13 view .LVU6382 17254 .LBB782: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17255 .loc 1 7362 3 view .LVU6383 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17256 .loc 1 7364 3 view .LVU6384 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17257 .loc 1 7364 12 is_stmt 0 view .LVU6385 17258 006a 636B ldr r3, [r4, #52] 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17259 .loc 1 7364 6 view .LVU6386 17260 006c 0949 ldr r1, .L1600 17261 006e 8B42 cmp r3, r1 17262 0070 0DD0 beq .L1592 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17263 .loc 1 7364 45 view .LVU6387 17264 0072 0949 ldr r1, .L1600+4 17265 0074 8B42 cmp r3, r1 17266 0076 0AD0 beq .L1592 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 17267 .loc 1 7365 44 view .LVU6388 17268 0078 0849 ldr r1, .L1600+8 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17269 .loc 1 7395 14 view .LVU6389 17270 007a 8B42 cmp r3, r1 17271 007c 0CBF ite eq 17272 007e 6023 moveq r3, #96 17273 0080 2023 movne r3, #32 17274 .L1586: 17275 .LVL1125: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17276 .loc 1 7441 3 is_stmt 1 view .LVU6390 17277 0082 1168 ldr r1, [r2] 17278 0084 0B43 orrs r3, r3, r1 17279 .LVL1126: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 545 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17280 .loc 1 7441 3 is_stmt 0 view .LVU6391 17281 0086 1360 str r3, [r2] 17282 .LBE782: 17283 .LBE781: 6822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17284 .loc 1 6822 1 view .LVU6392 17285 0088 10BD pop {r4, pc} 17286 .LVL1127: 17287 .L1596: 17288 .LBB784: 17289 .LBB780: 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17290 .loc 1 7434 14 view .LVU6393 17291 008a 4023 movs r3, #64 17292 008c E8E7 b .L1590 17293 .LVL1128: 17294 .L1592: 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17295 .loc 1 7434 14 view .LVU6394 17296 .LBE780: 17297 .LBE784: 17298 .LBB785: 17299 .LBB783: 17300 008e 6023 movs r3, #96 17301 0090 F7E7 b .L1586 17302 .L1601: 17303 0092 00BF .align 2 17304 .L1600: 17305 0094 00000000 .word I2C_Master_ISR_DMA 17306 0098 00000000 .word I2C_Slave_ISR_DMA 17307 009c 00000000 .word I2C_Mem_ISR_DMA 17308 .LBE783: 17309 .LBE785: 17310 .cfi_endproc 17311 .LFE196: 17313 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits 17314 .align 1 17315 .p2align 2,,3 17316 .syntax unified 17317 .thumb 17318 .thumb_func 17320 I2C_DMAMasterReceiveCplt: 17321 .LVL1129: 17322 .LFB198: 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 17323 .loc 1 6860 1 is_stmt 1 view -0 17324 .cfi_startproc 17325 @ args = 0, pretend = 0, frame = 0 17326 @ frame_needed = 0, uses_anonymous_args = 0 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17327 .loc 1 6862 3 view .LVU6396 6860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Derogation MISRAC2012-Rule-11.5 */ 17328 .loc 1 6860 1 is_stmt 0 view .LVU6397 17329 0000 10B5 push {r4, lr} 17330 .LCFI212: 17331 .cfi_def_cfa_offset 8 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 546 17332 .cfi_offset 4, -8 17333 .cfi_offset 14, -4 6862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17334 .loc 1 6862 22 view .LVU6398 17335 0002 446A ldr r4, [r0, #36] 17336 .LVL1130: 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17337 .loc 1 6865 3 is_stmt 1 view .LVU6399 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17338 .loc 1 6865 7 is_stmt 0 view .LVU6400 17339 0004 2168 ldr r1, [r4] 6865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17340 .loc 1 6865 23 view .LVU6401 17341 0006 0B68 ldr r3, [r1] 17342 0008 23F40043 bic r3, r3, #32768 17343 000c 0B60 str r3, [r1] 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17344 .loc 1 6868 3 is_stmt 1 view .LVU6402 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17345 .loc 1 6868 11 is_stmt 0 view .LVU6403 17346 000e 638D ldrh r3, [r4, #42] 17347 0010 9BB2 uxth r3, r3 6868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17348 .loc 1 6868 6 view .LVU6404 17349 0012 002B cmp r3, #0 17350 0014 32D0 beq .L1619 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17351 .loc 1 6877 5 is_stmt 1 view .LVU6405 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17352 .loc 1 6880 13 is_stmt 0 view .LVU6406 17353 0016 638D ldrh r3, [r4, #42] 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17354 .loc 1 6877 20 view .LVU6407 17355 0018 626A ldr r2, [r4, #36] 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17356 .loc 1 6877 27 view .LVU6408 17357 001a 208D ldrh r0, [r4, #40] 17358 .LVL1131: 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17359 .loc 1 6880 13 view .LVU6409 17360 001c 9BB2 uxth r3, r3 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17361 .loc 1 6877 20 view .LVU6410 17362 001e 0244 add r2, r2, r0 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17363 .loc 1 6880 8 view .LVU6411 17364 0020 FF2B cmp r3, #255 6877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17365 .loc 1 6877 20 view .LVU6412 17366 0022 6262 str r2, [r4, #36] 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17367 .loc 1 6880 5 is_stmt 1 view .LVU6413 6880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17368 .loc 1 6880 8 is_stmt 0 view .LVU6414 17369 0024 0DD8 bhi .L1620 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17370 .loc 1 6894 7 is_stmt 1 view .LVU6415 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 547 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17371 .loc 1 6898 5 view .LVU6416 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17372 .loc 1 6894 28 is_stmt 0 view .LVU6417 17373 0026 638D ldrh r3, [r4, #42] 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17374 .loc 1 6898 9 view .LVU6418 17375 0028 E06B ldr r0, [r4, #60] 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17376 .loc 1 6894 28 view .LVU6419 17377 002a 9BB2 uxth r3, r3 6894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17378 .loc 1 6894 22 view .LVU6420 17379 002c 2385 strh r3, [r4, #40] @ movhi 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17380 .loc 1 6898 9 view .LVU6421 17381 002e 2431 adds r1, r1, #36 17382 0030 FFF7FEFF bl HAL_DMA_Start_IT 17383 .LVL1132: 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17384 .loc 1 6898 8 view .LVU6422 17385 0034 88B1 cbz r0, .L1609 17386 .L1621: 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17387 .loc 1 6902 7 is_stmt 1 view .LVU6423 17388 0036 2046 mov r0, r4 17389 0038 1021 movs r1, #16 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17390 .loc 1 6910 1 is_stmt 0 view .LVU6424 17391 003a BDE81040 pop {r4, lr} 17392 .LCFI213: 17393 .cfi_remember_state 17394 .cfi_restore 14 17395 .cfi_restore 4 17396 .cfi_def_cfa_offset 0 17397 .LVL1133: 6902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17398 .loc 1 6902 7 view .LVU6425 17399 003e FFF7FEBF b I2C_ITError 17400 .LVL1134: 17401 .L1620: 17402 .LCFI214: 17403 .cfi_restore_state 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17404 .loc 1 6883 7 is_stmt 1 view .LVU6426 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17405 .loc 1 6883 11 is_stmt 0 view .LVU6427 17406 0042 8B69 ldr r3, [r1, #24] 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17407 .loc 1 6898 9 view .LVU6428 17408 0044 E06B ldr r0, [r4, #60] 6883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17409 .loc 1 6883 10 view .LVU6429 17410 0046 DB03 lsls r3, r3, #15 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17411 .loc 1 6885 9 is_stmt 1 view .LVU6430 6885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 548 17412 .loc 1 6885 24 is_stmt 0 view .LVU6431 17413 0048 4CBF ite mi 17414 004a 0123 movmi r3, #1 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17415 .loc 1 6889 9 is_stmt 1 view .LVU6432 6889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17416 .loc 1 6889 24 is_stmt 0 view .LVU6433 17417 004c FF23 movpl r3, #255 17418 004e 2385 strh r3, [r4, #40] @ movhi 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17419 .loc 1 6898 5 is_stmt 1 view .LVU6434 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17420 .loc 1 6898 9 is_stmt 0 view .LVU6435 17421 0050 2431 adds r1, r1, #36 17422 0052 FFF7FEFF bl HAL_DMA_Start_IT 17423 .LVL1135: 6898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferSize) != HAL_OK) 17424 .loc 1 6898 8 view .LVU6436 17425 0056 0028 cmp r0, #0 17426 0058 EDD1 bne .L1621 17427 .L1609: 6907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17428 .loc 1 6907 7 is_stmt 1 view .LVU6437 17429 .LVL1136: 17430 .LBB790: 17431 .LBI790: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17432 .loc 1 7360 13 view .LVU6438 17433 .LBB791: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17434 .loc 1 7362 3 view .LVU6439 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17435 .loc 1 7364 3 view .LVU6440 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17436 .loc 1 7364 12 is_stmt 0 view .LVU6441 17437 005a 636B ldr r3, [r4, #52] 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17438 .loc 1 7364 6 view .LVU6442 17439 005c 134A ldr r2, .L1622 17440 005e 9342 cmp r3, r2 17441 0060 1CD0 beq .L1615 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17442 .loc 1 7364 45 view .LVU6443 17443 0062 134A ldr r2, .L1622+4 17444 0064 9342 cmp r3, r2 17445 0066 19D0 beq .L1615 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 17446 .loc 1 7365 44 view .LVU6444 17447 0068 124A ldr r2, .L1622+8 17448 006a 9342 cmp r3, r2 17449 006c 0CBF ite eq 17450 006e 4023 moveq r3, #64 17451 0070 0023 movne r3, #0 17452 .L1610: 17453 .LVL1137: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17454 .loc 1 7441 3 is_stmt 1 view .LVU6445 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 549 17455 0072 2168 ldr r1, [r4] 17456 0074 0A68 ldr r2, [r1] 17457 0076 1343 orrs r3, r3, r2 17458 .LVL1138: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17459 .loc 1 7441 3 is_stmt 0 view .LVU6446 17460 0078 0B60 str r3, [r1] 17461 .LVL1139: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17462 .loc 1 7441 3 view .LVU6447 17463 .LBE791: 17464 .LBE790: 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17465 .loc 1 6910 1 view .LVU6448 17466 007a 10BD pop {r4, pc} 17467 .LVL1140: 17468 .L1619: 6871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17469 .loc 1 6871 5 is_stmt 1 view .LVU6449 17470 .LBB795: 17471 .LBI795: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17472 .loc 1 7360 13 view .LVU6450 17473 .LBB796: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17474 .loc 1 7362 3 view .LVU6451 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17475 .loc 1 7364 3 view .LVU6452 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17476 .loc 1 7364 12 is_stmt 0 view .LVU6453 17477 007c 636B ldr r3, [r4, #52] 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17478 .loc 1 7364 6 view .LVU6454 17479 007e 0B4A ldr r2, .L1622 17480 0080 9342 cmp r3, r2 17481 0082 0DD0 beq .L1612 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17482 .loc 1 7364 45 view .LVU6455 17483 0084 0A4A ldr r2, .L1622+4 17484 0086 9342 cmp r3, r2 17485 0088 0AD0 beq .L1612 7365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Mem_ISR_DMA)) 17486 .loc 1 7365 44 view .LVU6456 17487 008a 0A4A ldr r2, .L1622+8 7395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17488 .loc 1 7395 14 view .LVU6457 17489 008c 9342 cmp r3, r2 17490 008e 0CBF ite eq 17491 0090 6023 moveq r3, #96 17492 0092 2023 movne r3, #32 17493 .LBE796: 17494 .LBE795: 17495 .LBB798: 17496 .LBB792: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17497 .loc 1 7441 3 view .LVU6458 17498 0094 0A68 ldr r2, [r1] ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 550 17499 0096 1343 orrs r3, r3, r2 17500 0098 0B60 str r3, [r1] 17501 .LVL1141: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17502 .loc 1 7441 3 view .LVU6459 17503 .LBE792: 17504 .LBE798: 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17505 .loc 1 6910 1 view .LVU6460 17506 009a 10BD pop {r4, pc} 17507 .LVL1142: 17508 .L1615: 17509 .LBB799: 17510 .LBB793: 7434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17511 .loc 1 7434 14 view .LVU6461 17512 009c 4023 movs r3, #64 17513 009e E8E7 b .L1610 17514 .LVL1143: 17515 .L1612: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17516 .loc 1 7441 3 view .LVU6462 17517 00a0 0A68 ldr r2, [r1] 17518 .LBE793: 17519 .LBE799: 17520 .LBB800: 17521 .LBB797: 17522 00a2 6023 movs r3, #96 17523 .LVL1144: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17524 .loc 1 7441 3 is_stmt 1 view .LVU6463 17525 .LBE797: 17526 .LBE800: 17527 .LBB801: 17528 .LBB794: 17529 00a4 1343 orrs r3, r3, r2 17530 .LVL1145: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17531 .loc 1 7441 3 is_stmt 0 view .LVU6464 17532 00a6 0B60 str r3, [r1] 17533 .LVL1146: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17534 .loc 1 7441 3 view .LVU6465 17535 .LBE794: 17536 .LBE801: 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17537 .loc 1 6910 1 view .LVU6466 17538 00a8 10BD pop {r4, pc} 17539 .LVL1147: 17540 .L1623: 6910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17541 .loc 1 6910 1 view .LVU6467 17542 00aa 00BF .align 2 17543 .L1622: 17544 00ac 00000000 .word I2C_Master_ISR_DMA 17545 00b0 00000000 .word I2C_Slave_ISR_DMA 17546 00b4 00000000 .word I2C_Mem_ISR_DMA ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 551 17547 .cfi_endproc 17548 .LFE198: 17550 .section .text.I2C_Mem_ISR_IT,"ax",%progbits 17551 .align 1 17552 .p2align 2,,3 17553 .syntax unified 17554 .thumb 17555 .thumb_func 17557 I2C_Mem_ISR_IT: 17558 .LVL1148: 17559 .LFB180: 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 17560 .loc 1 5100 1 is_stmt 1 view -0 17561 .cfi_startproc 17562 @ args = 0, pretend = 0, frame = 0 17563 @ frame_needed = 0, uses_anonymous_args = 0 5101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags; 17564 .loc 1 5101 3 view .LVU6469 5102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17565 .loc 1 5102 3 view .LVU6470 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17566 .loc 1 5105 3 is_stmt 0 view .LVU6471 17567 0000 90F84030 ldrb r3, [r0, #64] @ zero_extendqisi2 17568 .LVL1149: 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17569 .loc 1 5105 3 is_stmt 1 view .LVU6472 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17570 .loc 1 5105 3 view .LVU6473 17571 0004 012B cmp r3, #1 17572 0006 00F0CC80 beq .L1644 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17573 .loc 1 5105 3 discriminator 2 view .LVU6474 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 17574 .loc 1 5100 1 is_stmt 0 discriminator 2 view .LVU6475 17575 000a 2DE9F041 push {r4, r5, r6, r7, r8, lr} 17576 .LCFI215: 17577 .cfi_def_cfa_offset 24 17578 .cfi_offset 4, -24 17579 .cfi_offset 5, -20 17580 .cfi_offset 6, -16 17581 .cfi_offset 7, -12 17582 .cfi_offset 8, -8 17583 .cfi_offset 14, -4 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17584 .loc 1 5105 3 discriminator 2 view .LVU6476 17585 000e 0123 movs r3, #1 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 17586 .loc 1 5107 6 discriminator 2 view .LVU6477 17587 0010 CF06 lsls r7, r1, #27 5100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t direction = I2C_GENERATE_START_WRITE; 17588 .loc 1 5100 1 discriminator 2 view .LVU6478 17589 0012 82B0 sub sp, sp, #8 17590 .LCFI216: 17591 .cfi_def_cfa_offset 32 17592 0014 0446 mov r4, r0 17593 0016 0D46 mov r5, r1 17594 0018 1646 mov r6, r2 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 552 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17595 .loc 1 5105 3 discriminator 2 view .LVU6479 17596 001a 80F84030 strb r3, [r0, #64] 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17597 .loc 1 5105 3 is_stmt 1 discriminator 2 view .LVU6480 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 17598 .loc 1 5107 3 discriminator 2 view .LVU6481 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 17599 .loc 1 5107 6 is_stmt 0 discriminator 2 view .LVU6482 17600 001e 02D5 bpl .L1626 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 17601 .loc 1 5107 58 discriminator 1 view .LVU6483 17602 0020 D006 lsls r0, r2, #27 17603 .LVL1150: 5107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NACKI) != RESET)) 17604 .loc 1 5107 58 discriminator 1 view .LVU6484 17605 0022 00F19A80 bmi .L1692 17606 .L1626: 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 17607 .loc 1 5121 8 is_stmt 1 view .LVU6485 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 17608 .loc 1 5121 11 is_stmt 0 view .LVU6486 17609 0026 6807 lsls r0, r5, #29 17610 0028 1CD5 bpl .L1630 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 17611 .loc 1 5121 65 discriminator 1 view .LVU6487 17612 002a 7207 lsls r2, r6, #29 17613 .LVL1151: 5121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_RXI) != RESET)) 17614 .loc 1 5121 65 discriminator 1 view .LVU6488 17615 002c 1AD5 bpl .L1630 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17616 .loc 1 5125 5 is_stmt 1 view .LVU6489 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17617 .loc 1 5128 36 is_stmt 0 view .LVU6490 17618 002e 2268 ldr r2, [r4] 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17619 .loc 1 5128 10 view .LVU6491 17620 0030 636A ldr r3, [r4, #36] 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17621 .loc 1 5128 46 view .LVU6492 17622 0032 526A ldr r2, [r2, #36] 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17623 .loc 1 5128 23 view .LVU6493 17624 0034 1A70 strb r2, [r3] 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17625 .loc 1 5131 19 view .LVU6494 17626 0036 626A ldr r2, [r4, #36] 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17627 .loc 1 5134 9 view .LVU6495 17628 0038 638D ldrh r3, [r4, #42] 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17629 .loc 1 5131 19 view .LVU6496 17630 003a 0132 adds r2, r2, #1 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17631 .loc 1 5134 20 view .LVU6497 17632 003c 013B subs r3, r3, #1 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 553 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17633 .loc 1 5131 19 view .LVU6498 17634 003e 6262 str r2, [r4, #36] 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 17635 .loc 1 5133 19 view .LVU6499 17636 0040 228D ldrh r2, [r4, #40] 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17637 .loc 1 5134 20 view .LVU6500 17638 0042 9BB2 uxth r3, r3 17639 0044 6385 strh r3, [r4, #42] @ movhi 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 17640 .loc 1 5133 19 view .LVU6501 17641 0046 531E subs r3, r2, #1 5125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17642 .loc 1 5125 16 view .LVU6502 17643 0048 25F00405 bic r5, r5, #4 17644 .LVL1152: 5128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17645 .loc 1 5128 5 is_stmt 1 view .LVU6503 5131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17646 .loc 1 5131 5 view .LVU6504 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 17647 .loc 1 5133 5 view .LVU6505 5133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 17648 .loc 1 5133 19 is_stmt 0 view .LVU6506 17649 004c 2385 strh r3, [r4, #40] @ movhi 5134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17650 .loc 1 5134 5 is_stmt 1 view .LVU6507 17651 .LVL1153: 17652 .L1629: 5234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17653 .loc 1 5234 3 view .LVU6508 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 17654 .loc 1 5236 3 view .LVU6509 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 17655 .loc 1 5236 6 is_stmt 0 view .LVU6510 17656 004e AA06 lsls r2, r5, #26 17657 0050 02D5 bpl .L1643 5236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_STOPI) != RESET)) 17658 .loc 1 5236 61 discriminator 1 view .LVU6511 17659 0052 B306 lsls r3, r6, #26 17660 0054 00F19B80 bmi .L1693 17661 .L1643: 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17662 .loc 1 5244 3 is_stmt 1 view .LVU6512 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17663 .loc 1 5244 3 view .LVU6513 17664 0058 0020 movs r0, #0 17665 005a 84F84000 strb r0, [r4, #64] 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17666 .loc 1 5244 3 view .LVU6514 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17667 .loc 1 5246 3 view .LVU6515 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17668 .loc 1 5247 1 is_stmt 0 view .LVU6516 17669 005e 02B0 add sp, sp, #8 17670 .LCFI217: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 554 17671 .cfi_remember_state 17672 .cfi_def_cfa_offset 24 17673 @ sp needed 17674 0060 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 17675 .LVL1154: 17676 .L1630: 17677 .LCFI218: 17678 .cfi_restore_state 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 17679 .loc 1 5136 8 is_stmt 1 view .LVU6517 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 17680 .loc 1 5136 11 is_stmt 0 view .LVU6518 17681 0064 AB07 lsls r3, r5, #30 17682 0066 39D4 bmi .L1694 17683 .L1631: 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17684 .loc 1 5159 8 is_stmt 1 view .LVU6519 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17685 .loc 1 5159 11 is_stmt 0 view .LVU6520 17686 0068 2806 lsls r0, r5, #24 17687 006a 43D5 bpl .L1633 5159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17688 .loc 1 5159 64 discriminator 1 view .LVU6521 17689 006c 7206 lsls r2, r6, #25 17690 006e EED5 bpl .L1629 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17691 .loc 1 5162 5 is_stmt 1 view .LVU6522 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17692 .loc 1 5162 14 is_stmt 0 view .LVU6523 17693 0070 638D ldrh r3, [r4, #42] 17694 0072 9BB2 uxth r3, r3 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17695 .loc 1 5162 8 view .LVU6524 17696 0074 002B cmp r3, #0 17697 0076 00F08580 beq .L1634 5162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17698 .loc 1 5162 33 discriminator 1 view .LVU6525 17699 007a 238D ldrh r3, [r4, #40] 17700 007c 002B cmp r3, #0 17701 007e 40F08180 bne .L1634 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17702 .loc 1 5164 7 is_stmt 1 view .LVU6526 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17703 .loc 1 5164 15 is_stmt 0 view .LVU6527 17704 0082 638D ldrh r3, [r4, #42] 17705 0084 9BB2 uxth r3, r3 5164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17706 .loc 1 5164 10 view .LVU6528 17707 0086 FF2B cmp r3, #255 17708 0088 40F2A880 bls .L1635 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17709 .loc 1 5167 9 is_stmt 1 view .LVU6529 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17710 .loc 1 5167 13 is_stmt 0 view .LVU6530 17711 008c 2268 ldr r2, [r4] 17712 008e 9369 ldr r3, [r2, #24] 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 555 17713 .loc 1 5175 48 view .LVU6531 17714 0090 E76C ldr r7, [r4, #76] 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17715 .loc 1 5167 12 view .LVU6532 17716 0092 C3F30043 ubfx r3, r3, #16, #1 17717 0096 002B cmp r3, #0 17718 .LBB812: 17719 .LBB813: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 17720 .loc 1 7337 3 view .LVU6533 17721 0098 614B ldr r3, .L1696 17722 .LBE813: 17723 .LBE812: 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17724 .loc 1 5167 12 view .LVU6534 17725 009a 15BF itete ne 17726 009c 0121 movne r1, #1 17727 .LVL1155: 5167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17728 .loc 1 5167 12 view .LVU6535 17729 009e FF21 moveq r1, #255 17730 00a0 4FF48038 movne r8, #65536 17731 00a4 4FF47F08 moveq r8, #16711680 17732 .LBB816: 17733 .LBB814: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 17734 .loc 1 7337 3 view .LVU6536 17735 00a8 9A42 cmp r2, r3 17736 .LBE814: 17737 .LBE816: 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 17738 .loc 1 5175 9 view .LVU6537 17739 00aa BFB2 uxth r7, r7 17740 00ac 2185 strh r1, [r4, #40] @ movhi 5175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, I2C_NO_STARTSTOP); 17741 .loc 1 5175 9 is_stmt 1 view .LVU6538 17742 .LVL1156: 17743 .LBB817: 17744 .LBI812: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 17745 .loc 1 7333 13 view .LVU6539 17746 .LBB815: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 17747 .loc 1 7337 3 view .LVU6540 17748 00ae 09D0 beq .L1637 17749 00b0 03F58063 add r3, r3, #1024 17750 00b4 9A42 cmp r2, r3 17751 00b6 05D0 beq .L1637 17752 00b8 5A48 ldr r0, .L1696+4 17753 00ba 41F6A941 movw r1, #7337 17754 00be FFF7FEFF bl assert_failed 17755 .LVL1157: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 17756 .loc 1 7347 3 is_stmt 0 view .LVU6541 17757 00c2 2268 ldr r2, [r4] 17758 .L1637: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 556 17759 .loc 1 7338 3 is_stmt 1 view .LVU6542 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17760 .loc 1 7339 3 view .LVU6543 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 17761 .loc 1 7342 3 view .LVU6544 17762 .LVL1158: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 17763 .loc 1 7347 3 view .LVU6545 17764 00c4 5849 ldr r1, .L1696+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 17765 .loc 1 7342 52 is_stmt 0 view .LVU6546 17766 00c6 C7F30903 ubfx r3, r7, #0, #10 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 17767 .loc 1 7347 3 view .LVU6547 17768 00ca 5768 ldr r7, [r2, #4] 17769 .LVL1159: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 17770 .loc 1 7347 3 view .LVU6548 17771 00cc 0F40 ands r7, r7, r1 17772 00ce 3B43 orrs r3, r3, r7 17773 00d0 43EA0803 orr r3, r3, r8 17774 00d4 43F08073 orr r3, r3, #16777216 17775 00d8 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17776 .loc 1 7351 1 view .LVU6549 17777 00da B8E7 b .L1629 17778 .LVL1160: 17779 .L1694: 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17780 .loc 1 7351 1 view .LVU6550 17781 .LBE815: 17782 .LBE817: 5136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TXI) != RESET)) 17783 .loc 1 5136 65 discriminator 1 view .LVU6551 17784 00dc B707 lsls r7, r6, #30 17785 00de C3D5 bpl .L1631 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17786 .loc 1 5139 5 is_stmt 1 view .LVU6552 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17787 .loc 1 5139 13 is_stmt 0 view .LVU6553 17788 00e0 236D ldr r3, [r4, #80] 5139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17789 .loc 1 5139 8 view .LVU6554 17790 00e2 0133 adds r3, r3, #1 17791 00e4 5FD0 beq .L1695 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17792 .loc 1 5153 7 is_stmt 1 view .LVU6555 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17793 .loc 1 5153 11 is_stmt 0 view .LVU6556 17794 00e6 2368 ldr r3, [r4] 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17795 .loc 1 5153 34 view .LVU6557 17796 00e8 226D ldr r2, [r4, #80] 5153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17797 .loc 1 5153 28 view .LVU6558 17798 00ea 9A62 str r2, [r3, #40] 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 557 17799 .loc 1 5156 7 is_stmt 1 view .LVU6559 5156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17800 .loc 1 5156 24 is_stmt 0 view .LVU6560 17801 00ec 4FF0FF33 mov r3, #-1 17802 00f0 2365 str r3, [r4, #80] 17803 00f2 ACE7 b .L1629 17804 .L1633: 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17805 .loc 1 5192 8 is_stmt 1 view .LVU6561 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17806 .loc 1 5192 11 is_stmt 0 view .LVU6562 17807 00f4 6B06 lsls r3, r5, #25 17808 00f6 AAD5 bpl .L1629 5192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_TCI) != RESET)) 17809 .loc 1 5192 63 discriminator 1 view .LVU6563 17810 00f8 7706 lsls r7, r6, #25 17811 00fa A8D5 bpl .L1629 5196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17812 .loc 1 5196 5 is_stmt 1 view .LVU6564 17813 .LVL1161: 17814 .LBB818: 17815 .LBI818: 7451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17816 .loc 1 7451 13 view .LVU6565 17817 .LBB819: 7453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17818 .loc 1 7453 3 view .LVU6566 7455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17819 .loc 1 7455 3 view .LVU6567 7458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17820 .loc 1 7458 5 view .LVU6568 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17821 .loc 1 7460 5 view .LVU6569 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17822 .loc 1 7460 24 is_stmt 0 view .LVU6570 17823 00fc 94F84120 ldrb r2, [r4, #65] @ zero_extendqisi2 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17824 .loc 1 7506 3 view .LVU6571 17825 0100 2368 ldr r3, [r4] 17826 .LBE819: 17827 .LBE818: 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17828 .loc 1 5203 17 view .LVU6572 17829 0102 4A48 ldr r0, .L1696+12 17830 .LBB821: 17831 .LBB820: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17832 .loc 1 7460 8 view .LVU6573 17833 0104 02F02802 and r2, r2, #40 17834 0108 282A cmp r2, #40 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17835 .loc 1 7506 3 view .LVU6574 17836 010a 1A68 ldr r2, [r3] 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17837 .loc 1 7460 8 view .LVU6575 17838 010c 0CBF ite eq 17839 010e 6FF04201 mvneq r1, #66 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 558 17840 .LVL1162: 7460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17841 .loc 1 7460 8 view .LVU6576 17842 0112 6FF0F201 mvnne r1, #242 17843 .LVL1163: 7467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17844 .loc 1 7467 3 is_stmt 1 view .LVU6577 7479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17845 .loc 1 7479 3 view .LVU6578 7485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17846 .loc 1 7485 3 view .LVU6579 7491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17847 .loc 1 7491 3 view .LVU6580 7497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17848 .loc 1 7497 3 view .LVU6581 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17849 .loc 1 7506 3 view .LVU6582 17850 0116 0A40 ands r2, r2, r1 17851 0118 1A60 str r2, [r3] 17852 .LVL1164: 7506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17853 .loc 1 7506 3 is_stmt 0 view .LVU6583 17854 .LBE820: 17855 .LBE821: 5199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17856 .loc 1 5199 5 is_stmt 1 view .LVU6584 17857 .LBB822: 17858 .LBI822: 7360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17859 .loc 1 7360 13 view .LVU6585 17860 .LBB823: 7362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17861 .loc 1 7362 3 view .LVU6586 7364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (hi2c->XferISR != I2C_Slave_ISR_DMA) && \ 17862 .loc 1 7364 3 view .LVU6587 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17863 .loc 1 7441 3 view .LVU6588 17864 011a 1A68 ldr r2, [r3] 17865 .LBE823: 17866 .LBE822: 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17867 .loc 1 5203 17 is_stmt 0 view .LVU6589 17868 011c 4449 ldr r1, .L1696+16 17869 .LBB825: 17870 .LBB824: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17871 .loc 1 7441 3 view .LVU6590 17872 011e 42F0F402 orr r2, r2, #244 17873 0122 1A60 str r2, [r3] 17874 .LVL1165: 7441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17875 .loc 1 7441 3 view .LVU6591 17876 .LBE824: 17877 .LBE825: 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17878 .loc 1 5201 5 is_stmt 1 view .LVU6592 5201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 559 17879 .loc 1 5201 13 is_stmt 0 view .LVU6593 17880 0124 94F84170 ldrb r7, [r4, #65] @ zero_extendqisi2 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17881 .loc 1 5206 13 view .LVU6594 17882 0128 628D ldrh r2, [r4, #42] 17883 012a 92B2 uxth r2, r2 5203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17884 .loc 1 5203 17 view .LVU6595 17885 012c 222F cmp r7, #34 17886 012e 08BF it eq 17887 0130 0146 moveq r1, r0 17888 .LVL1166: 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17889 .loc 1 5206 5 is_stmt 1 view .LVU6596 5206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17890 .loc 1 5206 8 is_stmt 0 view .LVU6597 17891 0132 FF2A cmp r2, #255 17892 0134 45D9 bls .L1641 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17893 .loc 1 5209 7 is_stmt 1 view .LVU6598 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17894 .loc 1 5209 11 is_stmt 0 view .LVU6599 17895 0136 9B69 ldr r3, [r3, #24] 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17896 .loc 1 5209 10 view .LVU6600 17897 0138 D803 lsls r0, r3, #15 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17898 .loc 1 5209 11 view .LVU6601 17899 013a C3F30042 ubfx r2, r3, #16, #1 5209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17900 .loc 1 5209 10 view .LVU6602 17901 013e 5ABF itte pl 17902 0140 FF22 movpl r2, #255 5215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17903 .loc 1 5215 24 view .LVU6603 17904 0142 1346 movpl r3, r2 5211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17905 .loc 1 5211 24 view .LVU6604 17906 0144 0123 movmi r3, #1 17907 0146 2385 strh r3, [r4, #40] @ movhi 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 17908 .loc 1 5219 7 is_stmt 1 view .LVU6605 17909 0148 0091 str r1, [sp] 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 17910 .loc 1 5219 46 is_stmt 0 view .LVU6606 17911 014a E16C ldr r1, [r4, #76] 17912 .LVL1167: 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 17913 .loc 1 5219 7 view .LVU6607 17914 014c 4FF08073 mov r3, #16777216 17915 0150 89B2 uxth r1, r1 17916 0152 2046 mov r0, r4 17917 0154 FFF7FEFF bl I2C_TransferConfig 17918 .LVL1168: 5219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_RELOAD_MODE, direction); 17919 .loc 1 5219 7 view .LVU6608 17920 0158 79E7 b .L1629 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 560 17921 .LVL1169: 17922 .L1692: 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17923 .loc 1 5111 5 is_stmt 1 view .LVU6609 17924 015a 2368 ldr r3, [r4] 17925 015c 1022 movs r2, #16 17926 .LVL1170: 5111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17927 .loc 1 5111 5 is_stmt 0 view .LVU6610 17928 015e DA61 str r2, [r3, #28] 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17929 .loc 1 5116 5 is_stmt 1 view .LVU6611 5116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17930 .loc 1 5116 21 is_stmt 0 view .LVU6612 17931 0160 626C ldr r2, [r4, #68] 17932 0162 42F00402 orr r2, r2, #4 17933 0166 6264 str r2, [r4, #68] 5119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17934 .loc 1 5119 5 is_stmt 1 view .LVU6613 17935 .LVL1171: 17936 .LBB826: 17937 .LBI826: 6758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17938 .loc 1 6758 13 view .LVU6614 17939 .LBB827: 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17940 .loc 1 6762 3 view .LVU6615 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17941 .loc 1 6762 7 is_stmt 0 view .LVU6616 17942 0168 9A69 ldr r2, [r3, #24] 6762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17943 .loc 1 6762 6 view .LVU6617 17944 016a 9207 lsls r2, r2, #30 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17945 .loc 1 6764 5 is_stmt 1 view .LVU6618 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17946 .loc 1 6768 3 view .LVU6619 6764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17947 .loc 1 6764 26 is_stmt 0 view .LVU6620 17948 016c 44BF itt mi 17949 016e 0022 movmi r2, #0 17950 0170 9A62 strmi r2, [r3, #40] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17951 .loc 1 6768 7 view .LVU6621 17952 0172 9A69 ldr r2, [r3, #24] 6768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 17953 .loc 1 6768 6 view .LVU6622 17954 0174 D707 lsls r7, r2, #31 17955 0176 3FF56AAF bmi .L1629 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17956 .loc 1 6770 5 is_stmt 1 view .LVU6623 17957 017a 9A69 ldr r2, [r3, #24] 17958 017c 42F00102 orr r2, r2, #1 17959 0180 9A61 str r2, [r3, #24] 17960 0182 64E7 b .L1629 17961 .LVL1172: 17962 .L1634: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 561 6770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17963 .loc 1 6770 5 is_stmt 0 view .LVU6624 17964 .LBE827: 17965 .LBE826: 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17966 .loc 1 5189 7 is_stmt 1 view .LVU6625 17967 0184 4021 movs r1, #64 17968 .LVL1173: 5189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17969 .loc 1 5189 7 is_stmt 0 view .LVU6626 17970 0186 2046 mov r0, r4 17971 0188 FFF7FEFF bl I2C_ITError 17972 .LVL1174: 17973 018c 5FE7 b .L1629 17974 .LVL1175: 17975 .L1693: 5240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17976 .loc 1 5240 5 is_stmt 1 view .LVU6627 17977 018e 2046 mov r0, r4 17978 0190 2946 mov r1, r5 17979 0192 FFF7FEFF bl I2C_ITMasterCplt 17980 .LVL1176: 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17981 .loc 1 5244 3 view .LVU6628 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17982 .loc 1 5244 3 view .LVU6629 17983 0196 0020 movs r0, #0 17984 0198 84F84000 strb r0, [r4, #64] 5244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17985 .loc 1 5244 3 view .LVU6630 5246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 17986 .loc 1 5246 3 view .LVU6631 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 17987 .loc 1 5247 1 is_stmt 0 view .LVU6632 17988 019c 02B0 add sp, sp, #8 17989 .LCFI219: 17990 .cfi_def_cfa_offset 24 17991 @ sp needed 17992 019e BDE8F081 pop {r4, r5, r6, r7, r8, pc} 17993 .LVL1177: 17994 .L1644: 17995 .LCFI220: 17996 .cfi_def_cfa_offset 0 17997 .cfi_restore 4 17998 .cfi_restore 5 17999 .cfi_restore 6 18000 .cfi_restore 7 18001 .cfi_restore 8 18002 .cfi_restore 14 5105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18003 .loc 1 5105 3 view .LVU6633 18004 01a2 0220 movs r0, #2 18005 .LVL1178: 5247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18006 .loc 1 5247 1 view .LVU6634 18007 01a4 7047 bx lr 18008 .LVL1179: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 562 18009 .L1695: 18010 .LCFI221: 18011 .cfi_def_cfa_offset 32 18012 .cfi_offset 4, -24 18013 .cfi_offset 5, -20 18014 .cfi_offset 6, -16 18015 .cfi_offset 7, -12 18016 .cfi_offset 8, -8 18017 .cfi_offset 14, -4 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18018 .loc 1 5142 7 is_stmt 1 view .LVU6635 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18019 .loc 1 5142 30 is_stmt 0 view .LVU6636 18020 01a6 626A ldr r2, [r4, #36] 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18021 .loc 1 5142 11 view .LVU6637 18022 01a8 2368 ldr r3, [r4] 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18023 .loc 1 5142 30 view .LVU6638 18024 01aa 12F8011B ldrb r1, [r2], #1 @ zero_extendqisi2 18025 .LVL1180: 5142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18026 .loc 1 5142 28 view .LVU6639 18027 01ae 9962 str r1, [r3, #40] 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18028 .loc 1 5145 7 is_stmt 1 view .LVU6640 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18029 .loc 1 5148 11 is_stmt 0 view .LVU6641 18030 01b0 638D ldrh r3, [r4, #42] 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 18031 .loc 1 5147 21 view .LVU6642 18032 01b2 218D ldrh r1, [r4, #40] 5145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18033 .loc 1 5145 21 view .LVU6643 18034 01b4 6262 str r2, [r4, #36] 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 18035 .loc 1 5147 7 is_stmt 1 view .LVU6644 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18036 .loc 1 5148 7 view .LVU6645 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18037 .loc 1 5148 22 is_stmt 0 view .LVU6646 18038 01b6 013B subs r3, r3, #1 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 18039 .loc 1 5147 21 view .LVU6647 18040 01b8 0139 subs r1, r1, #1 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18041 .loc 1 5148 22 view .LVU6648 18042 01ba 9BB2 uxth r3, r3 5147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** hi2c->XferCount--; 18043 .loc 1 5147 21 view .LVU6649 18044 01bc 2185 strh r1, [r4, #40] @ movhi 5148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18045 .loc 1 5148 22 view .LVU6650 18046 01be 6385 strh r3, [r4, #42] @ movhi 18047 01c0 45E7 b .L1629 18048 .LVL1181: 18049 .L1641: ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 563 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18050 .loc 1 5224 7 is_stmt 1 view .LVU6651 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 18051 .loc 1 5227 7 is_stmt 0 view .LVU6652 18052 01c2 0091 str r1, [sp] 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18053 .loc 1 5224 28 view .LVU6653 18054 01c4 628D ldrh r2, [r4, #42] 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 18055 .loc 1 5227 46 view .LVU6654 18056 01c6 E16C ldr r1, [r4, #76] 18057 .LVL1182: 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18058 .loc 1 5224 28 view .LVU6655 18059 01c8 92B2 uxth r2, r2 5224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18060 .loc 1 5224 22 view .LVU6656 18061 01ca 2285 strh r2, [r4, #40] @ movhi 18062 .LVL1183: 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 18063 .loc 1 5227 7 is_stmt 1 view .LVU6657 18064 01cc 89B2 uxth r1, r1 18065 01ce D2B2 uxtb r2, r2 18066 01d0 4FF00073 mov r3, #33554432 18067 01d4 2046 mov r0, r4 18068 .LVL1184: 5227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, direction); 18069 .loc 1 5227 7 is_stmt 0 view .LVU6658 18070 01d6 FFF7FEFF bl I2C_TransferConfig 18071 .LVL1185: 18072 01da 38E7 b .L1629 18073 .LVL1186: 18074 .L1635: 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 18075 .loc 1 5180 9 is_stmt 1 view .LVU6659 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 18076 .loc 1 5180 30 is_stmt 0 view .LVU6660 18077 01dc 638D ldrh r3, [r4, #42] 18078 .LBB828: 18079 .LBB829: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 18080 .loc 1 7337 3 view .LVU6661 18081 01de 2268 ldr r2, [r4] 18082 .LBE829: 18083 .LBE828: 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 18084 .loc 1 5181 48 view .LVU6662 18085 01e0 E76C ldr r7, [r4, #76] 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 18086 .loc 1 5180 30 view .LVU6663 18087 01e2 9BB2 uxth r3, r3 5180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_TransferConfig(hi2c, (uint16_t)hi2c->Devaddress, (uint8_t)hi2c->XferSize, 18088 .loc 1 5180 24 view .LVU6664 18089 01e4 2385 strh r3, [r4, #40] @ movhi 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 18090 .loc 1 5181 9 is_stmt 1 view .LVU6665 18091 01e6 5FFA83F8 uxtb r8, r3 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 564 18092 .LVL1187: 18093 .LBB832: 18094 .LBB830: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 18095 .loc 1 7337 3 is_stmt 0 view .LVU6666 18096 01ea 0D4B ldr r3, .L1696 18097 01ec 9A42 cmp r2, r3 18098 .LBE830: 18099 .LBE832: 5181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** I2C_AUTOEND_MODE, I2C_NO_STARTSTOP); 18100 .loc 1 5181 9 view .LVU6667 18101 01ee BFB2 uxth r7, r7 18102 .LVL1188: 18103 .LBB833: 18104 .LBI828: 7333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t Request) 18105 .loc 1 7333 13 is_stmt 1 view .LVU6668 18106 .LBB831: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 18107 .loc 1 7337 3 view .LVU6669 18108 01f0 09D0 beq .L1638 18109 01f2 03F58063 add r3, r3, #1024 18110 01f6 9A42 cmp r2, r3 18111 01f8 05D0 beq .L1638 18112 01fa 0A48 ldr r0, .L1696+4 18113 01fc 41F6A941 movw r1, #7337 18114 .LVL1189: 7337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode)); 18115 .loc 1 7337 3 is_stmt 0 view .LVU6670 18116 0200 FFF7FEFF bl assert_failed 18117 .LVL1190: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 18118 .loc 1 7347 3 view .LVU6671 18119 0204 2268 ldr r2, [r4] 18120 .L1638: 7338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request)); 18121 .loc 1 7338 3 is_stmt 1 view .LVU6672 7339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18122 .loc 1 7339 3 view .LVU6673 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 18123 .loc 1 7342 3 view .LVU6674 18124 .LVL1191: 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 18125 .loc 1 7347 3 view .LVU6675 18126 0206 5168 ldr r1, [r2, #4] 18127 0208 0748 ldr r0, .L1696+8 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 18128 .loc 1 7342 52 is_stmt 0 view .LVU6676 18129 020a C7F30903 ubfx r3, r7, #0, #10 7342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ 18130 .loc 1 7342 68 view .LVU6677 18131 020e 43EA0843 orr r3, r3, r8, lsl #16 7347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEND | \ 18132 .loc 1 7347 3 view .LVU6678 18133 0212 0140 ands r1, r1, r0 18134 0214 0B43 orrs r3, r3, r1 18135 0216 43F00073 orr r3, r3, #33554432 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 565 18136 021a 5360 str r3, [r2, #4] 7351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18137 .loc 1 7351 1 view .LVU6679 18138 021c 17E7 b .L1629 18139 .L1697: 18140 021e 00BF .align 2 18141 .L1696: 18142 0220 00540040 .word 1073763328 18143 0224 00000000 .word .LC0 18144 0228 009C00FC .word -67068928 18145 022c 00240080 .word -2147474432 18146 0230 00200080 .word -2147475456 18147 .LBE831: 18148 .LBE833: 18149 .cfi_endproc 18150 .LFE180: 18152 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits 18153 .align 1 18154 .p2align 2,,3 18155 .global HAL_I2C_ER_IRQHandler 18156 .syntax unified 18157 .thumb 18158 .thumb_func 18160 HAL_I2C_ER_IRQHandler: 18161 .LVL1192: 18162 .LFB165: 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 18163 .loc 1 4658 1 is_stmt 1 view -0 18164 .cfi_startproc 18165 @ args = 0, pretend = 0, frame = 0 18166 @ frame_needed = 0, uses_anonymous_args = 0 18167 @ link register save eliminated. 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 18168 .loc 1 4659 3 view .LVU6681 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 18169 .loc 1 4659 24 is_stmt 0 view .LVU6682 18170 0000 0368 ldr r3, [r0] 4659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1); 18171 .loc 1 4659 12 view .LVU6683 18172 0002 9A69 ldr r2, [r3, #24] 18173 .LVL1193: 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 18174 .loc 1 4660 3 is_stmt 1 view .LVU6684 4660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t tmperror; 18175 .loc 1 4660 12 is_stmt 0 view .LVU6685 18176 0004 1968 ldr r1, [r3] 18177 .LVL1194: 4661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18178 .loc 1 4661 3 is_stmt 1 view .LVU6686 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18179 .loc 1 4664 3 view .LVU6687 4658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR); 18180 .loc 1 4658 1 is_stmt 0 view .LVU6688 18181 0006 10B4 push {r4} 18182 .LCFI222: 18183 .cfi_def_cfa_offset 4 18184 .cfi_offset 4, -4 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 566 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18185 .loc 1 4664 6 view .LVU6689 18186 0008 D405 lsls r4, r2, #23 18187 000a 2FD5 bpl .L1699 4664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18188 .loc 1 4664 57 discriminator 1 view .LVU6690 18189 000c 0C06 lsls r4, r1, #24 18190 000e 1FD5 bpl .L1700 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18191 .loc 1 4667 5 is_stmt 1 view .LVU6691 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18192 .loc 1 4667 21 is_stmt 0 view .LVU6692 18193 0010 416C ldr r1, [r0, #68] 18194 .LVL1195: 4667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18195 .loc 1 4667 21 view .LVU6693 18196 0012 41F00101 orr r1, r1, #1 18197 0016 4164 str r1, [r0, #68] 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18198 .loc 1 4670 5 is_stmt 1 view .LVU6694 18199 0018 4FF48074 mov r4, #256 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18200 .loc 1 4674 6 is_stmt 0 view .LVU6695 18201 001c 5105 lsls r1, r2, #21 4670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18202 .loc 1 4670 5 view .LVU6696 18203 001e DC61 str r4, [r3, #28] 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18204 .loc 1 4674 3 is_stmt 1 view .LVU6697 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18205 .loc 1 4674 6 is_stmt 0 view .LVU6698 18206 0020 29D5 bpl .L1701 18207 .L1705: 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18208 .loc 1 4677 5 is_stmt 1 view .LVU6699 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18209 .loc 1 4677 21 is_stmt 0 view .LVU6700 18210 0022 416C ldr r1, [r0, #68] 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18211 .loc 1 4680 5 view .LVU6701 18212 0024 4FF48064 mov r4, #1024 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18213 .loc 1 4677 21 view .LVU6702 18214 0028 41F00801 orr r1, r1, #8 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18215 .loc 1 4684 6 view .LVU6703 18216 002c 9205 lsls r2, r2, #22 18217 .LVL1196: 4677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18218 .loc 1 4677 21 view .LVU6704 18219 002e 4164 str r1, [r0, #68] 4680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18220 .loc 1 4680 5 is_stmt 1 view .LVU6705 18221 0030 DC61 str r4, [r3, #28] 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18222 .loc 1 4684 3 view .LVU6706 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 567 18223 .loc 1 4684 6 is_stmt 0 view .LVU6707 18224 0032 06D5 bpl .L1706 18225 .L1702: 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18226 .loc 1 4687 5 is_stmt 1 view .LVU6708 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18227 .loc 1 4687 21 is_stmt 0 view .LVU6709 18228 0034 426C ldr r2, [r0, #68] 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18229 .loc 1 4690 5 view .LVU6710 18230 0036 4FF40071 mov r1, #512 4687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18231 .loc 1 4687 21 view .LVU6711 18232 003a 42F00202 orr r2, r2, #2 18233 003e 4264 str r2, [r0, #68] 4690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18234 .loc 1 4690 5 is_stmt 1 view .LVU6712 18235 0040 D961 str r1, [r3, #28] 18236 .L1706: 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18237 .loc 1 4694 3 view .LVU6713 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18238 .loc 1 4694 12 is_stmt 0 view .LVU6714 18239 0042 416C ldr r1, [r0, #68] 18240 .LVL1197: 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 18241 .loc 1 4697 3 is_stmt 1 view .LVU6715 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 18242 .loc 1 4697 6 is_stmt 0 view .LVU6716 18243 0044 11F00B0F tst r1, #11 18244 0048 0CD1 bne .L1715 18245 .L1698: 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18246 .loc 1 4701 1 view .LVU6717 18247 004a 5DF8044B ldr r4, [sp], #4 18248 .LCFI223: 18249 .cfi_remember_state 18250 .cfi_restore 4 18251 .cfi_def_cfa_offset 0 18252 004e 7047 bx lr 18253 .LVL1198: 18254 .L1700: 18255 .LCFI224: 18256 .cfi_restore_state 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18257 .loc 1 4674 3 is_stmt 1 view .LVU6718 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18258 .loc 1 4674 6 is_stmt 0 view .LVU6719 18259 0050 5405 lsls r4, r2, #21 18260 0052 F6D4 bmi .L1706 18261 .L1704: 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18262 .loc 1 4684 3 is_stmt 1 view .LVU6720 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18263 .loc 1 4684 6 is_stmt 0 view .LVU6721 18264 0054 9405 lsls r4, r2, #22 18265 0056 F4D5 bpl .L1706 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 568 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18266 .loc 1 4684 57 discriminator 1 view .LVU6722 18267 0058 0906 lsls r1, r1, #24 18268 .LVL1199: 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18269 .loc 1 4684 57 discriminator 1 view .LVU6723 18270 005a EBD4 bmi .L1702 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18271 .loc 1 4694 3 is_stmt 1 view .LVU6724 4694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18272 .loc 1 4694 12 is_stmt 0 view .LVU6725 18273 005c 416C ldr r1, [r0, #68] 18274 .LVL1200: 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 18275 .loc 1 4697 3 is_stmt 1 view .LVU6726 4697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** { 18276 .loc 1 4697 6 is_stmt 0 view .LVU6727 18277 005e 11F00B0F tst r1, #11 18278 0062 F2D0 beq .L1698 18279 .LVL1201: 18280 .L1715: 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18281 .loc 1 4699 5 is_stmt 1 view .LVU6728 4701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18282 .loc 1 4701 1 is_stmt 0 view .LVU6729 18283 0064 5DF8044B ldr r4, [sp], #4 18284 .LCFI225: 18285 .cfi_remember_state 18286 .cfi_restore 4 18287 .cfi_def_cfa_offset 0 4699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18288 .loc 1 4699 5 view .LVU6730 18289 0068 FFF7FEBF b I2C_ITError 18290 .LVL1202: 18291 .L1699: 18292 .LCFI226: 18293 .cfi_restore_state 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18294 .loc 1 4674 3 is_stmt 1 view .LVU6731 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18295 .loc 1 4674 6 is_stmt 0 view .LVU6732 18296 006c 5405 lsls r4, r2, #21 18297 006e F1D5 bpl .L1704 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18298 .loc 1 4674 56 discriminator 1 view .LVU6733 18299 0070 0906 lsls r1, r1, #24 18300 .LVL1203: 4674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18301 .loc 1 4674 56 discriminator 1 view .LVU6734 18302 0072 D6D4 bmi .L1705 18303 0074 E5E7 b .L1706 18304 .L1701: 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18305 .loc 1 4684 3 is_stmt 1 view .LVU6735 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18306 .loc 1 4684 6 is_stmt 0 view .LVU6736 18307 0076 9205 lsls r2, r2, #22 ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 569 18308 .LVL1204: 4684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ERRI) != RESET)) 18309 .loc 1 4684 6 view .LVU6737 18310 0078 DCD4 bmi .L1702 18311 007a E2E7 b .L1706 18312 .cfi_endproc 18313 .LFE165: 18315 .section .text.HAL_I2C_GetState,"ax",%progbits 18316 .align 1 18317 .p2align 2,,3 18318 .global HAL_I2C_GetState 18319 .syntax unified 18320 .thumb 18321 .thumb_func 18323 HAL_I2C_GetState: 18324 .LVL1205: 18325 .LFB176: 4892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** /* Return I2C handle state */ 18326 .loc 1 4892 1 is_stmt 1 view -0 18327 .cfi_startproc 18328 @ args = 0, pretend = 0, frame = 0 18329 @ frame_needed = 0, uses_anonymous_args = 0 18330 @ link register save eliminated. 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18331 .loc 1 4894 3 view .LVU6739 4894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18332 .loc 1 4894 14 is_stmt 0 view .LVU6740 18333 0000 90F84100 ldrb r0, [r0, #65] @ zero_extendqisi2 18334 .LVL1206: 4895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18335 .loc 1 4895 1 view .LVU6741 18336 0004 7047 bx lr 18337 .cfi_endproc 18338 .LFE176: 18340 0006 00BF .section .text.HAL_I2C_GetMode,"ax",%progbits 18341 .align 1 18342 .p2align 2,,3 18343 .global HAL_I2C_GetMode 18344 .syntax unified 18345 .thumb 18346 .thumb_func 18348 HAL_I2C_GetMode: 18349 .LVL1207: 18350 .LFB177: 4904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->Mode; 18351 .loc 1 4904 1 is_stmt 1 view -0 18352 .cfi_startproc 18353 @ args = 0, pretend = 0, frame = 0 18354 @ frame_needed = 0, uses_anonymous_args = 0 18355 @ link register save eliminated. 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18356 .loc 1 4905 3 view .LVU6743 4905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18357 .loc 1 4905 14 is_stmt 0 view .LVU6744 18358 0000 90F84200 ldrb r0, [r0, #66] @ zero_extendqisi2 18359 .LVL1208: 4906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 570 18360 .loc 1 4906 1 view .LVU6745 18361 0004 7047 bx lr 18362 .cfi_endproc 18363 .LFE177: 18365 0006 00BF .section .text.HAL_I2C_GetError,"ax",%progbits 18366 .align 1 18367 .p2align 2,,3 18368 .global HAL_I2C_GetError 18369 .syntax unified 18370 .thumb 18371 .thumb_func 18373 HAL_I2C_GetError: 18374 .LVL1209: 18375 .LFB178: 4915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** return hi2c->ErrorCode; 18376 .loc 1 4915 1 is_stmt 1 view -0 18377 .cfi_startproc 18378 @ args = 0, pretend = 0, frame = 0 18379 @ frame_needed = 0, uses_anonymous_args = 0 18380 @ link register save eliminated. 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18381 .loc 1 4916 3 view .LVU6747 4916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** } 18382 .loc 1 4916 14 is_stmt 0 view .LVU6748 18383 0000 406C ldr r0, [r0, #68] 18384 .LVL1210: 4917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c **** 18385 .loc 1 4917 1 view .LVU6749 18386 0002 7047 bx lr 18387 .cfi_endproc 18388 .LFE178: 18390 .text 18391 .Letext0: 18392 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h" 18393 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h" 18394 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h" 18395 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h" 18396 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h" 18397 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h" 18398 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_i2c.h" 18399 .file 9 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h" 18400 .file 10 "Core/Inc/stm32f3xx_hal_conf.h" ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 571 DEFINED SYMBOLS *ABS*:00000000 stm32f3xx_hal_i2c.c C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:20 .rodata.I2C_TransferConfig.str1.4:00000000 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:25 .text.I2C_TransferConfig:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:31 .text.I2C_TransferConfig:00000000 I2C_TransferConfig C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:147 .text.I2C_TransferConfig:00000090 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:155 .text.I2C_IsErrorOccurred:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:161 .text.I2C_IsErrorOccurred:00000000 I2C_IsErrorOccurred C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:485 .text.I2C_IsErrorOccurred:0000010c $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:490 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:496 .text.I2C_WaitOnTXISFlagUntilTimeout:00000000 I2C_WaitOnTXISFlagUntilTimeout C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:610 .text.I2C_WaitOnFlagUntilTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:616 .text.I2C_WaitOnFlagUntilTimeout:00000000 I2C_WaitOnFlagUntilTimeout C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:748 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:754 .text.I2C_WaitOnSTOPFlagUntilTimeout:00000000 I2C_WaitOnSTOPFlagUntilTimeout C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:875 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:881 .text.I2C_WaitOnRXNEFlagUntilTimeout:00000000 I2C_WaitOnRXNEFlagUntilTimeout C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1070 .text.I2C_WaitOnRXNEFlagUntilTimeout:000000a0 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1075 .text.HAL_I2C_MspInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1082 .text.HAL_I2C_MspInit:00000000 HAL_I2C_MspInit C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1097 .text.HAL_I2C_Init:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1104 .text.HAL_I2C_Init:00000000 HAL_I2C_Init C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1393 .text.HAL_I2C_Init:00000178 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1399 .text.HAL_I2C_MspDeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1406 .text.HAL_I2C_MspDeInit:00000000 HAL_I2C_MspDeInit C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1417 .text.HAL_I2C_DeInit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1424 .text.HAL_I2C_DeInit:00000000 HAL_I2C_DeInit C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1512 .text.HAL_I2C_DeInit:00000050 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1518 .text.HAL_I2C_Master_Transmit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1525 .text.HAL_I2C_Master_Transmit:00000000 HAL_I2C_Master_Transmit C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1976 .text.HAL_I2C_Master_Transmit:000001d0 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1986 .text.HAL_I2C_Master_Receive:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:1993 .text.HAL_I2C_Master_Receive:00000000 HAL_I2C_Master_Receive C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2482 .text.HAL_I2C_Master_Receive:000001f8 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2494 .text.HAL_I2C_Slave_Transmit:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:2501 .text.HAL_I2C_Slave_Transmit:00000000 HAL_I2C_Slave_Transmit C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3003 .text.HAL_I2C_Slave_Receive:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3010 .text.HAL_I2C_Slave_Receive:00000000 HAL_I2C_Slave_Receive C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3373 .text.HAL_I2C_Master_Transmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3380 .text.HAL_I2C_Master_Transmit_IT:00000000 HAL_I2C_Master_Transmit_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3604 .text.HAL_I2C_Master_Transmit_IT:000000c0 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15184 .text.I2C_Master_ISR_IT:00000000 I2C_Master_ISR_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3611 .text.HAL_I2C_Master_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3618 .text.HAL_I2C_Master_Receive_IT:00000000 HAL_I2C_Master_Receive_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3785 .text.HAL_I2C_Master_Receive_IT:00000088 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3792 .text.HAL_I2C_Slave_Transmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3799 .text.HAL_I2C_Slave_Transmit_IT:00000000 HAL_I2C_Slave_Transmit_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3954 .text.HAL_I2C_Slave_Transmit_IT:00000080 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14451 .text.I2C_Slave_ISR_IT:00000000 I2C_Slave_ISR_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3960 .text.HAL_I2C_Slave_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:3967 .text.HAL_I2C_Slave_Receive_IT:00000000 HAL_I2C_Slave_Receive_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4108 .text.HAL_I2C_Slave_Receive_IT:00000058 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4114 .text.HAL_I2C_Master_Transmit_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4121 .text.HAL_I2C_Master_Transmit_DMA:00000000 HAL_I2C_Master_Transmit_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4555 .text.HAL_I2C_Master_Transmit_DMA:00000184 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16694 .text.I2C_Master_ISR_DMA:00000000 I2C_Master_ISR_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17121 .text.I2C_DMAMasterTransmitCplt:00000000 I2C_DMAMasterTransmitCplt ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 572 C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17085 .text.I2C_DMAError:00000000 I2C_DMAError C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4568 .text.HAL_I2C_Master_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4575 .text.HAL_I2C_Master_Receive_DMA:00000000 HAL_I2C_Master_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4947 .text.HAL_I2C_Master_Receive_DMA:00000150 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17320 .text.I2C_DMAMasterReceiveCplt:00000000 I2C_DMAMasterReceiveCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4960 .text.HAL_I2C_Slave_Transmit_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:4967 .text.HAL_I2C_Slave_Transmit_DMA:00000000 HAL_I2C_Slave_Transmit_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5264 .text.HAL_I2C_Slave_Transmit_DMA:00000104 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16354 .text.I2C_Slave_ISR_DMA:00000000 I2C_Slave_ISR_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12833 .text.I2C_DMASlaveTransmitCplt:00000000 I2C_DMASlaveTransmitCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5272 .text.HAL_I2C_Slave_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5279 .text.HAL_I2C_Slave_Receive_DMA:00000000 HAL_I2C_Slave_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5507 .text.HAL_I2C_Slave_Receive_DMA:000000c4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12879 .text.I2C_DMASlaveReceiveCplt:00000000 I2C_DMASlaveReceiveCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5515 .text.HAL_I2C_Mem_Write:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:5522 .text.HAL_I2C_Mem_Write:00000000 HAL_I2C_Mem_Write C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6172 .text.HAL_I2C_Mem_Write:0000028c $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6182 .text.HAL_I2C_Mem_Read:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6189 .text.HAL_I2C_Mem_Read:00000000 HAL_I2C_Mem_Read C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6843 .text.HAL_I2C_Mem_Read:00000294 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6853 .text.HAL_I2C_Mem_Write_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:6860 .text.HAL_I2C_Mem_Write_IT:00000000 HAL_I2C_Mem_Write_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7094 .text.HAL_I2C_Mem_Write_IT:000000e4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17557 .text.I2C_Mem_ISR_IT:00000000 I2C_Mem_ISR_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7103 .text.HAL_I2C_Mem_Read_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7110 .text.HAL_I2C_Mem_Read_IT:00000000 HAL_I2C_Mem_Read_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7338 .text.HAL_I2C_Mem_Read_IT:000000dc $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7347 .text.HAL_I2C_Mem_Write_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7354 .text.HAL_I2C_Mem_Write_DMA:00000000 HAL_I2C_Mem_Write_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7687 .text.HAL_I2C_Mem_Write_DMA:00000154 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15677 .text.I2C_Mem_ISR_DMA:00000000 I2C_Mem_ISR_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7700 .text.HAL_I2C_Mem_Read_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:7707 .text.HAL_I2C_Mem_Read_DMA:00000000 HAL_I2C_Mem_Read_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8040 .text.HAL_I2C_Mem_Read_DMA:00000150 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8053 .text.HAL_I2C_IsDeviceReady:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8060 .text.HAL_I2C_IsDeviceReady:00000000 HAL_I2C_IsDeviceReady C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8348 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8355 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000 HAL_I2C_Master_Seq_Transmit_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8699 .text.HAL_I2C_Master_Seq_Transmit_IT:00000124 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8708 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:8715 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000000 HAL_I2C_Master_Seq_Transmit_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9268 .text.HAL_I2C_Master_Seq_Transmit_DMA:00000200 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9278 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9285 .text.HAL_I2C_Master_Seq_Receive_IT:00000000 HAL_I2C_Master_Seq_Receive_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9565 .text.HAL_I2C_Master_Seq_Receive_IT:000000e4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9574 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:9581 .text.HAL_I2C_Master_Seq_Receive_DMA:00000000 HAL_I2C_Master_Seq_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10095 .text.HAL_I2C_Master_Seq_Receive_DMA:000001c8 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10107 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10114 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000 HAL_I2C_Slave_Seq_Transmit_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10431 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000011c $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13354 .text.I2C_DMAAbort:00000000 I2C_DMAAbort C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10438 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10445 .text.HAL_I2C_Slave_Seq_Transmit_DMA:00000000 HAL_I2C_Slave_Seq_Transmit_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10956 .text.HAL_I2C_Slave_Seq_Transmit_DMA:000001f4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10965 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:10972 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000 HAL_I2C_Slave_Seq_Receive_IT ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 573 C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11288 .text.HAL_I2C_Slave_Seq_Receive_IT:00000120 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11295 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11302 .text.HAL_I2C_Slave_Seq_Receive_DMA:00000000 HAL_I2C_Slave_Seq_Receive_DMA C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11808 .text.HAL_I2C_Slave_Seq_Receive_DMA:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11817 .text.HAL_I2C_EnableListen_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11824 .text.HAL_I2C_EnableListen_IT:00000000 HAL_I2C_EnableListen_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11895 .text.HAL_I2C_EnableListen_IT:00000024 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11902 .text.HAL_I2C_DisableListen_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:11909 .text.HAL_I2C_DisableListen_IT:00000000 HAL_I2C_DisableListen_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12010 .text.HAL_I2C_Master_Abort_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12017 .text.HAL_I2C_Master_Abort_IT:00000000 HAL_I2C_Master_Abort_IT C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12335 .text.HAL_I2C_Master_Abort_IT:000000e4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12345 .text.HAL_I2C_EV_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12352 .text.HAL_I2C_EV_IRQHandler:00000000 HAL_I2C_EV_IRQHandler C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12385 .text.HAL_I2C_MasterTxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12392 .text.HAL_I2C_MasterTxCpltCallback:00000000 HAL_I2C_MasterTxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12403 .text.HAL_I2C_MasterRxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12410 .text.HAL_I2C_MasterRxCpltCallback:00000000 HAL_I2C_MasterRxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12421 .text.I2C_ITMasterSeqCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12427 .text.I2C_ITMasterSeqCplt:00000000 I2C_ITMasterSeqCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12588 .text.HAL_I2C_SlaveTxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12595 .text.HAL_I2C_SlaveTxCpltCallback:00000000 HAL_I2C_SlaveTxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12606 .text.HAL_I2C_SlaveRxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12613 .text.HAL_I2C_SlaveRxCpltCallback:00000000 HAL_I2C_SlaveRxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12624 .text.I2C_ITSlaveSeqCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12630 .text.I2C_ITSlaveSeqCplt:00000000 I2C_ITSlaveSeqCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12827 .text.I2C_DMASlaveTransmitCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12873 .text.I2C_DMASlaveReceiveCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12926 .text.HAL_I2C_AddrCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12933 .text.HAL_I2C_AddrCallback:00000000 HAL_I2C_AddrCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12950 .text.I2C_ITAddrCplt.part.0:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:12956 .text.I2C_ITAddrCplt.part.0:00000000 I2C_ITAddrCplt.part.0 C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13107 .text.HAL_I2C_ListenCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13114 .text.HAL_I2C_ListenCpltCallback:00000000 HAL_I2C_ListenCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13125 .text.I2C_ITListenCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13131 .text.I2C_ITListenCplt:00000000 I2C_ITListenCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13271 .text.I2C_ITListenCplt:00000064 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13276 .text.HAL_I2C_MemTxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13283 .text.HAL_I2C_MemTxCpltCallback:00000000 HAL_I2C_MemTxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13294 .text.HAL_I2C_MemRxCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13301 .text.HAL_I2C_MemRxCpltCallback:00000000 HAL_I2C_MemRxCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13312 .text.HAL_I2C_ErrorCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13319 .text.HAL_I2C_ErrorCallback:00000000 HAL_I2C_ErrorCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13330 .text.HAL_I2C_AbortCpltCallback:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13337 .text.HAL_I2C_AbortCpltCallback:00000000 HAL_I2C_AbortCpltCallback C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13348 .text.I2C_DMAAbort:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13459 .text.I2C_ITError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13465 .text.I2C_ITError:00000000 I2C_ITError C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13899 .text.I2C_ITError:00000160 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13906 .text.I2C_ITSlaveCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:13912 .text.I2C_ITSlaveCplt:00000000 I2C_ITSlaveCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14439 .text.I2C_ITSlaveCplt:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14445 .text.I2C_Slave_ISR_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14815 .text.I2C_ITMasterCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:14821 .text.I2C_ITMasterCplt:00000000 I2C_ITMasterCplt C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15172 .text.I2C_ITMasterCplt:0000011c $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15178 .text.I2C_Master_ISR_IT:00000000 $t ARM GAS C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s page 574 C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15662 .text.I2C_Master_ISR_IT:000001d4 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:15671 .text.I2C_Mem_ISR_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16334 .text.I2C_Mem_ISR_DMA:00000244 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16348 .text.I2C_Slave_ISR_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:16688 .text.I2C_Master_ISR_DMA:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17072 .text.I2C_Master_ISR_DMA:0000014c $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17079 .text.I2C_DMAError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17115 .text.I2C_DMAMasterTransmitCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17305 .text.I2C_DMAMasterTransmitCplt:00000094 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17314 .text.I2C_DMAMasterReceiveCplt:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17544 .text.I2C_DMAMasterReceiveCplt:000000ac $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:17551 .text.I2C_Mem_ISR_IT:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18142 .text.I2C_Mem_ISR_IT:00000220 $d C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18153 .text.HAL_I2C_ER_IRQHandler:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18160 .text.HAL_I2C_ER_IRQHandler:00000000 HAL_I2C_ER_IRQHandler C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18316 .text.HAL_I2C_GetState:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18323 .text.HAL_I2C_GetState:00000000 HAL_I2C_GetState C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18341 .text.HAL_I2C_GetMode:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18348 .text.HAL_I2C_GetMode:00000000 HAL_I2C_GetMode C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18366 .text.HAL_I2C_GetError:00000000 $t C:\Users\zl835\AppData\Local\Temp\ccLuCofP.s:18373 .text.HAL_I2C_GetError:00000000 HAL_I2C_GetError UNDEFINED SYMBOLS assert_failed HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort_IT HAL_DMA_GetState