|
|
ARM GAS /tmp/ccpuPECZ.s page 1
|
|
|
|
|
|
|
|
|
1 .cpu cortex-m0plus
|
|
|
2 .eabi_attribute 20, 1
|
|
|
3 .eabi_attribute 21, 1
|
|
|
4 .eabi_attribute 23, 3
|
|
|
5 .eabi_attribute 24, 1
|
|
|
6 .eabi_attribute 25, 1
|
|
|
7 .eabi_attribute 26, 1
|
|
|
8 .eabi_attribute 30, 1
|
|
|
9 .eabi_attribute 34, 0
|
|
|
10 .eabi_attribute 18, 4
|
|
|
11 .file "stm32l0xx_hal_i2c.c"
|
|
|
12 .text
|
|
|
13 .Ltext0:
|
|
|
14 .cfi_sections .debug_frame
|
|
|
15 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
|
|
|
16 .align 1
|
|
|
17 .syntax unified
|
|
|
18 .code 16
|
|
|
19 .thumb_func
|
|
|
20 .fpu softvfp
|
|
|
22 I2C_DMASlaveTransmitCplt:
|
|
|
23 .LFB99:
|
|
|
24 .file 1 "./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c"
|
|
|
1:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ******************************************************************************
|
|
|
3:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @file stm32l0xx_hal_i2c.c
|
|
|
4:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @author MCD Application Team
|
|
|
5:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C HAL module driver.
|
|
|
6:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * This file provides firmware functions to manage the following
|
|
|
7:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
|
|
|
8:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * + Initialization and de-initialization functions
|
|
|
9:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * + IO operation functions
|
|
|
10:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * + Peripheral State and Errors functions
|
|
|
11:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
12:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @verbatim
|
|
|
13:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ==============================================================================
|
|
|
14:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ##### How to use this driver #####
|
|
|
15:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ==============================================================================
|
|
|
16:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
17:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
|
|
|
18:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
19:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
|
|
|
20:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
|
|
|
21:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
22:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the HAL_I2C_MspInit() API:
|
|
|
23:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
|
|
|
24:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (##) I2C pins configuration
|
|
|
25:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
|
|
|
26:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
|
|
|
27:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
|
|
|
28:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
|
|
|
29:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
|
|
|
30:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
|
|
|
31:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel
|
|
|
32:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
|
|
|
33:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
|
|
|
34:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 2
|
|
|
|
|
|
|
|
|
35:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
|
|
|
36:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
|
|
|
37:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the DMA Tx or Rx channel
|
|
|
38:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
39:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
|
|
|
40:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
|
|
|
41:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
42:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the HAL_I2C_Init(), configures also the low level H
|
|
|
43:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized HAL_I2C_MspInit(&hi2c) API.
|
|
|
44:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
45:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function HAL_I2C_IsDeviceRead
|
|
|
46:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
47:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
|
|
|
48:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
49:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** Polling mode IO operation ***
|
|
|
50:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** =================================
|
|
|
51:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
52:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using HAL_I2C_Master_Transmit(
|
|
|
53:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using HAL_I2C_Master_Receive()
|
|
|
54:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Transmit()
|
|
|
55:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using HAL_I2C_Slave_Receive()
|
|
|
56:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
57:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
|
|
|
58:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** =====================================
|
|
|
59:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
60:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using HAL_I2C_Mem_W
|
|
|
61:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using HAL_I2C_Mem_
|
|
|
62:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
63:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
64:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** Interrupt mode IO operation ***
|
|
|
65:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===================================
|
|
|
66:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
67:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Trans
|
|
|
68:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can
|
|
|
69:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
|
|
|
70:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using HAL_I2C_Master_Receiv
|
|
|
71:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can
|
|
|
72:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
|
|
|
73:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Transmi
|
|
|
74:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can
|
|
|
75:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
|
|
|
76:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using HAL_I2C_Slave_Receive_
|
|
|
77:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can
|
|
|
78:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
|
|
|
79:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can
|
|
|
80:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback()
|
|
|
81:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
|
|
|
82:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can
|
|
|
83:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback()
|
|
|
84:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
|
|
|
85:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
|
|
|
86:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
87:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
88:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** Interrupt mode IO sequential operation ***
|
|
|
89:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ==============================================
|
|
|
90:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
91:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 3
|
|
|
|
|
|
|
|
|
92:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** when a direction change during transfer
|
|
|
93:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
94:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
|
|
|
95:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Option field values are defined through @ref I2C_XFEROPTIONS and are listed below:
|
|
|
96:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa
|
|
|
97:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
|
|
|
98:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** and data to transfer without a final stop condition
|
|
|
99:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
|
|
|
100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c
|
|
|
101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** several times (like HAL_I2C_Master_Sequential_Transmit_IT() then HAL_I2
|
|
|
102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
|
|
|
103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
|
|
|
104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
|
|
|
105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
|
|
|
106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
|
|
|
107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
|
|
|
108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Differents sequential I2C interfaces are listed below:
|
|
|
110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using HAL_
|
|
|
111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_MasterTxCpltCallback() is execut
|
|
|
112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
|
|
|
113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using HAL_I
|
|
|
114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_MasterRxCpltCallback() is executed
|
|
|
115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
|
|
|
116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
|
|
|
117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can
|
|
|
118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback()
|
|
|
119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using HAL_I2C_EnableListen_IT()
|
|
|
120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) When address slave I2C match, HAL_I2C_AddrCallback() is executed and user can
|
|
|
121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request
|
|
|
122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) At Listen mode end HAL_I2C_ListenCpltCallback() is executed and user can
|
|
|
123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ListenCpltCallback()
|
|
|
124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using HAL_I
|
|
|
125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, HAL_I2C_SlaveTxCpltCallback() is execute
|
|
|
126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
|
|
|
127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using HAL_I2
|
|
|
128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, HAL_I2C_SlaveRxCpltCallback() is executed a
|
|
|
129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
|
|
|
130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can
|
|
|
131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback()
|
|
|
132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
|
|
|
133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can
|
|
|
134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback()
|
|
|
135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
|
|
|
136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
|
|
|
137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
|
|
|
139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** =======================================
|
|
|
140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
|
|
|
142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Mem_Write_IT()
|
|
|
143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can
|
|
|
144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
|
|
|
145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
|
|
|
146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Mem_Read_IT()
|
|
|
147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can
|
|
|
148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 4
|
|
|
|
|
|
|
|
|
149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can
|
|
|
150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback()
|
|
|
151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** DMA mode IO operation ***
|
|
|
153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ==============================
|
|
|
154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
|
|
|
156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Master_Transmit_DMA()
|
|
|
157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_MasterTxCpltCallback() is executed and user can
|
|
|
158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterTxCpltCallback()
|
|
|
159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
|
|
|
160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Master_Receive_DMA()
|
|
|
161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_MasterRxCpltCallback() is executed and user can
|
|
|
162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MasterRxCpltCallback()
|
|
|
163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
|
|
|
164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Slave_Transmit_DMA()
|
|
|
165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At transmission end of transfer, HAL_I2C_SlaveTxCpltCallback() is executed and user can
|
|
|
166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveTxCpltCallback()
|
|
|
167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
|
|
|
168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Slave_Receive_DMA()
|
|
|
169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At reception end of transfer, HAL_I2C_SlaveRxCpltCallback() is executed and user can
|
|
|
170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_SlaveRxCpltCallback()
|
|
|
171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can
|
|
|
172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback()
|
|
|
173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using HAL_I2C_Master_Abort_IT()
|
|
|
174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) End of abort process, HAL_I2C_AbortCpltCallback() is executed and user can
|
|
|
175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_AbortCpltCallback()
|
|
|
176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using __HAL_I2C_GENERATE_NACK() macro.
|
|
|
177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
|
|
|
178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
|
|
|
180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** =================================
|
|
|
181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
|
|
|
183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Mem_Write_DMA()
|
|
|
184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At Memory end of write transfer, HAL_I2C_MemTxCpltCallback() is executed and user can
|
|
|
185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemTxCpltCallback()
|
|
|
186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
|
|
|
187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_Mem_Read_DMA()
|
|
|
188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) At Memory end of read transfer, HAL_I2C_MemRxCpltCallback() is executed and user can
|
|
|
189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_MemRxCpltCallback()
|
|
|
190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) In case of transfer Error, HAL_I2C_ErrorCallback() function is executed and user can
|
|
|
191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** add his own code by customization of function pointer HAL_I2C_ErrorCallback()
|
|
|
192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *** I2C HAL driver macros list ***
|
|
|
195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ==================================
|
|
|
196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
|
|
|
198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE: Enable the I2C peripheral
|
|
|
200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE: Disable the I2C peripheral
|
|
|
201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
|
|
|
202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
|
|
|
203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
|
|
|
204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
|
|
|
205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 5
|
|
|
|
|
|
|
|
|
206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
|
|
|
209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @endverbatim
|
|
|
211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ******************************************************************************
|
|
|
212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @attention
|
|
|
213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
|
|
215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * Redistribution and use in source and binary forms, with or without modification,
|
|
|
217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * are permitted provided that the following conditions are met:
|
|
|
218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * 1. Redistributions of source code must retain the above copyright notice,
|
|
|
219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * this list of conditions and the following disclaimer.
|
|
|
220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
|
221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * this list of conditions and the following disclaimer in the documentation
|
|
|
222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * and/or other materials provided with the distribution.
|
|
|
223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
|
224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * may be used to endorse or promote products derived from this software
|
|
|
225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * without specific prior written permission.
|
|
|
226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
|
228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
|
231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
|
234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ******************************************************************************
|
|
|
239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
|
|
|
242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #include <vcom.h>
|
|
|
243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #include "stm32l0xx_hal.h"
|
|
|
244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @addtogroup STM32L0xx_HAL_Driver
|
|
|
246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C I2C
|
|
|
250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C HAL module driver
|
|
|
251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
|
|
|
255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
|
|
|
257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
|
|
|
258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
|
|
|
260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 6
|
|
|
|
|
|
|
|
|
263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
|
|
|
264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
|
|
|
265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
|
|
|
266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
|
|
|
267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
|
|
|
268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
|
|
|
269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
|
|
|
270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
|
|
|
271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
|
|
|
272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
|
|
|
274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define SlaveAddr_SHIFT 7U
|
|
|
275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define SlaveAddr_MSK 0x06U
|
|
|
276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
|
|
|
278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((HAL_I2C_STATE_BUSY_TX | HAL_I2C_STATE_BUSY_RX) & (~(
|
|
|
279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
|
|
|
280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)((HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)((HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | HAL_I2C_MOD
|
|
|
286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
|
|
|
289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (0x00000001U)
|
|
|
290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (0x00000002U)
|
|
|
291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (0x00000004U)
|
|
|
292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (0x00000011U)
|
|
|
294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (0x00000012U)
|
|
|
295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (0x00000012U)
|
|
|
296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
|
|
|
298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
|
|
|
299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
|
|
|
304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** #define I2C_GET_DMA_REMAIN_DATA(__HANDLE__) ((((__HANDLE__)->State) == HAL_I2C_STATE_BUSY_TX) ? \
|
|
|
305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ((uint32_t)((__HANDLE__)->hdmatx->Instance->CNDTR)) : \
|
|
|
306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ((uint32_t)((__HANDLE__)->hdmarx->Instance->CNDTR)))
|
|
|
307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
|
|
|
309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
|
|
|
310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
|
|
|
312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
|
|
|
315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
|
|
|
316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
|
|
|
317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
|
|
|
318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
|
|
|
319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 7
|
|
|
|
|
|
|
|
|
320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
|
|
|
321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
|
|
|
323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
|
|
|
324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITMasterSequentialCplt(I2C_HandleTypeDef *hi2c);
|
|
|
325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITSlaveSequentialCplt(I2C_HandleTypeDef *hi2c);
|
|
|
326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
|
|
|
327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
|
|
|
328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
|
|
|
329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
|
|
|
330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
|
|
|
332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
|
|
|
333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
|
|
|
334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
|
|
|
336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
|
|
|
337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
|
|
|
338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
|
|
|
339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
|
|
|
340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
|
|
|
342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
|
|
|
343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
|
|
|
347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
|
|
|
349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
|
|
|
350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
|
|
|
351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to flush TXDR register */
|
|
|
353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
|
|
|
354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Private functions to handle start, restart or stop a transfer */
|
|
|
356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_
|
|
|
357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
|
|
|
362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
|
|
|
364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
|
|
|
368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Initialization and Configuration functions
|
|
|
369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @verbatim
|
|
|
371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
|
|
|
373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
|
|
|
375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
|
|
|
376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 8
|
|
|
|
|
|
|
|
|
377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
|
|
|
378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
|
|
|
379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
|
|
|
381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the selected configuration:
|
|
|
382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Clock Timing
|
|
|
383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Own Address 1
|
|
|
384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
|
|
|
385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Dual Addressing mode
|
|
|
386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Own Address 2
|
|
|
387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Own Address 2 Mask
|
|
|
388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) General call mode
|
|
|
389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Nostretch mode
|
|
|
390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
|
|
|
392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** of the selected I2Cx peripheral.
|
|
|
393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @endverbatim
|
|
|
395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
|
|
|
400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
|
|
|
401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
|
|
|
406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the I2C handle allocation */
|
|
|
408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c == NULL)
|
|
|
409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
|
|
|
415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
|
|
|
416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
|
|
|
417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
|
|
|
418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
|
|
|
419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
|
|
|
420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
|
|
|
421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
|
|
|
422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
|
|
|
424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
|
|
|
426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
|
|
|
427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
|
|
|
429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
|
|
|
430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
|
|
|
433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 9
|
|
|
|
|
|
|
|
|
434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
|
|
|
435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
|
|
|
436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
|
|
|
438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
|
|
|
439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
|
|
|
440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
|
|
|
442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
|
|
|
443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
|
|
|
444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
|
|
|
446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
|
|
|
447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
|
|
|
449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
|
|
|
451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
|
|
|
453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
|
|
|
456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
|
|
|
457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
|
|
|
458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
|
|
|
460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
|
|
|
462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
|
|
|
463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
|
|
|
465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
|
|
|
466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
|
|
|
467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
|
|
|
469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | (hi2c->Init.OwnAddr
|
|
|
470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
|
|
|
472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
|
|
|
473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
|
|
|
474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
|
|
|
476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
|
|
|
477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
|
|
|
488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 10
|
|
|
|
|
|
|
|
|
491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
|
|
|
493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the I2C handle allocation */
|
|
|
495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c == NULL)
|
|
|
496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
|
|
|
502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
|
|
|
504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
|
|
|
506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
|
|
|
507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
|
|
|
509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
|
|
|
510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
|
|
|
513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Release Lock */
|
|
|
517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
|
|
|
524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
|
|
|
529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
|
|
|
535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
|
|
|
540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
|
|
|
545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 11
|
|
|
|
|
|
|
|
|
548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
|
|
|
551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
|
|
|
559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Data transfers functions
|
|
|
560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @verbatim
|
|
|
562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ##### IO operation functions #####
|
|
|
564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
|
|
|
567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** transfers.
|
|
|
568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) There are two modes of transfer:
|
|
|
570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
|
|
|
571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** The status of all data processing is returned by the same function
|
|
|
572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** after finishing transfer.
|
|
|
573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
|
|
|
574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
|
|
|
575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** The end of the data processing will be indicated through the
|
|
|
576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
|
|
|
577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** using DMA mode.
|
|
|
578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) Blocking mode functions are :
|
|
|
580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
|
|
|
581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
|
|
|
582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
|
|
|
583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
|
|
|
584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
|
|
|
585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
|
|
|
586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
|
|
|
587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
|
|
|
589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
|
|
|
590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
|
|
|
591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
|
|
|
592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
|
|
|
593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
|
|
|
594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
|
|
|
595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
|
|
|
597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
|
|
|
598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
|
|
|
599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
|
|
|
600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
|
|
|
601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
|
|
|
602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
|
|
|
603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 12
|
|
|
|
|
|
|
|
|
605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
|
|
|
606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
|
|
|
607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
|
|
|
608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
|
|
|
609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
|
|
|
610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
|
|
|
611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
|
|
|
612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @endverbatim
|
|
|
614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
|
|
|
619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
|
|
|
629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
|
|
|
641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRIT
|
|
|
660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 13
|
|
|
|
|
|
|
|
|
662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_WRI
|
|
|
665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
|
|
|
668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR */
|
|
|
682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = (*hi2c->pBuffPtr++);
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U))
|
|
|
687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TCR flag is set */
|
|
|
689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
|
|
|
708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
|
|
|
709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 14
|
|
|
|
|
|
|
|
|
719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
|
|
|
743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
|
|
|
753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
|
|
|
765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 15
|
|
|
|
|
|
|
|
|
776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ
|
|
|
784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_REA
|
|
|
789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
|
|
|
792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
|
|
|
794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U))
|
|
|
812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TCR flag is set */
|
|
|
814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 16
|
|
|
|
|
|
|
|
|
833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
|
|
|
834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
|
|
|
868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui
|
|
|
876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 17
|
|
|
|
|
|
|
|
|
890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
|
|
|
904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
|
|
|
915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
|
|
|
916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
|
|
|
918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
|
|
|
930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
|
|
|
938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 18
|
|
|
|
|
|
|
|
|
947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR */
|
|
|
956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = (*hi2c->pBuffPtr++);
|
|
|
957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOP flag is set */
|
|
|
961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Normal use case for Transmitter mode */
|
|
|
969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* A NACK is generated to confirm the end of transfer */
|
|
|
970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP flag */
|
|
|
979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
|
|
|
982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
|
|
|
983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 19
|
|
|
|
|
|
|
|
|
1004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
|
|
|
1008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
1013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin
|
|
|
1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
1018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
1022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
1030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
1033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
1039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
1041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
1042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
|
|
|
1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
1045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
1052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
1053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
|
|
|
1055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
|
|
|
1056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 20
|
|
|
|
|
|
|
|
|
1061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
|
|
|
1063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
|
|
|
1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
1066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Store Last receive data if any */
|
|
|
1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
|
|
|
1072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
1076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_TIMEOUT)
|
|
|
1079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
1089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
1091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOP flag is set */
|
|
|
1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
1095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP flag */
|
|
|
1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
1111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
|
|
|
1113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
|
|
|
1114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 21
|
|
|
|
|
|
|
|
|
1118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
1122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
1124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
|
|
|
1139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
|
|
|
1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
1150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
1154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
1163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
1170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 22
|
|
|
|
|
|
|
|
|
1175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
1180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
|
|
|
1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_WRITE);
|
|
|
1185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
|
|
|
1194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
1196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
1197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
|
|
|
1208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
|
|
|
1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
1219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
1223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 23
|
|
|
|
|
|
|
|
|
1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
1239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
1244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
1249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
|
|
|
1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ);
|
|
|
1254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
|
|
|
1263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
1265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
1266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
|
|
|
1277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
|
|
|
1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 24
|
|
|
|
|
|
|
|
|
1289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
1291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
1295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
1296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
1303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
|
|
|
1312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
1314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
|
|
|
1315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
|
|
|
1326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
|
|
|
1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
1345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 25
|
|
|
|
|
|
|
|
|
1346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
1352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
|
|
|
1361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
1363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
|
|
|
1364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
|
|
|
1375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
|
|
|
1384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
1386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
1390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
1399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 26
|
|
|
|
|
|
|
|
|
1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
1406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
1411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
1416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
|
|
|
1419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
1421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
|
|
|
1422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
1424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
|
|
|
1425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
1427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
|
|
|
1428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
1429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
1431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSi
|
|
|
1432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_WRITE);
|
|
|
1436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update XferCount value */
|
|
|
1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
|
|
|
1439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
1447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
|
|
|
1448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
1450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
|
|
|
1451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
|
|
|
1455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
1456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
|
|
|
1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_WRI
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 27
|
|
|
|
|
|
|
|
|
1460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
|
|
|
1468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
|
|
|
1470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
1471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
|
|
|
1483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
|
|
|
1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
1494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
1498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
1507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
1514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 28
|
|
|
|
|
|
|
|
|
1517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
1519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
1524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
|
|
|
1527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
1529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
|
|
|
1530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
1532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
|
|
|
1533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
1535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
|
|
|
1536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
1537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
1539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSi
|
|
|
1540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
1543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ);
|
|
|
1544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update XferCount value */
|
|
|
1546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
|
|
|
1547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
1555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
|
|
|
1556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
1558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
|
|
|
1559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
|
|
|
1563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
1564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
|
|
|
1567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_REA
|
|
|
1568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 29
|
|
|
|
|
|
|
|
|
1574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
|
|
|
1576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
1577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
|
|
|
1578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
1579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
|
|
|
1590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
|
|
|
1597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
1601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
1608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
1609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
|
|
|
1617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
1619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
|
|
|
1620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
1622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
|
|
|
1623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
1625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
|
|
|
1626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
1627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
1629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize
|
|
|
1630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 30
|
|
|
|
|
|
|
|
|
1631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
1632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
1633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
|
|
|
1641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
1642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
1644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
|
|
|
1645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
|
|
|
1656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
|
|
|
1663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
1667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
1675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
1682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
|
|
|
1683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
1685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
|
|
|
1686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 31
|
|
|
|
|
|
|
|
|
1688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
|
|
|
1689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
1691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
|
|
|
1692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
1693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
1695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSize
|
|
|
1696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
1698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
1699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
1704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
1705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
1706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
|
|
|
1707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
1708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
1710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
|
|
|
1711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
|
|
|
1721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
1726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
1727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
1730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
|
|
|
1733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
1735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
1737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
1738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
1742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 32
|
|
|
|
|
|
|
|
|
1745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
1750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
1751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
|
|
|
1753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
1758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
1759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
1765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
1767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
|
|
|
1768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
|
|
|
1784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
1788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
1793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** do
|
|
|
1796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
1798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
1799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 33
|
|
|
|
|
|
|
|
|
1802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR */
|
|
|
1811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = (*hi2c->pBuffPtr++);
|
|
|
1812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
1813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
1814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U))
|
|
|
1816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TCR flag is set */
|
|
|
1818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
1819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
1827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
1832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
|
|
|
1837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
|
|
|
1839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
|
|
|
1840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
1841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
1853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
1854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
1856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
1857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 34
|
|
|
|
|
|
|
|
|
1859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
1865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
1869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
1873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
|
|
|
1874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
1875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
1876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
1877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
1878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
1879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
1880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
1881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
1882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
1883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
1884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
1885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
|
|
|
1886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
1888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
1890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
1891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
1893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
1895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("Bad pData or Size=0\r\n");
|
|
|
1897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
1901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
1902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
1904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
1905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
|
|
|
1907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("Timeout\r\n");
|
|
|
1909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
1913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
1914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 35
|
|
|
|
|
|
|
|
|
1916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
1917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
1918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
1920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
1922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
|
|
|
1923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("Error in memory read - %d\r\n", hi2c->ErrorCode);
|
|
|
1925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
1934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
1935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
1940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
1941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ
|
|
|
1945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_REA
|
|
|
1950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** do
|
|
|
1953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
|
|
|
1955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
1956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("waiting for flag timeout1\r\n");
|
|
|
1958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
1962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
1963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
1964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
1965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U))
|
|
|
1967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TCR flag is set */
|
|
|
1969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
1970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("waiting for flag timeout2\r\n");
|
|
|
1972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 36
|
|
|
|
|
|
|
|
|
1973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
1976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
1978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
1979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
1983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
1984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
|
|
|
1988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
|
|
|
1990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
|
|
|
1991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
|
|
|
1992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
1994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("waiting for stop error %d\r\n", hi2c->ErrorCode);
|
|
|
1996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
1997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
1999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
2005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
2006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
2008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
2009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
2011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("busy!!\r\n");
|
|
|
2021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
|
|
|
2026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 37
|
|
|
|
|
|
|
|
|
2030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
2031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
2032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
|
|
|
2037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
2043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
2052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
2060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
2061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
2063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
2064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
2070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
2071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
2081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
2084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
|
|
|
2085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 38
|
|
|
|
|
|
|
|
|
2087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
2101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
|
|
|
2102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
|
|
|
2111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
2112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
2113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
2114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
|
|
|
2125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
2130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
2131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
|
|
|
2136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
2142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 39
|
|
|
|
|
|
|
|
|
2144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
2151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
2159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
2160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
2162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
2169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
2170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
2180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
2183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
|
|
|
2184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
2186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
2200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 40
|
|
|
|
|
|
|
|
|
2201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
|
|
|
2210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* possible to enable all of these */
|
|
|
2211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
|
|
|
2212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
2213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
|
|
|
2223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
2228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
2229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
|
|
|
2234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
2240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
2249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
2257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 41
|
|
|
|
|
|
|
|
|
2258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
2260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
2261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
2267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
2268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
2278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
2281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
|
|
|
2282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
2284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
2298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
|
|
|
2299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
2301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
|
|
|
2302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
2304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
|
|
|
2305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
2306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
2308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TXDR, hi2c->XferSize
|
|
|
2309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address */
|
|
|
2311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
2312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
|
|
|
2313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update XferCount value */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 42
|
|
|
|
|
|
|
|
|
2315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
|
|
|
2316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
2324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
|
|
|
2325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
2327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
|
|
|
2328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
|
|
|
2339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
2344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
2345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be read
|
|
|
2347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
|
|
|
2350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
|
|
|
2356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
2365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 43
|
|
|
|
|
|
|
|
|
2372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
|
|
|
2373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
2374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
2376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
2377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
2383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
2384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
2394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
|
|
|
2397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
|
|
|
2398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
2400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
|
|
|
2414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
|
|
|
2415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the DMA error callback */
|
|
|
2417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
|
|
|
2418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
|
|
|
2420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
|
|
|
2421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
2422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
2424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pData, hi2c->XferSize
|
|
|
2425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
|
|
|
2427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, I2C_GENERATE_START_READ);
|
|
|
2428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 44
|
|
|
|
|
|
|
|
|
2429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update XferCount value */
|
|
|
2430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
|
|
|
2431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
2436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
|
|
|
2437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
2442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
|
|
|
2443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
|
|
|
2454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @note This function is used with Memory devices
|
|
|
2455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Trials Number of trials
|
|
|
2460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
2461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
|
|
|
2464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0U;
|
|
|
2468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
|
|
|
2472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
|
|
|
2480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** do
|
|
|
2483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Generate Start */
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 45
|
|
|
|
|
|
|
|
|
2486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
|
|
|
2488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
|
|
|
2489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tickstart = HAL_GetTick();
|
|
|
2490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (__HAL_I2C_GET_FLAG(hi2c, I2C_F
|
|
|
2491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
|
|
|
2493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout))
|
|
|
2495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Device is ready */
|
|
|
2497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
2498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
|
|
|
2506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
|
|
|
2507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
|
|
|
2509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
2510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
2515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
2516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Device is ready */
|
|
|
2518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
2519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
|
|
|
2528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
2529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
2534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
2535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
|
|
|
2537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
2538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
|
|
|
2541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_Trials++ == Trials)
|
|
|
2542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 46
|
|
|
|
|
|
|
|
|
2543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Generate Stop */
|
|
|
2544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
|
|
|
2545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
|
|
|
2547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
|
|
|
2548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
2553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
2554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (I2C_Trials < Trials);
|
|
|
2557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
2559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
|
|
|
2573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
|
|
|
2574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
|
|
|
2581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddres
|
|
|
2584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
|
|
|
2587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
|
|
|
2590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
|
|
|
2597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
2598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 47
|
|
|
|
|
|
|
|
|
2600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
2604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
2605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If size > MAX_NBYTE_SIZE, use reload mode */
|
|
|
2607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
|
|
|
2616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If transfer direction not change, do not generate Restart Condition */
|
|
|
2619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
|
|
|
2620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX)
|
|
|
2621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
|
|
|
2623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
|
|
|
2626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, xferrequest);
|
|
|
2627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
2635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
|
|
|
2646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
|
|
|
2647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
|
|
|
2654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 48
|
|
|
|
|
|
|
|
|
2657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
|
|
|
2660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
|
|
|
2663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
|
|
|
2670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
2671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
2677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
2678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
|
|
|
2680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
2681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
2683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
2684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
|
|
|
2689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If transfer direction not change, do not generate Restart Condition */
|
|
|
2692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
|
|
|
2693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX)
|
|
|
2694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
|
|
|
2696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
|
|
|
2699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, xfermode, xferrequest);
|
|
|
2700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
2708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 49
|
|
|
|
|
|
|
|
|
2714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
|
|
|
2719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
|
|
|
2720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
|
|
|
2725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uin
|
|
|
2728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
|
|
|
2731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN)
|
|
|
2733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
|
|
|
2740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
|
|
|
2741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
|
|
|
2746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
|
|
|
2747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
|
|
|
2748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable associated Interrupts */
|
|
|
2750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
2751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
|
|
|
2754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
2755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
2758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
2759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
2765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
2766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
|
|
|
2768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
|
|
|
2770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 50
|
|
|
|
|
|
|
|
|
2771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
2772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* REnable ADDR interrupt */
|
|
|
2781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
|
|
|
2782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
|
|
|
2793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
|
|
|
2794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param pData Pointer to data buffer
|
|
|
2797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Amount of data to be sent
|
|
|
2798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
|
|
|
2799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint
|
|
|
2802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
2804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
|
|
|
2805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN)
|
|
|
2807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
|
|
|
2809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
|
|
|
2814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
|
|
|
2815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
|
|
|
2820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
|
|
|
2821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
|
|
|
2822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable associated Interrupts */
|
|
|
2824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
2825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 51
|
|
|
|
|
|
|
|
|
2828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
2829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable Address Acknowledge */
|
|
|
2832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
|
|
|
2833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare transfer parameters */
|
|
|
2835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
|
|
|
2836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
2838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
2839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
2840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
|
|
|
2842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
|
|
|
2844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
|
|
|
2845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
2846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* REnable ADDR interrupt */
|
|
|
2855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
|
|
|
2856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
|
|
|
2867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
|
|
|
2872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
2874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
|
|
|
2876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
2877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the Address Match interrupt */
|
|
|
2879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
2880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 52
|
|
|
|
|
|
|
|
|
2885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
|
|
|
2891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C
|
|
|
2893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
|
|
|
2896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
|
|
|
2898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tmp;
|
|
|
2899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
|
|
|
2901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
|
|
|
2902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
|
|
|
2904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
|
|
|
2905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
2906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
2908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable the Address Match interrupt */
|
|
|
2910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
2911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
2917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
|
|
|
2922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
2925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
2926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
2927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
|
|
|
2929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
|
|
|
2931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
2933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
2934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
2936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
2937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
2938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
|
|
|
2940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
|
|
|
2941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 53
|
|
|
|
|
|
|
|
|
2942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
|
|
|
2943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
|
|
|
2944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
|
|
|
2945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
2947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
2948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
|
|
|
2950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
|
|
|
2951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** process unlock */
|
|
|
2952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
|
|
|
2953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
2955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
2957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wrong usage of abort function */
|
|
|
2959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
|
|
|
2960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
2961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
2966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
|
|
|
2969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
2970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
|
|
|
2974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
2977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
|
|
|
2979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
|
|
|
2981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
|
|
|
2982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
|
|
|
2983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
|
|
|
2985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
|
|
|
2986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
|
|
|
2988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
2992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
|
|
|
2993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
2994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
2995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
2996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
2997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
|
|
|
2998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 54
|
|
|
|
|
|
|
|
|
2999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
|
|
|
3000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
|
|
|
3001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
|
|
|
3003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((itflags & I2C_FLAG_BERR) != RESET) && ((itsources & I2C_IT_ERRI) != RESET))
|
|
|
3004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
|
|
|
3006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear BERR flag */
|
|
|
3008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
|
|
|
3009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
|
|
|
3012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((itflags & I2C_FLAG_OVR) != RESET) && ((itsources & I2C_IT_ERRI) != RESET))
|
|
|
3013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
|
|
|
3015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear OVR flag */
|
|
|
3017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
|
|
|
3018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
|
|
|
3021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((itflags & I2C_FLAG_ARLO) != RESET) && ((itsources & I2C_IT_ERRI) != RESET))
|
|
|
3022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
|
|
|
3024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ARLO flag */
|
|
|
3026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
|
|
|
3027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
|
|
|
3030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->ErrorCode & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C
|
|
|
3031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
|
|
|
3033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
|
|
|
3038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
|
|
|
3049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
|
|
|
3054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 55
|
|
|
|
|
|
|
|
|
3056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
|
|
|
3065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
|
|
|
3069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
|
|
|
3080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
|
|
|
3085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
|
|
|
3096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Slave Address Match callback.
|
|
|
3101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
|
|
|
3104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
|
|
|
3105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
|
|
|
3108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(TransferDirection);
|
|
|
3112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 56
|
|
|
|
|
|
|
|
|
3113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
|
|
|
3116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Listen Complete callback.
|
|
|
3121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
|
|
|
3132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
|
|
|
3137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
|
|
|
3148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
|
|
|
3153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
|
|
|
3164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C error callback.
|
|
|
3169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 57
|
|
|
|
|
|
|
|
|
3170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
|
|
|
3180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C abort callback.
|
|
|
3185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
|
|
|
3190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hi2c);
|
|
|
3193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|
|
3195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
|
|
|
3196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
3201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
|
|
|
3204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
|
|
|
3205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** *
|
|
|
3206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @verbatim
|
|
|
3207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
3208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
|
|
|
3209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ===============================================================================
|
|
|
3210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** [..]
|
|
|
3211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
|
|
|
3212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** and the data flow.
|
|
|
3213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** @endverbatim
|
|
|
3215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
3216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Return the I2C handle state.
|
|
|
3220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL state
|
|
|
3223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
|
|
|
3225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Return I2C handle state */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 58
|
|
|
|
|
|
|
|
|
3227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return hi2c->State;
|
|
|
3228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
|
|
|
3232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for I2C module
|
|
|
3234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL mode
|
|
|
3235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
|
|
|
3237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return hi2c->Mode;
|
|
|
3239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Return the I2C error code.
|
|
|
3243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval I2C Error Code
|
|
|
3246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
|
|
|
3248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return hi2c->ErrorCode;
|
|
|
3250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
3254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @}
|
|
|
3258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
|
|
|
3261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @{
|
|
|
3262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
|
|
|
3266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
|
|
|
3270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
|
|
|
3273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t devaddress = 0U;
|
|
|
3275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
3277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
3278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET))
|
|
|
3280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 59
|
|
|
|
|
|
|
|
|
3284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set corresponding Error Code */
|
|
|
3285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
|
|
|
3286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
|
|
|
3287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
3288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
3290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
3291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_RXNE) != RESET) && ((ITSources & I2C_IT_RXI) != RESET))
|
|
|
3293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
3295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
3296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
3297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
3298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_TXIS) != RESET) && ((ITSources & I2C_IT_TXI) != RESET))
|
|
|
3300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR */
|
|
|
3302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = (*hi2c->pBuffPtr++);
|
|
|
3303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
3304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
3305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_TCR) != RESET) && ((ITSources & I2C_IT_TCI) != RESET))
|
|
|
3307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize == 0U) && (hi2c->XferCount != 0U))
|
|
|
3309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** devaddress = (hi2c->Instance->CR2 & I2C_CR2_SADD);
|
|
|
3311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
3313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
3315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
3316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
3320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
|
|
|
3321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, hi2c->XferOptions, I2C_NO_STARTSTOP)
|
|
|
3323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
3327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
|
|
|
3333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
|
|
|
3334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
|
|
|
3336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITMasterSequentialCplt(hi2c);
|
|
|
3337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 60
|
|
|
|
|
|
|
|
|
3341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
|
|
|
3343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_TC) != RESET) && ((ITSources & I2C_IT_TCI) != RESET))
|
|
|
3347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
|
|
|
3349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
|
|
|
3351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
|
|
|
3353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
|
|
|
3354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Generate Stop */
|
|
|
3356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
|
|
|
3357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
|
|
|
3361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITMasterSequentialCplt(hi2c);
|
|
|
3362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
|
|
|
3368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
|
|
|
3370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET))
|
|
|
3374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Master complete process */
|
|
|
3376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
|
|
|
3377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
|
|
|
3387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
|
|
|
3391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
|
|
|
3394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process locked */
|
|
|
3396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
3397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 61
|
|
|
|
|
|
|
|
|
3398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET))
|
|
|
3399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check that I2C transfer finished */
|
|
|
3401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
|
|
|
3402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean XferCount == 0*/
|
|
|
3403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* So clear Flag NACKF only */
|
|
|
3404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
|
|
|
3405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((hi2c->XferOptions == I2C_FIRST_AND_LAST_FRAME) || (hi2c->XferOptions == I2C_LAST_FRAME)
|
|
|
3407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_LISTEN))
|
|
|
3408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Listen complete process */
|
|
|
3410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
|
|
|
3411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if ((hi2c->XferOptions != I2C_NO_OPTION_FRAME) && (hi2c->State == HAL_I2C_STATE_BUSY_TX_
|
|
|
3413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
3418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
3419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Last Byte is Transmitted */
|
|
|
3421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
|
|
|
3422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITSlaveSequentialCplt(hi2c);
|
|
|
3423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
|
|
|
3433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
|
|
|
3437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
3438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_RXNE) != RESET) && ((ITSources & I2C_IT_RXI) != RESET))
|
|
|
3441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
|
|
|
3443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
3445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
3446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
3447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
3448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
|
|
|
3451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferOptions != I2C_NO_OPTION_FRAME))
|
|
|
3452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
|
|
|
3454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITSlaveSequentialCplt(hi2c);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 62
|
|
|
|
|
|
|
|
|
3455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_ADDR) != RESET) && ((ITSources & I2C_IT_ADDRI) != RESET))
|
|
|
3458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
|
|
|
3460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_TXIS) != RESET) && ((ITSources & I2C_IT_TXI) != RESET))
|
|
|
3462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
|
|
|
3464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
|
|
|
3465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if all Datas have already been sent */
|
|
|
3466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
|
|
|
3467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
|
|
|
3468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write data to TXDR */
|
|
|
3470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = (*hi2c->pBuffPtr++);
|
|
|
3471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
3472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
3473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferOptions == I2C_NEXT_FRAME) || (hi2c->XferOptions == I2C_FIRST_FRAME))
|
|
|
3477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Last Byte is Transmitted */
|
|
|
3479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
|
|
|
3480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITSlaveSequentialCplt(hi2c);
|
|
|
3481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if STOPF is set */
|
|
|
3486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET))
|
|
|
3487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Slave complete process */
|
|
|
3489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
|
|
|
3490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
|
|
|
3500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
|
|
|
3504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
|
|
|
3507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t devaddress = 0U;
|
|
|
3509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
3510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Locked */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 63
|
|
|
|
|
|
|
|
|
3512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
3513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET))
|
|
|
3515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set corresponding Error Code */
|
|
|
3520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
3521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
|
|
|
3523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
|
|
|
3524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
|
|
|
3525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
|
|
|
3526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
3528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
3529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_TCR) != RESET) && ((ITSources & I2C_IT_TCI) != RESET))
|
|
|
3531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable TC interrupt */
|
|
|
3533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
|
|
|
3534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
|
|
|
3536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Recover Slave address */
|
|
|
3538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** devaddress = (hi2c->Instance->CR2 & I2C_CR2_SADD);
|
|
|
3539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
|
|
|
3541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
3542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
3544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
3545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
3549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
3550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
|
|
|
3553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
|
|
|
3554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update XferCount value */
|
|
|
3556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
|
|
|
3557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable DMA Request */
|
|
|
3559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
|
|
|
3560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
|
|
|
3562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
|
|
|
3566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 64
|
|
|
|
|
|
|
|
|
3569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
|
|
|
3571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
|
|
|
3573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET))
|
|
|
3576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Master complete process */
|
|
|
3578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
|
|
|
3579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
|
|
|
3589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
|
|
|
3593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
|
|
|
3596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process locked */
|
|
|
3598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
|
|
|
3599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_AF) != RESET) && ((ITSources & I2C_IT_NACKI) != RESET))
|
|
|
3601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check that I2C transfer finished */
|
|
|
3603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
|
|
|
3604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean XferCount == 0 */
|
|
|
3605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* So clear Flag NACKF only */
|
|
|
3606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_GET_DMA_REMAIN_DATA(hi2c) == 0U)
|
|
|
3607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
|
|
|
3614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
|
|
|
3618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
3619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_ADDR) != RESET) && ((ITSources & I2C_IT_ADDRI) != RESET))
|
|
|
3622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
3624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
3625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 65
|
|
|
|
|
|
|
|
|
3626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (((ITFlags & I2C_FLAG_STOPF) != RESET) && ((ITSources & I2C_IT_STOPI) != RESET))
|
|
|
3627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Slave complete process */
|
|
|
3629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
|
|
|
3630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
|
|
|
3640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
3643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
3644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
3645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
3646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
3647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
3648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
|
|
|
3651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE);
|
|
|
3653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
3655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
3656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
3658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
3660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
|
|
|
3668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
|
|
|
3669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Memory Address */
|
|
|
3671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
|
|
|
3672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
|
|
|
3674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send MSB of Memory Address */
|
|
|
3677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
|
|
|
3678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
3680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
3681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 66
|
|
|
|
|
|
|
|
|
3683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
3685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send LSB of Memory Address */
|
|
|
3693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
|
|
|
3694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TCR flag is set */
|
|
|
3697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
|
|
|
3698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
|
|
|
3707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
3708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
3709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
|
|
|
3710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * in datasheet must be shift at right before call interface
|
|
|
3711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddress Internal memory address
|
|
|
3712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
|
|
|
3713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
3714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
3715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
3716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
|
|
|
3718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE);
|
|
|
3720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
3722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
3723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("I2C_RequestMemoryRead error %d\r\n", hi2c->ErrorCode);
|
|
|
3725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
3726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
3728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
|
|
|
3736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
|
|
|
3737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send Memory Address */
|
|
|
3739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 67
|
|
|
|
|
|
|
|
|
3740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
|
|
|
3742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send MSB of Memory Address */
|
|
|
3745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
|
|
|
3746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
|
|
|
3748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
3749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("I2C_RequestMemoryRead error2 %d\r\n", hi2c->ErrorCode);
|
|
|
3751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
3752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
3754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Send LSB of Memory Address */
|
|
|
3762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
|
|
|
3763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until TC flag is set */
|
|
|
3766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
|
|
|
3767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("I2C_RequestMemoryRead TIMEOUT\r\n");
|
|
|
3769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
3770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
3773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Address complete process callback.
|
|
|
3777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
3778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
|
|
|
3782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint8_t transferdirection = 0U;
|
|
|
3784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t slaveaddrcode = 0U;
|
|
|
3785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t ownadd1code = 0U;
|
|
|
3786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t ownadd2code = 0U;
|
|
|
3787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
3789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(ITFlags);
|
|
|
3790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
|
|
|
3792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State & HAL_I2C_STATE_LISTEN) == HAL_I2C_STATE_LISTEN)
|
|
|
3793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
|
|
|
3795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
|
|
|
3796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 68
|
|
|
|
|
|
|
|
|
3797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
|
|
|
3798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
|
|
|
3800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
|
|
|
3801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((slaveaddrcode & SlaveAddr_MSK) == ((ownadd1code >> SlaveAddr_SHIFT) & SlaveAddr_MSK))
|
|
|
3803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
|
|
|
3805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->AddrEventCount++;
|
|
|
3806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
|
|
|
3807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset Address Event counter */
|
|
|
3809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
|
|
|
3810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
3812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
3813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call Slave Addr callback */
|
|
|
3818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
|
|
|
3819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
|
|
|
3824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
|
|
|
3826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
3827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call Slave Addr callback */
|
|
|
3832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
|
|
|
3833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
|
|
|
3836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
|
|
|
3839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
|
|
|
3840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call Slave Addr callback */
|
|
|
3845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
|
|
|
3846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Else clear address flag only */
|
|
|
3849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
3852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
3853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 69
|
|
|
|
|
|
|
|
|
3854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3860:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
|
|
|
3861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
3862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITMasterSequentialCplt(I2C_HandleTypeDef *hi2c)
|
|
|
3865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3866:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset I2C handle mode */
|
|
|
3867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
3868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3869:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
|
|
|
3870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
|
|
|
3871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
|
|
|
3872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
3874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
|
|
|
3875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
3876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3877:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
3878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
3879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3880:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3882:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
|
|
|
3885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
|
|
|
3887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
3888:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
3890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
|
|
|
3891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
3892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
3894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
3895:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3899:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
|
|
|
3901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
|
|
|
3906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
3907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITSlaveSequentialCplt(I2C_HandleTypeDef *hi2c)
|
|
|
3910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 70
|
|
|
|
|
|
|
|
|
3911:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset I2C handle mode */
|
|
|
3912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
3913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
|
|
|
3915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
|
|
|
3917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
|
|
|
3918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
|
|
|
3919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3920:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
3921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
3922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3923:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Tx complete callback to inform upper layer of the end of transmit process */
|
|
|
3927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
|
|
|
3928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
|
|
|
3931:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3932:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
|
|
|
3933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
|
|
|
3934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
|
|
|
3935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
3937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
|
|
|
3938:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3939:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3942:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Rx complete callback to inform upper layer of the end of receive process */
|
|
|
3943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
|
|
|
3944:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3946:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
3948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Master complete process.
|
|
|
3949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
3950:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
3951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
3952:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
3953:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
|
|
|
3954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
3956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
3957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
3959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
3960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset handle parameters */
|
|
|
3962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
3963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
3964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3965:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((ITFlags & I2C_FLAG_AF) != RESET)
|
|
|
3967:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 71
|
|
|
|
|
|
|
|
|
3968:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
3969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
3970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set acknowledge error code */
|
|
|
3972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
3973:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
3976:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
3977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3978:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
3979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_RX_IT);
|
|
|
3980:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->ErrorCode != HAL_I2C_ERROR_NONE) || (hi2c->State == HAL_I2C_STATE_ABORT))
|
|
|
3983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3984:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
3985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
|
|
|
3986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
|
|
|
3988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
|
|
|
3989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
3991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
|
|
|
3993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
3995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
3997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
3998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
|
|
|
4001:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4006:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4009:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
|
|
|
4011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4013:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
|
|
|
4014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
|
|
|
4015:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
|
|
|
4019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4022:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4024:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 72
|
|
|
|
|
|
|
|
|
4025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
|
|
|
4026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4027:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4028:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
|
|
|
4035:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4039:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4040:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Slave complete process.
|
|
|
4041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
4042:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
4043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4045:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
|
|
|
4046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
4048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
4049:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear ADDR flag */
|
|
|
4051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
|
|
|
4052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable all interrupts */
|
|
|
4054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT);
|
|
|
4055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4056:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Address Acknowledge */
|
|
|
4057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
4058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
4060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
4061:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
4063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
4064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
|
|
|
4066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN) ||
|
|
|
4067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN))
|
|
|
4068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = I2C_GET_DMA_REMAIN_DATA(hi2c);
|
|
|
4070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
|
|
|
4073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
|
|
|
4074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
|
|
|
4076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
4077:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Store Last receive data if any */
|
|
|
4080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_RXNE) != RESET))
|
|
|
4081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 73
|
|
|
|
|
|
|
|
|
4082:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
4083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
4084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
|
|
|
4086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
4088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
4089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
|
|
|
4091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
4092:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4093:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
4096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
4098:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
|
|
|
4100:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
|
|
|
4103:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
|
|
|
4105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
|
|
|
4106:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4107:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call I2C Listen complete process */
|
|
|
4108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
|
|
|
4109:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
|
|
|
4112:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
4114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4118:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
|
|
|
4120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
|
|
|
4121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4122:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
|
|
|
4124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4130:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Slave Rx Complete callback */
|
|
|
4131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
|
|
|
4132:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4134:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4137:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 74
|
|
|
|
|
|
|
|
|
4139:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4140:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Slave Tx Complete callback */
|
|
|
4141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
|
|
|
4142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4144:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4146:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Listen complete process.
|
|
|
4147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
4148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
|
|
|
4149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
|
|
|
4152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset handle parameters */
|
|
|
4154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
4155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
4156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
4159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4160:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Store Last receive data if any */
|
|
|
4161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (((ITFlags & I2C_FLAG_RXNE) != RESET))
|
|
|
4162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Read data from RXDR */
|
|
|
4164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (*hi2c->pBuffPtr++) = hi2c->Instance->RXDR;
|
|
|
4165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
|
|
|
4167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
4169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
4170:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
|
|
|
4172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
|
|
|
4173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4175:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4176:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable all Interrupts*/
|
|
|
4177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
|
|
|
4178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACK Flag */
|
|
|
4180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
4181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4182:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
|
|
|
4186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
|
|
|
4187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C interrupts error process.
|
|
|
4191:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
4192:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
|
|
|
4193:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 75
|
|
|
|
|
|
|
|
|
4196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset handle parameters */
|
|
|
4198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
4200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = 0U;
|
|
|
4201:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set new error code */
|
|
|
4203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
|
|
|
4204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4205:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Interrupts */
|
|
|
4206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) ||
|
|
|
4207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
|
|
|
4208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN))
|
|
|
4209:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4210:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
|
|
|
4211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
|
|
|
4212:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4213:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
|
|
|
4214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
|
|
|
4215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
4216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
4217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4219:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable all interrupts */
|
|
|
4221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
|
|
|
4222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4223:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If state is an abort treatment on goind, don't change state */
|
|
|
4224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* This change will be do later */
|
|
|
4225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
|
|
|
4226:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
|
|
|
4228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4229:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
4231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
4232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4233:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
|
|
|
4235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
|
|
|
4236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
|
|
|
4238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
|
|
|
4240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
|
|
|
4241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
|
|
|
4242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4246:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Abort DMA TX */
|
|
|
4247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
|
|
|
4248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
|
|
|
4250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
|
|
|
4251:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4252:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 76
|
|
|
|
|
|
|
|
|
4253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
|
|
|
4254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
|
|
|
4255:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
|
|
|
4257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4258:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
|
|
|
4259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
|
|
|
4260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
|
|
|
4261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4262:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Abort DMA RX */
|
|
|
4266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
|
|
|
4267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4268:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
|
|
|
4269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
|
|
|
4270:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT)
|
|
|
4273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4275:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4278:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
|
|
|
4281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
|
|
|
4289:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
|
|
|
4294:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
4295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
|
|
|
4298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If a pending TXIS flag is set */
|
|
|
4300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
|
|
|
4302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
|
|
|
4304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register if not empty */
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
|
|
|
4308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 77
|
|
|
|
|
|
|
|
|
4310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4311:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4313:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
|
|
|
4315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle
|
|
|
4316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4317:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
|
|
|
4319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
4321:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable DMA Request */
|
|
|
4323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
|
|
|
4324:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4325:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
|
|
|
4326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
|
|
|
4327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4328:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable STOP interrupt */
|
|
|
4329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
|
|
|
4330:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4331:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
|
|
|
4332:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update Buffer pointer */
|
|
|
4335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
|
|
|
4336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the XferSize to transfer */
|
|
|
4338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
4339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
4341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4343:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
4345:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
4348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, hi2c-
|
|
|
4349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable TC interrupts */
|
|
|
4351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
|
|
|
4352:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4355:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
|
|
|
4357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle
|
|
|
4358:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4360:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
|
|
|
4361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
25 .loc 1 4361 0
|
|
|
26 .cfi_startproc
|
|
|
27 @ args = 0, pretend = 0, frame = 0
|
|
|
28 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
29 @ link register save eliminated.
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 78
|
|
|
|
|
|
|
|
|
30 .LVL0:
|
|
|
4362:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
4363:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hdma);
|
|
|
4364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
|
|
|
4366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
|
|
|
4367:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
|
|
|
4368:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
31 .loc 1 4368 0
|
|
|
32 @ sp needed
|
|
|
33 0000 7047 bx lr
|
|
|
34 .cfi_endproc
|
|
|
35 .LFE99:
|
|
|
37 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
|
|
|
38 .align 1
|
|
|
39 .syntax unified
|
|
|
40 .code 16
|
|
|
41 .thumb_func
|
|
|
42 .fpu softvfp
|
|
|
44 I2C_DMASlaveReceiveCplt:
|
|
|
45 .LFB101:
|
|
|
4369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
|
|
|
4372:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle
|
|
|
4373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4374:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
|
|
|
4376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
4378:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4379:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable DMA Request */
|
|
|
4380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
|
|
|
4381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
|
|
|
4383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
|
|
|
4384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable STOP interrupt */
|
|
|
4386:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
|
|
|
4387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
|
|
|
4389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4390:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Update Buffer pointer */
|
|
|
4392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
|
|
|
4393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Set the XferSize to transfer */
|
|
|
4395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
|
|
|
4396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
|
|
|
4398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4400:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
4402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable the DMA channel */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 79
|
|
|
|
|
|
|
|
|
4405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, hi2c-
|
|
|
4406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable TC interrupts */
|
|
|
4408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
|
|
|
4409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4411:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4413:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
|
|
|
4414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle
|
|
|
4415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4416:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
|
|
|
4418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
46 .loc 1 4418 0
|
|
|
47 .cfi_startproc
|
|
|
48 @ args = 0, pretend = 0, frame = 0
|
|
|
49 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
50 @ link register save eliminated.
|
|
|
51 .LVL1:
|
|
|
4419:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
4420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** UNUSED(hdma);
|
|
|
4421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
|
|
|
4423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
|
|
|
4424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
|
|
|
4425:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
52 .loc 1 4425 0
|
|
|
53 @ sp needed
|
|
|
54 0000 7047 bx lr
|
|
|
55 .cfi_endproc
|
|
|
56 .LFE101:
|
|
|
58 .section .text.I2C_Disable_IRQ,"ax",%progbits
|
|
|
59 .align 1
|
|
|
60 .syntax unified
|
|
|
61 .code 16
|
|
|
62 .thumb_func
|
|
|
63 .fpu softvfp
|
|
|
65 I2C_Disable_IRQ:
|
|
|
66 .LFB111:
|
|
|
4426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
|
|
|
4429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle
|
|
|
4430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
|
|
|
4433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
4435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Acknowledge */
|
|
|
4437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
4438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
|
|
|
4441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 80
|
|
|
|
|
|
|
|
|
4443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
|
|
|
4445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
|
|
|
4446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hdma DMA handle.
|
|
|
4447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4449:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
|
|
|
4450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
4452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4453:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable Acknowledge */
|
|
|
4454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
|
|
|
4455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4456:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset AbortCpltCallback */
|
|
|
4457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
4458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
4459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4460:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if come from abort from user */
|
|
|
4461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
|
|
|
4462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4465:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
|
|
|
4467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4468:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
|
|
|
4471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
|
|
|
4472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4474:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4475:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout.
|
|
|
4477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
|
|
|
4480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET).
|
|
|
4481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
4482:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
4483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
|
|
|
4486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
|
|
|
4488:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check for the Timeout */
|
|
|
4490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
|
|
|
4491:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
|
|
|
4493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 81
|
|
|
|
|
|
|
|
|
4500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4501:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4502:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
|
|
|
4508:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
4511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
4512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
4515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
|
|
|
4517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if a NACK is detected */
|
|
|
4519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
4520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("I2C_WaitOnTXISFlagUntilTimeout ->I2C_IsAcknowledgeFailed error\r\n");
|
|
|
4522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4524:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4525:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check for the Timeout */
|
|
|
4526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
|
|
|
4527:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
|
|
|
4529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
|
|
|
4531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** PRINTF("I2C_WaitOnTXISFlagUntilTimeout timeout\r\n");
|
|
|
4538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4540:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
|
|
|
4547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
4550:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
4551:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
4554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
|
|
|
4556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 82
|
|
|
|
|
|
|
|
|
4557:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if a NACK is detected */
|
|
|
4558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
4559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4562:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check for the Timeout */
|
|
|
4564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
|
|
|
4565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
|
|
|
4567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4574:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4579:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
|
|
|
4581:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4583:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
4584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
4585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4587:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
|
|
|
4588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
|
|
|
4590:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if a NACK is detected */
|
|
|
4592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
|
|
|
4593:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4595:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check if a STOPF is detected */
|
|
|
4598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
|
|
|
4599:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
4601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
4602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
4604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
4605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
4607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 83
|
|
|
|
|
|
|
|
|
4614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check for the Timeout */
|
|
|
4617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
|
|
|
4618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
|
|
|
4620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4627:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4630:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4631:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication.
|
|
|
4633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4634:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Timeout Timeout duration
|
|
|
4636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Tickstart Tick start value
|
|
|
4637:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4639:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
|
|
|
4640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
|
|
|
4642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4643:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Wait until STOP Flag is reset */
|
|
|
4644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
|
|
|
4645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
|
|
|
4646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check for the Timeout */
|
|
|
4648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
|
|
|
4649:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((Timeout == 0U) || ((HAL_GetTick() - Tickstart) > Timeout))
|
|
|
4651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4654:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4660:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4661:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4662:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear NACKF Flag */
|
|
|
4663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
|
|
|
4664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4665:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
4666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
|
|
|
4667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Flush TX register */
|
|
|
4669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
|
|
|
4670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 84
|
|
|
|
|
|
|
|
|
4671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
|
|
|
4672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
|
|
|
4673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_AF;
|
|
|
4675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
4676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
4679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
|
|
|
4680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
|
|
|
4688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c I2C handle.
|
|
|
4689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
|
|
|
4690:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
|
|
|
4691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
|
|
|
4692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
|
|
|
4693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * This parameter can be one of the following values:
|
|
|
4694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
|
|
|
4695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
|
|
|
4696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
|
|
|
4697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
|
|
|
4698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * This parameter can be one of the following values:
|
|
|
4699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
|
|
|
4700:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
|
|
|
4701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
|
|
|
4702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
|
|
|
4703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval None
|
|
|
4704:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4705:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_
|
|
|
4706:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4707:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
4708:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
|
|
|
4709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
|
|
|
4710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
|
|
|
4711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* update CR2 register */
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEN
|
|
|
4714:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
4715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
|
|
|
4719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4720:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4721:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
|
|
|
4722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4723:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
|
|
|
4725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4726:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
|
|
|
4727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 85
|
|
|
|
|
|
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \
|
|
|
4729:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
4730:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
|
|
|
4732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
|
|
|
4734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
|
|
|
4735:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
|
|
|
4738:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
4740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
|
|
|
4741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4742:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
|
|
|
4744:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable STOP interrupts */
|
|
|
4746:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
|
|
|
4747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4749:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
|
|
|
4750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable TC interrupts */
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
|
|
|
4753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** else
|
|
|
4756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
|
|
|
4758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */
|
|
|
4760:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
|
|
|
4761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
|
|
|
4764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
|
|
|
4766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
|
|
|
4767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
|
|
|
4770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
|
|
|
4772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
|
|
|
4773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
|
|
|
4776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4777:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable STOP interrupts */
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
|
|
|
4779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4781:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable interrupts only at the end */
|
|
|
4783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
|
|
|
4784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* all interrupts requested done */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 86
|
|
|
|
|
|
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
|
|
|
4786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4790:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
|
|
|
4792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
|
|
|
4793:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * the configuration information for the specified I2C.
|
|
|
4794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
|
|
|
4795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** * @retval HAL status
|
|
|
4796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** */
|
|
|
4797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
|
|
|
4798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
67 .loc 1 4798 0
|
|
|
68 .cfi_startproc
|
|
|
69 @ args = 0, pretend = 0, frame = 0
|
|
|
70 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
71 .LVL2:
|
|
|
72 0000 30B5 push {r4, r5, lr}
|
|
|
73 .LCFI0:
|
|
|
74 .cfi_def_cfa_offset 12
|
|
|
75 .cfi_offset 4, -12
|
|
|
76 .cfi_offset 5, -8
|
|
|
77 .cfi_offset 14, -4
|
|
|
78 .LVL3:
|
|
|
4799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
|
|
|
4800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4801:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
|
|
|
79 .loc 1 4801 0
|
|
|
80 0002 CB07 lsls r3, r1, #31
|
|
|
81 0004 09D5 bpl .L10
|
|
|
82 .LVL4:
|
|
|
4802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4803:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
|
|
|
4804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
|
|
|
4805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State & HAL_I2C_STATE_LISTEN) != HAL_I2C_STATE_LISTEN)
|
|
|
83 .loc 1 4806 0
|
|
|
84 0006 4123 movs r3, #65
|
|
|
85 0008 C35C ldrb r3, [r0, r3]
|
|
|
86 000a 2822 movs r2, #40
|
|
|
87 000c 1340 ands r3, r2
|
|
|
88 000e 282B cmp r3, #40
|
|
|
89 0010 01D0 beq .L13
|
|
|
4807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
|
|
|
4809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
|
|
|
90 .loc 1 4809 0
|
|
|
91 0012 F223 movs r3, #242
|
|
|
92 0014 02E0 b .L4
|
|
|
93 .L13:
|
|
|
4804:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
94 .loc 1 4804 0
|
|
|
95 0016 1A33 adds r3, r3, #26
|
|
|
96 0018 00E0 b .L4
|
|
|
97 .LVL5:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 87
|
|
|
|
|
|
|
|
|
98 .L10:
|
|
|
4799:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
99 .loc 1 4799 0
|
|
|
100 001a 0023 movs r3, #0
|
|
|
101 .LVL6:
|
|
|
102 .L4:
|
|
|
4810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
|
|
|
103 .loc 1 4813 0
|
|
|
104 001c 8A07 lsls r2, r1, #30
|
|
|
105 001e 09D5 bpl .L5
|
|
|
4814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
|
|
|
4816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
|
|
|
106 .loc 1 4816 0
|
|
|
107 0020 4424 movs r4, #68
|
|
|
108 0022 1C43 orrs r4, r3
|
|
|
109 .LVL7:
|
|
|
4817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((hi2c->State & HAL_I2C_STATE_LISTEN) != HAL_I2C_STATE_LISTEN)
|
|
|
110 .loc 1 4818 0
|
|
|
111 0024 4122 movs r2, #65
|
|
|
112 0026 825C ldrb r2, [r0, r2]
|
|
|
113 0028 2825 movs r5, #40
|
|
|
114 002a 2A40 ands r2, r5
|
|
|
115 002c 282A cmp r2, #40
|
|
|
116 002e 15D0 beq .L12
|
|
|
4819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
|
|
|
4821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
|
|
|
117 .loc 1 4821 0
|
|
|
118 0030 F422 movs r2, #244
|
|
|
119 0032 1343 orrs r3, r2
|
|
|
120 .LVL8:
|
|
|
121 .L5:
|
|
|
4822:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
|
|
|
122 .loc 1 4825 0
|
|
|
123 0034 4A07 lsls r2, r1, #29
|
|
|
124 0036 01D5 bpl .L6
|
|
|
4826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
|
|
|
4828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
|
|
|
125 .loc 1 4828 0
|
|
|
126 0038 B822 movs r2, #184
|
|
|
127 003a 1343 orrs r3, r2
|
|
|
128 .LVL9:
|
|
|
129 .L6:
|
|
|
4829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
|
|
|
130 .loc 1 4831 0
|
|
|
131 003c 1122 movs r2, #17
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 88
|
|
|
|
|
|
|
|
|
132 003e 0A40 ands r2, r1
|
|
|
133 0040 112A cmp r2, #17
|
|
|
134 0042 0DD0 beq .L14
|
|
|
135 .L7:
|
|
|
136 0044 1222 movs r2, #18
|
|
|
137 0046 1140 ands r1, r2
|
|
|
138 .LVL10:
|
|
|
4832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4833:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
|
|
|
4834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
|
|
|
4835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
|
|
|
139 .loc 1 4837 0
|
|
|
140 0048 1229 cmp r1, #18
|
|
|
141 004a 0CD0 beq .L15
|
|
|
142 .L8:
|
|
|
4838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable STOP interrupts */
|
|
|
4840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
|
|
|
4841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4843:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
|
|
|
143 .loc 1 4843 0
|
|
|
144 004c 1229 cmp r1, #18
|
|
|
145 004e 0DD0 beq .L16
|
|
|
146 .L9:
|
|
|
4844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Enable TC interrupts */
|
|
|
4846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
|
|
|
4847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Disable interrupts only at the end */
|
|
|
4850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
|
|
|
4851:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* all disable interrupts request are not done */
|
|
|
4852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
|
|
|
147 .loc 1 4852 0
|
|
|
148 0050 0168 ldr r1, [r0]
|
|
|
149 0052 0A68 ldr r2, [r1]
|
|
|
150 0054 9A43 bics r2, r3
|
|
|
151 0056 0A60 str r2, [r1]
|
|
|
4853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4854:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_OK;
|
|
|
4855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
152 .loc 1 4855 0
|
|
|
153 0058 0020 movs r0, #0
|
|
|
154 .LVL11:
|
|
|
155 @ sp needed
|
|
|
156 005a 30BD pop {r4, r5, pc}
|
|
|
157 .LVL12:
|
|
|
158 .L12:
|
|
|
4816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
159 .loc 1 4816 0
|
|
|
160 005c 2300 movs r3, r4
|
|
|
161 005e E9E7 b .L5
|
|
|
162 .LVL13:
|
|
|
163 .L14:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 89
|
|
|
|
|
|
|
|
|
4834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
164 .loc 1 4834 0
|
|
|
165 0060 7F32 adds r2, r2, #127
|
|
|
166 0062 1343 orrs r3, r2
|
|
|
167 .LVL14:
|
|
|
168 0064 EEE7 b .L7
|
|
|
169 .LVL15:
|
|
|
170 .L15:
|
|
|
4840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
171 .loc 1 4840 0
|
|
|
172 0066 0E32 adds r2, r2, #14
|
|
|
173 0068 1343 orrs r3, r2
|
|
|
174 .LVL16:
|
|
|
175 006a EFE7 b .L8
|
|
|
176 .L16:
|
|
|
4846:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
177 .loc 1 4846 0
|
|
|
178 006c 4022 movs r2, #64
|
|
|
179 006e 1343 orrs r3, r2
|
|
|
180 .LVL17:
|
|
|
181 0070 EEE7 b .L9
|
|
|
182 .cfi_endproc
|
|
|
183 .LFE111:
|
|
|
185 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits
|
|
|
186 .align 1
|
|
|
187 .syntax unified
|
|
|
188 .code 16
|
|
|
189 .thumb_func
|
|
|
190 .fpu softvfp
|
|
|
192 I2C_IsAcknowledgeFailed:
|
|
|
193 .LFB108:
|
|
|
4640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
|
|
|
194 .loc 1 4640 0
|
|
|
195 .cfi_startproc
|
|
|
196 @ args = 0, pretend = 0, frame = 0
|
|
|
197 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
198 .LVL18:
|
|
|
199 0000 70B5 push {r4, r5, r6, lr}
|
|
|
200 .LCFI1:
|
|
|
201 .cfi_def_cfa_offset 16
|
|
|
202 .cfi_offset 4, -16
|
|
|
203 .cfi_offset 5, -12
|
|
|
204 .cfi_offset 6, -8
|
|
|
205 .cfi_offset 14, -4
|
|
|
206 0002 0400 movs r4, r0
|
|
|
207 0004 0E00 movs r6, r1
|
|
|
208 0006 1500 movs r5, r2
|
|
|
4641:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
209 .loc 1 4641 0
|
|
|
210 0008 0368 ldr r3, [r0]
|
|
|
211 000a 9B69 ldr r3, [r3, #24]
|
|
|
212 000c DB06 lsls r3, r3, #27
|
|
|
213 000e 16D5 bpl .L25
|
|
|
214 .LVL19:
|
|
|
215 .L20:
|
|
|
4645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
216 .loc 1 4645 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 90
|
|
|
|
|
|
|
|
|
217 0010 2368 ldr r3, [r4]
|
|
|
218 0012 9A69 ldr r2, [r3, #24]
|
|
|
219 0014 9206 lsls r2, r2, #26
|
|
|
220 0016 14D4 bmi .L26
|
|
|
4648:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
221 .loc 1 4648 0
|
|
|
222 0018 731C adds r3, r6, #1
|
|
|
223 001a F9D0 beq .L20
|
|
|
4650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
224 .loc 1 4650 0
|
|
|
225 001c 002E cmp r6, #0
|
|
|
226 001e 04D0 beq .L21
|
|
|
4650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
227 .loc 1 4650 0 is_stmt 0 discriminator 1
|
|
|
228 0020 FFF7FEFF bl HAL_GetTick
|
|
|
229 .LVL20:
|
|
|
230 0024 401B subs r0, r0, r5
|
|
|
231 0026 B042 cmp r0, r6
|
|
|
232 0028 F2D9 bls .L20
|
|
|
233 .L21:
|
|
|
4652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
234 .loc 1 4652 0 is_stmt 1
|
|
|
235 002a 4123 movs r3, #65
|
|
|
236 002c 2022 movs r2, #32
|
|
|
237 002e E254 strb r2, [r4, r3]
|
|
|
4653:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
238 .loc 1 4653 0
|
|
|
239 0030 0023 movs r3, #0
|
|
|
240 0032 2232 adds r2, r2, #34
|
|
|
241 0034 A354 strb r3, [r4, r2]
|
|
|
4656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
242 .loc 1 4656 0
|
|
|
243 0036 023A subs r2, r2, #2
|
|
|
244 0038 A354 strb r3, [r4, r2]
|
|
|
4657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
245 .loc 1 4657 0
|
|
|
246 003a 0320 movs r0, #3
|
|
|
247 003c 24E0 b .L19
|
|
|
248 .LVL21:
|
|
|
249 .L25:
|
|
|
4683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
250 .loc 1 4683 0
|
|
|
251 003e 0020 movs r0, #0
|
|
|
252 .LVL22:
|
|
|
253 0040 22E0 b .L19
|
|
|
254 .LVL23:
|
|
|
255 .L26:
|
|
|
4663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
256 .loc 1 4663 0
|
|
|
257 0042 1022 movs r2, #16
|
|
|
258 0044 DA61 str r2, [r3, #28]
|
|
|
4666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
259 .loc 1 4666 0
|
|
|
260 0046 2368 ldr r3, [r4]
|
|
|
261 0048 1032 adds r2, r2, #16
|
|
|
262 004a DA61 str r2, [r3, #28]
|
|
|
263 .LVL24:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 91
|
|
|
|
|
|
|
|
|
264 .LBB142:
|
|
|
265 .LBB143:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
266 .loc 1 4301 0
|
|
|
267 004c 2368 ldr r3, [r4]
|
|
|
268 004e 9A69 ldr r2, [r3, #24]
|
|
|
269 0050 9207 lsls r2, r2, #30
|
|
|
270 0052 01D5 bpl .L23
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
271 .loc 1 4303 0
|
|
|
272 0054 0022 movs r2, #0
|
|
|
273 0056 9A62 str r2, [r3, #40]
|
|
|
274 .L23:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
275 .loc 1 4307 0
|
|
|
276 0058 2368 ldr r3, [r4]
|
|
|
277 005a 9A69 ldr r2, [r3, #24]
|
|
|
278 005c D207 lsls r2, r2, #31
|
|
|
279 005e 03D4 bmi .L24
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
280 .loc 1 4309 0
|
|
|
281 0060 9A69 ldr r2, [r3, #24]
|
|
|
282 0062 0121 movs r1, #1
|
|
|
283 0064 0A43 orrs r2, r1
|
|
|
284 0066 9A61 str r2, [r3, #24]
|
|
|
285 .L24:
|
|
|
286 .LVL25:
|
|
|
287 .LBE143:
|
|
|
288 .LBE142:
|
|
|
4672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
289 .loc 1 4672 0
|
|
|
290 0068 2268 ldr r2, [r4]
|
|
|
291 006a 5368 ldr r3, [r2, #4]
|
|
|
292 006c 0749 ldr r1, .L27
|
|
|
293 006e 0B40 ands r3, r1
|
|
|
294 0070 5360 str r3, [r2, #4]
|
|
|
4674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
295 .loc 1 4674 0
|
|
|
296 0072 0423 movs r3, #4
|
|
|
297 0074 6364 str r3, [r4, #68]
|
|
|
4675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
298 .loc 1 4675 0
|
|
|
299 0076 3D33 adds r3, r3, #61
|
|
|
300 0078 2022 movs r2, #32
|
|
|
301 007a E254 strb r2, [r4, r3]
|
|
|
4676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
302 .loc 1 4676 0
|
|
|
303 007c 0023 movs r3, #0
|
|
|
304 007e 2232 adds r2, r2, #34
|
|
|
305 0080 A354 strb r3, [r4, r2]
|
|
|
4679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
306 .loc 1 4679 0
|
|
|
307 0082 023A subs r2, r2, #2
|
|
|
308 0084 A354 strb r3, [r4, r2]
|
|
|
4681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
309 .loc 1 4681 0
|
|
|
310 0086 0120 movs r0, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 92
|
|
|
|
|
|
|
|
|
311 .L19:
|
|
|
4684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
312 .loc 1 4684 0
|
|
|
313 @ sp needed
|
|
|
314 .LVL26:
|
|
|
315 .LVL27:
|
|
|
316 .LVL28:
|
|
|
317 0088 70BD pop {r4, r5, r6, pc}
|
|
|
318 .L28:
|
|
|
319 008a C046 .align 2
|
|
|
320 .L27:
|
|
|
321 008c 00E800FE .word -33495040
|
|
|
322 .cfi_endproc
|
|
|
323 .LFE108:
|
|
|
325 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
|
|
|
326 .align 1
|
|
|
327 .syntax unified
|
|
|
328 .code 16
|
|
|
329 .thumb_func
|
|
|
330 .fpu softvfp
|
|
|
332 I2C_WaitOnFlagUntilTimeout:
|
|
|
333 .LFB104:
|
|
|
4486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
|
|
|
334 .loc 1 4486 0
|
|
|
335 .cfi_startproc
|
|
|
336 @ args = 4, pretend = 0, frame = 0
|
|
|
337 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
338 .LVL29:
|
|
|
339 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
340 .LCFI2:
|
|
|
341 .cfi_def_cfa_offset 24
|
|
|
342 .cfi_offset 3, -24
|
|
|
343 .cfi_offset 4, -20
|
|
|
344 .cfi_offset 5, -16
|
|
|
345 .cfi_offset 6, -12
|
|
|
346 .cfi_offset 7, -8
|
|
|
347 .cfi_offset 14, -4
|
|
|
348 0002 0600 movs r6, r0
|
|
|
349 0004 0C00 movs r4, r1
|
|
|
350 0006 1700 movs r7, r2
|
|
|
351 0008 1D00 movs r5, r3
|
|
|
352 .LVL30:
|
|
|
353 .L31:
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
354 .loc 1 4487 0
|
|
|
355 000a 3368 ldr r3, [r6]
|
|
|
356 000c 9B69 ldr r3, [r3, #24]
|
|
|
357 000e 2340 ands r3, r4
|
|
|
358 0010 1B1B subs r3, r3, r4
|
|
|
359 0012 5A42 rsbs r2, r3, #0
|
|
|
360 0014 5341 adcs r3, r3, r2
|
|
|
361 0016 BB42 cmp r3, r7
|
|
|
362 0018 13D1 bne .L35
|
|
|
4490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
363 .loc 1 4490 0
|
|
|
364 001a 6B1C adds r3, r5, #1
|
|
|
365 001c F5D0 beq .L31
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 93
|
|
|
|
|
|
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
366 .loc 1 4492 0
|
|
|
367 001e 002D cmp r5, #0
|
|
|
368 0020 05D0 beq .L32
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
369 .loc 1 4492 0 is_stmt 0 discriminator 1
|
|
|
370 0022 FFF7FEFF bl HAL_GetTick
|
|
|
371 .LVL31:
|
|
|
372 0026 069B ldr r3, [sp, #24]
|
|
|
373 0028 C01A subs r0, r0, r3
|
|
|
374 002a A842 cmp r0, r5
|
|
|
375 002c EDD9 bls .L31
|
|
|
376 .L32:
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
377 .loc 1 4494 0 is_stmt 1
|
|
|
378 002e 4123 movs r3, #65
|
|
|
379 0030 2022 movs r2, #32
|
|
|
380 0032 F254 strb r2, [r6, r3]
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
381 .loc 1 4495 0
|
|
|
382 0034 0023 movs r3, #0
|
|
|
383 0036 2232 adds r2, r2, #34
|
|
|
384 0038 B354 strb r3, [r6, r2]
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
385 .loc 1 4498 0
|
|
|
386 003a 023A subs r2, r2, #2
|
|
|
387 003c B354 strb r3, [r6, r2]
|
|
|
4499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
388 .loc 1 4499 0
|
|
|
389 003e 0320 movs r0, #3
|
|
|
390 0040 00E0 b .L33
|
|
|
391 .L35:
|
|
|
4503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
392 .loc 1 4503 0
|
|
|
393 0042 0020 movs r0, #0
|
|
|
394 .L33:
|
|
|
4504:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
395 .loc 1 4504 0
|
|
|
396 @ sp needed
|
|
|
397 .LVL32:
|
|
|
398 .LVL33:
|
|
|
399 .LVL34:
|
|
|
400 0044 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
401 .cfi_endproc
|
|
|
402 .LFE104:
|
|
|
404 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
|
|
|
405 .align 1
|
|
|
406 .syntax unified
|
|
|
407 .code 16
|
|
|
408 .thumb_func
|
|
|
409 .fpu softvfp
|
|
|
411 I2C_WaitOnSTOPFlagUntilTimeout:
|
|
|
412 .LFB106:
|
|
|
4554:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
|
|
|
413 .loc 1 4554 0
|
|
|
414 .cfi_startproc
|
|
|
415 @ args = 0, pretend = 0, frame = 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 94
|
|
|
|
|
|
|
|
|
416 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
417 .LVL35:
|
|
|
418 0000 70B5 push {r4, r5, r6, lr}
|
|
|
419 .LCFI3:
|
|
|
420 .cfi_def_cfa_offset 16
|
|
|
421 .cfi_offset 4, -16
|
|
|
422 .cfi_offset 5, -12
|
|
|
423 .cfi_offset 6, -8
|
|
|
424 .cfi_offset 14, -4
|
|
|
425 0002 0500 movs r5, r0
|
|
|
426 0004 0C00 movs r4, r1
|
|
|
427 0006 1600 movs r6, r2
|
|
|
428 .LVL36:
|
|
|
429 .L37:
|
|
|
4555:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
430 .loc 1 4555 0
|
|
|
431 0008 2B68 ldr r3, [r5]
|
|
|
432 000a 9B69 ldr r3, [r3, #24]
|
|
|
433 000c 9B06 lsls r3, r3, #26
|
|
|
434 000e 1AD4 bmi .L42
|
|
|
4558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
435 .loc 1 4558 0
|
|
|
436 0010 3200 movs r2, r6
|
|
|
437 0012 2100 movs r1, r4
|
|
|
438 0014 2800 movs r0, r5
|
|
|
439 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
|
|
|
440 .LVL37:
|
|
|
441 001a 0028 cmp r0, #0
|
|
|
442 001c 15D1 bne .L41
|
|
|
4564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
443 .loc 1 4564 0
|
|
|
444 001e 002C cmp r4, #0
|
|
|
445 0020 04D0 beq .L39
|
|
|
4564:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
446 .loc 1 4564 0 is_stmt 0 discriminator 1
|
|
|
447 0022 FFF7FEFF bl HAL_GetTick
|
|
|
448 .LVL38:
|
|
|
449 0026 801B subs r0, r0, r6
|
|
|
450 0028 A042 cmp r0, r4
|
|
|
451 002a EDD9 bls .L37
|
|
|
452 .L39:
|
|
|
4566:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
453 .loc 1 4566 0 is_stmt 1
|
|
|
454 002c 6B6C ldr r3, [r5, #68]
|
|
|
455 002e 2022 movs r2, #32
|
|
|
456 0030 1343 orrs r3, r2
|
|
|
457 0032 6B64 str r3, [r5, #68]
|
|
|
4567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
458 .loc 1 4567 0
|
|
|
459 0034 4123 movs r3, #65
|
|
|
460 0036 EA54 strb r2, [r5, r3]
|
|
|
4568:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
461 .loc 1 4568 0
|
|
|
462 0038 0023 movs r3, #0
|
|
|
463 003a 2232 adds r2, r2, #34
|
|
|
464 003c AB54 strb r3, [r5, r2]
|
|
|
4571:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 95
|
|
|
|
|
|
|
|
|
465 .loc 1 4571 0
|
|
|
466 003e 023A subs r2, r2, #2
|
|
|
467 0040 AB54 strb r3, [r5, r2]
|
|
|
4573:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
468 .loc 1 4573 0
|
|
|
469 0042 0320 movs r0, #3
|
|
|
470 .L38:
|
|
|
4577:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
471 .loc 1 4577 0
|
|
|
472 @ sp needed
|
|
|
473 .LVL39:
|
|
|
474 .LVL40:
|
|
|
475 .LVL41:
|
|
|
476 0044 70BD pop {r4, r5, r6, pc}
|
|
|
477 .LVL42:
|
|
|
478 .L42:
|
|
|
4576:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
479 .loc 1 4576 0
|
|
|
480 0046 0020 movs r0, #0
|
|
|
481 0048 FCE7 b .L38
|
|
|
482 .L41:
|
|
|
4560:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
483 .loc 1 4560 0
|
|
|
484 004a 0120 movs r0, #1
|
|
|
485 004c FAE7 b .L38
|
|
|
486 .cfi_endproc
|
|
|
487 .LFE106:
|
|
|
489 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
|
|
|
490 .align 1
|
|
|
491 .syntax unified
|
|
|
492 .code 16
|
|
|
493 .thumb_func
|
|
|
494 .fpu softvfp
|
|
|
496 I2C_WaitOnRXNEFlagUntilTimeout:
|
|
|
497 .LFB107:
|
|
|
4588:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
|
|
|
498 .loc 1 4588 0
|
|
|
499 .cfi_startproc
|
|
|
500 @ args = 0, pretend = 0, frame = 0
|
|
|
501 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
502 .LVL43:
|
|
|
503 0000 70B5 push {r4, r5, r6, lr}
|
|
|
504 .LCFI4:
|
|
|
505 .cfi_def_cfa_offset 16
|
|
|
506 .cfi_offset 4, -16
|
|
|
507 .cfi_offset 5, -12
|
|
|
508 .cfi_offset 6, -8
|
|
|
509 .cfi_offset 14, -4
|
|
|
510 0002 0400 movs r4, r0
|
|
|
511 0004 0D00 movs r5, r1
|
|
|
512 0006 1600 movs r6, r2
|
|
|
513 .LVL44:
|
|
|
514 .L44:
|
|
|
4589:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
515 .loc 1 4589 0
|
|
|
516 0008 2368 ldr r3, [r4]
|
|
|
517 000a 9B69 ldr r3, [r3, #24]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 96
|
|
|
|
|
|
|
|
|
518 000c 5B07 lsls r3, r3, #29
|
|
|
519 000e 2DD4 bmi .L50
|
|
|
4592:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
520 .loc 1 4592 0
|
|
|
521 0010 3200 movs r2, r6
|
|
|
522 0012 2900 movs r1, r5
|
|
|
523 0014 2000 movs r0, r4
|
|
|
524 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
|
|
|
525 .LVL45:
|
|
|
526 001a 0028 cmp r0, #0
|
|
|
527 001c 28D1 bne .L49
|
|
|
4598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
528 .loc 1 4598 0
|
|
|
529 001e 2368 ldr r3, [r4]
|
|
|
530 0020 9A69 ldr r2, [r3, #24]
|
|
|
531 0022 9206 lsls r2, r2, #26
|
|
|
532 0024 11D4 bmi .L51
|
|
|
4617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
533 .loc 1 4617 0
|
|
|
534 0026 002D cmp r5, #0
|
|
|
535 0028 04D0 beq .L47
|
|
|
4617:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
536 .loc 1 4617 0 is_stmt 0 discriminator 1
|
|
|
537 002a FFF7FEFF bl HAL_GetTick
|
|
|
538 .LVL46:
|
|
|
539 002e 801B subs r0, r0, r6
|
|
|
540 0030 A842 cmp r0, r5
|
|
|
541 0032 E9D9 bls .L44
|
|
|
542 .L47:
|
|
|
4619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
543 .loc 1 4619 0 is_stmt 1
|
|
|
544 0034 636C ldr r3, [r4, #68]
|
|
|
545 0036 2022 movs r2, #32
|
|
|
546 0038 1343 orrs r3, r2
|
|
|
547 003a 6364 str r3, [r4, #68]
|
|
|
4620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
548 .loc 1 4620 0
|
|
|
549 003c 4123 movs r3, #65
|
|
|
550 003e E254 strb r2, [r4, r3]
|
|
|
4623:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
551 .loc 1 4623 0
|
|
|
552 0040 013B subs r3, r3, #1
|
|
|
553 0042 0022 movs r2, #0
|
|
|
554 0044 E254 strb r2, [r4, r3]
|
|
|
4625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
555 .loc 1 4625 0
|
|
|
556 0046 0320 movs r0, #3
|
|
|
557 .L45:
|
|
|
4629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
558 .loc 1 4629 0
|
|
|
559 @ sp needed
|
|
|
560 .LVL47:
|
|
|
561 .LVL48:
|
|
|
562 .LVL49:
|
|
|
563 0048 70BD pop {r4, r5, r6, pc}
|
|
|
564 .LVL50:
|
|
|
565 .L51:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 97
|
|
|
|
|
|
|
|
|
4601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
566 .loc 1 4601 0
|
|
|
567 004a 2022 movs r2, #32
|
|
|
568 004c DA61 str r2, [r3, #28]
|
|
|
4604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
569 .loc 1 4604 0
|
|
|
570 004e 2168 ldr r1, [r4]
|
|
|
571 0050 4B68 ldr r3, [r1, #4]
|
|
|
572 0052 0848 ldr r0, .L52
|
|
|
573 0054 0340 ands r3, r0
|
|
|
574 0056 4B60 str r3, [r1, #4]
|
|
|
4606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
575 .loc 1 4606 0
|
|
|
576 0058 0023 movs r3, #0
|
|
|
577 005a 6364 str r3, [r4, #68]
|
|
|
4607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
578 .loc 1 4607 0
|
|
|
579 005c 4121 movs r1, #65
|
|
|
580 005e 6254 strb r2, [r4, r1]
|
|
|
4608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
581 .loc 1 4608 0
|
|
|
582 0060 2232 adds r2, r2, #34
|
|
|
583 0062 A354 strb r3, [r4, r2]
|
|
|
4611:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
584 .loc 1 4611 0
|
|
|
585 0064 023A subs r2, r2, #2
|
|
|
586 0066 A354 strb r3, [r4, r2]
|
|
|
4613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
587 .loc 1 4613 0
|
|
|
588 0068 0120 movs r0, #1
|
|
|
589 006a EDE7 b .L45
|
|
|
590 .L50:
|
|
|
4628:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
591 .loc 1 4628 0
|
|
|
592 006c 0020 movs r0, #0
|
|
|
593 006e EBE7 b .L45
|
|
|
594 .L49:
|
|
|
4594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
595 .loc 1 4594 0
|
|
|
596 0070 0120 movs r0, #1
|
|
|
597 0072 E9E7 b .L45
|
|
|
598 .L53:
|
|
|
599 .align 2
|
|
|
600 .L52:
|
|
|
601 0074 00E800FE .word -33495040
|
|
|
602 .cfi_endproc
|
|
|
603 .LFE107:
|
|
|
605 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
|
|
|
606 .align 1
|
|
|
607 .syntax unified
|
|
|
608 .code 16
|
|
|
609 .thumb_func
|
|
|
610 .fpu softvfp
|
|
|
612 I2C_WaitOnTXISFlagUntilTimeout:
|
|
|
613 .LFB105:
|
|
|
4515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
|
|
|
614 .loc 1 4515 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 98
|
|
|
|
|
|
|
|
|
615 .cfi_startproc
|
|
|
616 @ args = 0, pretend = 0, frame = 0
|
|
|
617 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
618 .LVL51:
|
|
|
619 0000 70B5 push {r4, r5, r6, lr}
|
|
|
620 .LCFI5:
|
|
|
621 .cfi_def_cfa_offset 16
|
|
|
622 .cfi_offset 4, -16
|
|
|
623 .cfi_offset 5, -12
|
|
|
624 .cfi_offset 6, -8
|
|
|
625 .cfi_offset 14, -4
|
|
|
626 0002 0400 movs r4, r0
|
|
|
627 0004 0D00 movs r5, r1
|
|
|
628 0006 1600 movs r6, r2
|
|
|
629 .LVL52:
|
|
|
630 .L58:
|
|
|
4516:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
631 .loc 1 4516 0
|
|
|
632 0008 2368 ldr r3, [r4]
|
|
|
633 000a 9B69 ldr r3, [r3, #24]
|
|
|
634 000c 9B07 lsls r3, r3, #30
|
|
|
635 000e 24D4 bmi .L61
|
|
|
4519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
636 .loc 1 4519 0
|
|
|
637 0010 3200 movs r2, r6
|
|
|
638 0012 2900 movs r1, r5
|
|
|
639 0014 2000 movs r0, r4
|
|
|
640 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
|
|
|
641 .LVL53:
|
|
|
642 001a 0028 cmp r0, #0
|
|
|
643 001c 18D1 bne .L62
|
|
|
4526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
644 .loc 1 4526 0
|
|
|
645 001e 6B1C adds r3, r5, #1
|
|
|
646 0020 F2D0 beq .L58
|
|
|
4528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
647 .loc 1 4528 0
|
|
|
648 0022 002D cmp r5, #0
|
|
|
649 0024 04D0 beq .L59
|
|
|
4528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
650 .loc 1 4528 0 is_stmt 0 discriminator 1
|
|
|
651 0026 FFF7FEFF bl HAL_GetTick
|
|
|
652 .LVL54:
|
|
|
653 002a 801B subs r0, r0, r6
|
|
|
654 002c A842 cmp r0, r5
|
|
|
655 002e EBD9 bls .L58
|
|
|
656 .L59:
|
|
|
4530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
657 .loc 1 4530 0 is_stmt 1
|
|
|
658 0030 636C ldr r3, [r4, #68]
|
|
|
659 0032 2022 movs r2, #32
|
|
|
660 0034 1343 orrs r3, r2
|
|
|
661 0036 6364 str r3, [r4, #68]
|
|
|
4531:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
662 .loc 1 4531 0
|
|
|
663 0038 4123 movs r3, #65
|
|
|
664 003a E254 strb r2, [r4, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 99
|
|
|
|
|
|
|
|
|
4532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
665 .loc 1 4532 0
|
|
|
666 003c 0023 movs r3, #0
|
|
|
667 003e 2232 adds r2, r2, #34
|
|
|
668 0040 A354 strb r3, [r4, r2]
|
|
|
4535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
669 .loc 1 4535 0
|
|
|
670 0042 023A subs r2, r2, #2
|
|
|
671 0044 A354 strb r3, [r4, r2]
|
|
|
4537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
672 .loc 1 4537 0
|
|
|
673 0046 0648 ldr r0, .L63
|
|
|
674 0048 FFF7FEFF bl vcom_Send
|
|
|
675 .LVL55:
|
|
|
4538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
676 .loc 1 4538 0
|
|
|
677 004c 0320 movs r0, #3
|
|
|
678 004e 05E0 b .L57
|
|
|
679 .L62:
|
|
|
4521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
680 .loc 1 4521 0
|
|
|
681 0050 0448 ldr r0, .L63+4
|
|
|
682 0052 FFF7FEFF bl vcom_Send
|
|
|
683 .LVL56:
|
|
|
4522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
684 .loc 1 4522 0
|
|
|
685 0056 0120 movs r0, #1
|
|
|
686 0058 00E0 b .L57
|
|
|
687 .L61:
|
|
|
4542:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
688 .loc 1 4542 0
|
|
|
689 005a 0020 movs r0, #0
|
|
|
690 .L57:
|
|
|
4543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
691 .loc 1 4543 0
|
|
|
692 @ sp needed
|
|
|
693 .LVL57:
|
|
|
694 .LVL58:
|
|
|
695 .LVL59:
|
|
|
696 005c 70BD pop {r4, r5, r6, pc}
|
|
|
697 .L64:
|
|
|
698 005e C046 .align 2
|
|
|
699 .L63:
|
|
|
700 0060 44000000 .word .LC2
|
|
|
701 0064 00000000 .word .LC0
|
|
|
702 .cfi_endproc
|
|
|
703 .LFE105:
|
|
|
705 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
|
|
|
706 .align 1
|
|
|
707 .syntax unified
|
|
|
708 .code 16
|
|
|
709 .thumb_func
|
|
|
710 .fpu softvfp
|
|
|
712 I2C_RequestMemoryWrite:
|
|
|
713 .LFB88:
|
|
|
3651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRITE);
|
|
|
714 .loc 1 3651 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 100
|
|
|
|
|
|
|
|
|
715 .cfi_startproc
|
|
|
716 @ args = 8, pretend = 0, frame = 0
|
|
|
717 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
718 .LVL60:
|
|
|
719 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
720 .LCFI6:
|
|
|
721 .cfi_def_cfa_offset 20
|
|
|
722 .cfi_offset 4, -20
|
|
|
723 .cfi_offset 5, -16
|
|
|
724 .cfi_offset 6, -12
|
|
|
725 .cfi_offset 7, -8
|
|
|
726 .cfi_offset 14, -4
|
|
|
727 0002 83B0 sub sp, sp, #12
|
|
|
728 .LCFI7:
|
|
|
729 .cfi_def_cfa_offset 32
|
|
|
730 0004 0600 movs r6, r0
|
|
|
731 0006 1500 movs r5, r2
|
|
|
732 0008 1C00 movs r4, r3
|
|
|
3652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
733 .loc 1 3652 0
|
|
|
734 000a DAB2 uxtb r2, r3
|
|
|
735 .LVL61:
|
|
|
736 .LBB144:
|
|
|
737 .LBB145:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
738 .loc 1 4713 0
|
|
|
739 000c 0068 ldr r0, [r0]
|
|
|
740 .LVL62:
|
|
|
741 000e 4368 ldr r3, [r0, #4]
|
|
|
742 .LVL63:
|
|
|
743 0010 1F4F ldr r7, .L73
|
|
|
744 0012 3B40 ands r3, r7
|
|
|
745 0014 8905 lsls r1, r1, #22
|
|
|
746 .LVL64:
|
|
|
747 0016 890D lsrs r1, r1, #22
|
|
|
748 0018 1204 lsls r2, r2, #16
|
|
|
749 .LVL65:
|
|
|
750 001a 1143 orrs r1, r2
|
|
|
751 001c 1D4A ldr r2, .L73+4
|
|
|
752 001e 1143 orrs r1, r2
|
|
|
753 0020 1943 orrs r1, r3
|
|
|
754 0022 4160 str r1, [r0, #4]
|
|
|
755 .LVL66:
|
|
|
756 .LBE145:
|
|
|
757 .LBE144:
|
|
|
3655:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
758 .loc 1 3655 0
|
|
|
759 0024 099A ldr r2, [sp, #36]
|
|
|
760 0026 0899 ldr r1, [sp, #32]
|
|
|
761 0028 3000 movs r0, r6
|
|
|
762 002a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
763 .LVL67:
|
|
|
764 002e 0028 cmp r0, #0
|
|
|
765 0030 05D0 beq .L66
|
|
|
3657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
766 .loc 1 3657 0
|
|
|
767 0032 736C ldr r3, [r6, #68]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 101
|
|
|
|
|
|
|
|
|
768 0034 042B cmp r3, #4
|
|
|
769 0036 26D1 bne .L71
|
|
|
3659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
770 .loc 1 3659 0
|
|
|
771 0038 0120 movs r0, #1
|
|
|
772 .L67:
|
|
|
3703:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
773 .loc 1 3703 0
|
|
|
774 003a 03B0 add sp, sp, #12
|
|
|
775 @ sp needed
|
|
|
776 .LVL68:
|
|
|
777 003c F0BD pop {r4, r5, r6, r7, pc}
|
|
|
778 .LVL69:
|
|
|
779 .L66:
|
|
|
3668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
780 .loc 1 3668 0
|
|
|
781 003e 012C cmp r4, #1
|
|
|
782 0040 0ED1 bne .L68
|
|
|
3671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
783 .loc 1 3671 0
|
|
|
784 0042 3368 ldr r3, [r6]
|
|
|
785 0044 EDB2 uxtb r5, r5
|
|
|
786 0046 9D62 str r5, [r3, #40]
|
|
|
787 .L69:
|
|
|
3697:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
788 .loc 1 3697 0
|
|
|
789 0048 099B ldr r3, [sp, #36]
|
|
|
790 004a 0093 str r3, [sp]
|
|
|
791 004c 089B ldr r3, [sp, #32]
|
|
|
792 004e 0022 movs r2, #0
|
|
|
793 0050 8021 movs r1, #128
|
|
|
794 0052 3000 movs r0, r6
|
|
|
795 0054 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
796 .LVL70:
|
|
|
797 0058 0028 cmp r0, #0
|
|
|
798 005a EED0 beq .L67
|
|
|
3699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
799 .loc 1 3699 0
|
|
|
800 005c 0320 movs r0, #3
|
|
|
801 005e ECE7 b .L67
|
|
|
802 .L68:
|
|
|
3677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
803 .loc 1 3677 0
|
|
|
804 0060 3368 ldr r3, [r6]
|
|
|
805 0062 2A0A lsrs r2, r5, #8
|
|
|
806 0064 9A62 str r2, [r3, #40]
|
|
|
3680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
807 .loc 1 3680 0
|
|
|
808 0066 099A ldr r2, [sp, #36]
|
|
|
809 0068 0899 ldr r1, [sp, #32]
|
|
|
810 006a 3000 movs r0, r6
|
|
|
811 006c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
812 .LVL71:
|
|
|
813 0070 0028 cmp r0, #0
|
|
|
814 0072 04D0 beq .L70
|
|
|
3682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
815 .loc 1 3682 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 102
|
|
|
|
|
|
|
|
|
816 0074 736C ldr r3, [r6, #68]
|
|
|
817 0076 042B cmp r3, #4
|
|
|
818 0078 07D1 bne .L72
|
|
|
3684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
819 .loc 1 3684 0
|
|
|
820 007a 0120 movs r0, #1
|
|
|
821 007c DDE7 b .L67
|
|
|
822 .L70:
|
|
|
3693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
823 .loc 1 3693 0
|
|
|
824 007e 3368 ldr r3, [r6]
|
|
|
825 0080 EDB2 uxtb r5, r5
|
|
|
826 0082 9D62 str r5, [r3, #40]
|
|
|
827 0084 E0E7 b .L69
|
|
|
828 .L71:
|
|
|
3663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
829 .loc 1 3663 0
|
|
|
830 0086 0320 movs r0, #3
|
|
|
831 0088 D7E7 b .L67
|
|
|
832 .L72:
|
|
|
3688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
833 .loc 1 3688 0
|
|
|
834 008a 0320 movs r0, #3
|
|
|
835 008c D5E7 b .L67
|
|
|
836 .L74:
|
|
|
837 008e C046 .align 2
|
|
|
838 .L73:
|
|
|
839 0090 009800FC .word -67069952
|
|
|
840 0094 00200081 .word -2130698240
|
|
|
841 .cfi_endproc
|
|
|
842 .LFE88:
|
|
|
844 .section .text.I2C_RequestMemoryRead,"ax",%progbits
|
|
|
845 .align 1
|
|
|
846 .syntax unified
|
|
|
847 .code 16
|
|
|
848 .thumb_func
|
|
|
849 .fpu softvfp
|
|
|
851 I2C_RequestMemoryRead:
|
|
|
852 .LFB89:
|
|
|
3718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WRITE);
|
|
|
853 .loc 1 3718 0
|
|
|
854 .cfi_startproc
|
|
|
855 @ args = 8, pretend = 0, frame = 0
|
|
|
856 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
857 .LVL72:
|
|
|
858 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
859 .LCFI8:
|
|
|
860 .cfi_def_cfa_offset 20
|
|
|
861 .cfi_offset 4, -20
|
|
|
862 .cfi_offset 5, -16
|
|
|
863 .cfi_offset 6, -12
|
|
|
864 .cfi_offset 7, -8
|
|
|
865 .cfi_offset 14, -4
|
|
|
866 0002 83B0 sub sp, sp, #12
|
|
|
867 .LCFI9:
|
|
|
868 .cfi_def_cfa_offset 32
|
|
|
869 0004 0600 movs r6, r0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 103
|
|
|
|
|
|
|
|
|
870 0006 1400 movs r4, r2
|
|
|
871 0008 1D00 movs r5, r3
|
|
|
3719:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
872 .loc 1 3719 0
|
|
|
873 000a DAB2 uxtb r2, r3
|
|
|
874 .LVL73:
|
|
|
875 .LBB146:
|
|
|
876 .LBB147:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
877 .loc 1 4713 0
|
|
|
878 000c 0068 ldr r0, [r0]
|
|
|
879 .LVL74:
|
|
|
880 000e 4368 ldr r3, [r0, #4]
|
|
|
881 .LVL75:
|
|
|
882 0010 254F ldr r7, .L86
|
|
|
883 0012 3B40 ands r3, r7
|
|
|
884 0014 8905 lsls r1, r1, #22
|
|
|
885 .LVL76:
|
|
|
886 0016 890D lsrs r1, r1, #22
|
|
|
887 0018 1204 lsls r2, r2, #16
|
|
|
888 .LVL77:
|
|
|
889 001a 1143 orrs r1, r2
|
|
|
890 001c 234A ldr r2, .L86+4
|
|
|
891 001e 1143 orrs r1, r2
|
|
|
892 0020 1943 orrs r1, r3
|
|
|
893 0022 4160 str r1, [r0, #4]
|
|
|
894 .LVL78:
|
|
|
895 .LBE147:
|
|
|
896 .LBE146:
|
|
|
3722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
897 .loc 1 3722 0
|
|
|
898 0024 099A ldr r2, [sp, #36]
|
|
|
899 0026 0899 ldr r1, [sp, #32]
|
|
|
900 0028 3000 movs r0, r6
|
|
|
901 002a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
902 .LVL79:
|
|
|
903 002e 0028 cmp r0, #0
|
|
|
904 0030 10D1 bne .L83
|
|
|
3736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
905 .loc 1 3736 0
|
|
|
906 0032 012D cmp r5, #1
|
|
|
907 0034 17D1 bne .L78
|
|
|
3739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
908 .loc 1 3739 0
|
|
|
909 0036 3368 ldr r3, [r6]
|
|
|
910 0038 E4B2 uxtb r4, r4
|
|
|
911 003a 9C62 str r4, [r3, #40]
|
|
|
912 .L79:
|
|
|
3766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
913 .loc 1 3766 0
|
|
|
914 003c 099B ldr r3, [sp, #36]
|
|
|
915 003e 0093 str r3, [sp]
|
|
|
916 0040 089B ldr r3, [sp, #32]
|
|
|
917 0042 0022 movs r2, #0
|
|
|
918 0044 4021 movs r1, #64
|
|
|
919 0046 3000 movs r0, r6
|
|
|
920 0048 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 104
|
|
|
|
|
|
|
|
|
921 .LVL80:
|
|
|
922 004c 0028 cmp r0, #0
|
|
|
923 004e 21D1 bne .L84
|
|
|
924 .L77:
|
|
|
3773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
925 .loc 1 3773 0
|
|
|
926 0050 03B0 add sp, sp, #12
|
|
|
927 @ sp needed
|
|
|
928 .LVL81:
|
|
|
929 0052 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
930 .LVL82:
|
|
|
931 .L83:
|
|
|
3724:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
932 .loc 1 3724 0
|
|
|
933 0054 716C ldr r1, [r6, #68]
|
|
|
934 0056 1648 ldr r0, .L86+8
|
|
|
935 0058 FFF7FEFF bl vcom_Send
|
|
|
936 .LVL83:
|
|
|
3725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
937 .loc 1 3725 0
|
|
|
938 005c 736C ldr r3, [r6, #68]
|
|
|
939 005e 042B cmp r3, #4
|
|
|
940 0060 1DD1 bne .L81
|
|
|
3727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
941 .loc 1 3727 0
|
|
|
942 0062 0120 movs r0, #1
|
|
|
943 0064 F4E7 b .L77
|
|
|
944 .L78:
|
|
|
3745:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
945 .loc 1 3745 0
|
|
|
946 0066 3368 ldr r3, [r6]
|
|
|
947 0068 220A lsrs r2, r4, #8
|
|
|
948 006a 9A62 str r2, [r3, #40]
|
|
|
3748:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
949 .loc 1 3748 0
|
|
|
950 006c 099A ldr r2, [sp, #36]
|
|
|
951 006e 0899 ldr r1, [sp, #32]
|
|
|
952 0070 3000 movs r0, r6
|
|
|
953 0072 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
954 .LVL84:
|
|
|
955 0076 0028 cmp r0, #0
|
|
|
956 0078 03D1 bne .L85
|
|
|
3762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
957 .loc 1 3762 0
|
|
|
958 007a 3368 ldr r3, [r6]
|
|
|
959 007c E4B2 uxtb r4, r4
|
|
|
960 007e 9C62 str r4, [r3, #40]
|
|
|
961 0080 DCE7 b .L79
|
|
|
962 .L85:
|
|
|
3750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
963 .loc 1 3750 0
|
|
|
964 0082 716C ldr r1, [r6, #68]
|
|
|
965 0084 0B48 ldr r0, .L86+12
|
|
|
966 0086 FFF7FEFF bl vcom_Send
|
|
|
967 .LVL85:
|
|
|
3751:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
968 .loc 1 3751 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 105
|
|
|
|
|
|
|
|
|
969 008a 736C ldr r3, [r6, #68]
|
|
|
970 008c 042B cmp r3, #4
|
|
|
971 008e 08D1 bne .L82
|
|
|
3753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
972 .loc 1 3753 0
|
|
|
973 0090 0120 movs r0, #1
|
|
|
974 0092 DDE7 b .L77
|
|
|
975 .L84:
|
|
|
3768:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
976 .loc 1 3768 0
|
|
|
977 0094 0848 ldr r0, .L86+16
|
|
|
978 0096 FFF7FEFF bl vcom_Send
|
|
|
979 .LVL86:
|
|
|
3769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
980 .loc 1 3769 0
|
|
|
981 009a 0320 movs r0, #3
|
|
|
982 009c D8E7 b .L77
|
|
|
983 .L81:
|
|
|
3731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
984 .loc 1 3731 0
|
|
|
985 009e 0320 movs r0, #3
|
|
|
986 00a0 D6E7 b .L77
|
|
|
987 .L82:
|
|
|
3757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
988 .loc 1 3757 0
|
|
|
989 00a2 0320 movs r0, #3
|
|
|
990 00a4 D4E7 b .L77
|
|
|
991 .L87:
|
|
|
992 00a6 C046 .align 2
|
|
|
993 .L86:
|
|
|
994 00a8 009800FC .word -67069952
|
|
|
995 00ac 00200080 .word -2147475456
|
|
|
996 00b0 00000000 .word .LC4
|
|
|
997 00b4 24000000 .word .LC6
|
|
|
998 00b8 48000000 .word .LC8
|
|
|
999 .cfi_endproc
|
|
|
1000 .LFE89:
|
|
|
1002 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
|
|
|
1003 .align 1
|
|
|
1004 .syntax unified
|
|
|
1005 .code 16
|
|
|
1006 .thumb_func
|
|
|
1007 .fpu softvfp
|
|
|
1009 I2C_DMAMasterTransmitCplt:
|
|
|
1010 .LFB98:
|
|
|
4319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
1011 .loc 1 4319 0
|
|
|
1012 .cfi_startproc
|
|
|
1013 @ args = 0, pretend = 0, frame = 0
|
|
|
1014 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1015 .LVL87:
|
|
|
1016 0000 10B5 push {r4, lr}
|
|
|
1017 .LCFI10:
|
|
|
1018 .cfi_def_cfa_offset 8
|
|
|
1019 .cfi_offset 4, -8
|
|
|
1020 .cfi_offset 14, -4
|
|
|
4320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 106
|
|
|
|
|
|
|
|
|
1021 .loc 1 4320 0
|
|
|
1022 0002 846A ldr r4, [r0, #40]
|
|
|
1023 .LVL88:
|
|
|
4323:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1024 .loc 1 4323 0
|
|
|
1025 0004 2268 ldr r2, [r4]
|
|
|
1026 0006 1368 ldr r3, [r2]
|
|
|
1027 0008 1E49 ldr r1, .L101
|
|
|
1028 000a 0B40 ands r3, r1
|
|
|
1029 000c 1360 str r3, [r2]
|
|
|
4326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1030 .loc 1 4326 0
|
|
|
1031 000e 638D ldrh r3, [r4, #42]
|
|
|
1032 0010 9BB2 uxth r3, r3
|
|
|
1033 0012 002B cmp r3, #0
|
|
|
1034 0014 10D1 bne .L89
|
|
|
1035 .LVL89:
|
|
|
1036 .LBB148:
|
|
|
1037 .LBB149:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
1038 .loc 1 4728 0
|
|
|
1039 0016 636B ldr r3, [r4, #52]
|
|
|
1040 0018 1B4A ldr r2, .L101+4
|
|
|
1041 001a 9342 cmp r3, r2
|
|
|
1042 001c 0AD0 beq .L95
|
|
|
1043 001e 1B4A ldr r2, .L101+8
|
|
|
1044 0020 9342 cmp r3, r2
|
|
|
1045 0022 05D0 beq .L99
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1046 .loc 1 4778 0
|
|
|
1047 0024 F421 movs r1, #244
|
|
|
1048 .L90:
|
|
|
1049 .LVL90:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1050 .loc 1 4785 0
|
|
|
1051 0026 2268 ldr r2, [r4]
|
|
|
1052 0028 1368 ldr r3, [r2]
|
|
|
1053 002a 0B43 orrs r3, r1
|
|
|
1054 002c 1360 str r3, [r2]
|
|
|
1055 .LVL91:
|
|
|
1056 .L88:
|
|
|
1057 .LBE149:
|
|
|
1058 .LBE148:
|
|
|
4353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1059 .loc 1 4353 0
|
|
|
1060 @ sp needed
|
|
|
1061 .LVL92:
|
|
|
1062 002e 10BD pop {r4, pc}
|
|
|
1063 .LVL93:
|
|
|
1064 .L99:
|
|
|
1065 .LBB151:
|
|
|
1066 .LBB150:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1067 .loc 1 4752 0
|
|
|
1068 0030 6021 movs r1, #96
|
|
|
1069 0032 F8E7 b .L90
|
|
|
1070 .L95:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 107
|
|
|
|
|
|
|
|
|
1071 0034 6021 movs r1, #96
|
|
|
1072 0036 F6E7 b .L90
|
|
|
1073 .LVL94:
|
|
|
1074 .L89:
|
|
|
1075 .LBE150:
|
|
|
1076 .LBE151:
|
|
|
4335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1077 .loc 1 4335 0
|
|
|
1078 0038 218D ldrh r1, [r4, #40]
|
|
|
1079 003a 636A ldr r3, [r4, #36]
|
|
|
1080 003c 9C46 mov ip, r3
|
|
|
1081 003e 6144 add r1, r1, ip
|
|
|
1082 0040 6162 str r1, [r4, #36]
|
|
|
4338:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1083 .loc 1 4338 0
|
|
|
1084 0042 638D ldrh r3, [r4, #42]
|
|
|
1085 0044 9BB2 uxth r3, r3
|
|
|
1086 0046 FF2B cmp r3, #255
|
|
|
1087 0048 14D9 bls .L92
|
|
|
4340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1088 .loc 1 4340 0
|
|
|
1089 004a FF23 movs r3, #255
|
|
|
1090 004c 2385 strh r3, [r4, #40]
|
|
|
1091 .L93:
|
|
|
4348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1092 .loc 1 4348 0
|
|
|
1093 004e 2268 ldr r2, [r4]
|
|
|
1094 0050 2832 adds r2, r2, #40
|
|
|
1095 0052 238D ldrh r3, [r4, #40]
|
|
|
1096 0054 A06B ldr r0, [r4, #56]
|
|
|
1097 .LVL95:
|
|
|
1098 0056 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
1099 .LVL96:
|
|
|
1100 .LBB152:
|
|
|
1101 .LBB153:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
1102 .loc 1 4728 0
|
|
|
1103 005a 636B ldr r3, [r4, #52]
|
|
|
1104 005c 0A4A ldr r2, .L101+4
|
|
|
1105 005e 9342 cmp r3, r2
|
|
|
1106 0060 0DD0 beq .L97
|
|
|
1107 0062 0A4A ldr r2, .L101+8
|
|
|
1108 0064 9342 cmp r3, r2
|
|
|
1109 0066 08D0 beq .L100
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1110 .loc 1 4778 0
|
|
|
1111 0068 F421 movs r1, #244
|
|
|
1112 .L94:
|
|
|
1113 .LVL97:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1114 .loc 1 4785 0
|
|
|
1115 006a 2268 ldr r2, [r4]
|
|
|
1116 006c 1368 ldr r3, [r2]
|
|
|
1117 006e 0B43 orrs r3, r1
|
|
|
1118 0070 1360 str r3, [r2]
|
|
|
1119 .LBE153:
|
|
|
1120 .LBE152:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 108
|
|
|
|
|
|
|
|
|
4353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1121 .loc 1 4353 0
|
|
|
1122 0072 DCE7 b .L88
|
|
|
1123 .LVL98:
|
|
|
1124 .L92:
|
|
|
4344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1125 .loc 1 4344 0
|
|
|
1126 0074 638D ldrh r3, [r4, #42]
|
|
|
1127 0076 2385 strh r3, [r4, #40]
|
|
|
1128 0078 E9E7 b .L93
|
|
|
1129 .LVL99:
|
|
|
1130 .L100:
|
|
|
1131 .LBB155:
|
|
|
1132 .LBB154:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1133 .loc 1 4752 0
|
|
|
1134 007a 6021 movs r1, #96
|
|
|
1135 007c F5E7 b .L94
|
|
|
1136 .L97:
|
|
|
1137 007e 6021 movs r1, #96
|
|
|
1138 0080 F3E7 b .L94
|
|
|
1139 .L102:
|
|
|
1140 0082 C046 .align 2
|
|
|
1141 .L101:
|
|
|
1142 0084 FFBFFFFF .word -16385
|
|
|
1143 0088 00000000 .word I2C_Master_ISR_DMA
|
|
|
1144 008c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
1145 .LBE154:
|
|
|
1146 .LBE155:
|
|
|
1147 .cfi_endproc
|
|
|
1148 .LFE98:
|
|
|
1150 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
|
|
|
1151 .align 1
|
|
|
1152 .syntax unified
|
|
|
1153 .code 16
|
|
|
1154 .thumb_func
|
|
|
1155 .fpu softvfp
|
|
|
1157 I2C_DMAMasterReceiveCplt:
|
|
|
1158 .LFB100:
|
|
|
4376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
1159 .loc 1 4376 0
|
|
|
1160 .cfi_startproc
|
|
|
1161 @ args = 0, pretend = 0, frame = 0
|
|
|
1162 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1163 .LVL100:
|
|
|
1164 0000 10B5 push {r4, lr}
|
|
|
1165 .LCFI11:
|
|
|
1166 .cfi_def_cfa_offset 8
|
|
|
1167 .cfi_offset 4, -8
|
|
|
1168 .cfi_offset 14, -4
|
|
|
4377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1169 .loc 1 4377 0
|
|
|
1170 0002 846A ldr r4, [r0, #40]
|
|
|
1171 .LVL101:
|
|
|
4380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1172 .loc 1 4380 0
|
|
|
1173 0004 2268 ldr r2, [r4]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 109
|
|
|
|
|
|
|
|
|
1174 0006 1368 ldr r3, [r2]
|
|
|
1175 0008 1E49 ldr r1, .L116
|
|
|
1176 000a 0B40 ands r3, r1
|
|
|
1177 000c 1360 str r3, [r2]
|
|
|
4383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1178 .loc 1 4383 0
|
|
|
1179 000e 638D ldrh r3, [r4, #42]
|
|
|
1180 0010 9BB2 uxth r3, r3
|
|
|
1181 0012 002B cmp r3, #0
|
|
|
1182 0014 10D1 bne .L104
|
|
|
1183 .LVL102:
|
|
|
1184 .LBB156:
|
|
|
1185 .LBB157:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
1186 .loc 1 4728 0
|
|
|
1187 0016 636B ldr r3, [r4, #52]
|
|
|
1188 0018 1B4A ldr r2, .L116+4
|
|
|
1189 001a 9342 cmp r3, r2
|
|
|
1190 001c 0AD0 beq .L110
|
|
|
1191 001e 1B4A ldr r2, .L116+8
|
|
|
1192 0020 9342 cmp r3, r2
|
|
|
1193 0022 05D0 beq .L114
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1194 .loc 1 4778 0
|
|
|
1195 0024 F421 movs r1, #244
|
|
|
1196 .L105:
|
|
|
1197 .LVL103:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1198 .loc 1 4785 0
|
|
|
1199 0026 2268 ldr r2, [r4]
|
|
|
1200 0028 1368 ldr r3, [r2]
|
|
|
1201 002a 0B43 orrs r3, r1
|
|
|
1202 002c 1360 str r3, [r2]
|
|
|
1203 .LVL104:
|
|
|
1204 .L103:
|
|
|
1205 .LBE157:
|
|
|
1206 .LBE156:
|
|
|
4410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1207 .loc 1 4410 0
|
|
|
1208 @ sp needed
|
|
|
1209 .LVL105:
|
|
|
1210 002e 10BD pop {r4, pc}
|
|
|
1211 .LVL106:
|
|
|
1212 .L114:
|
|
|
1213 .LBB159:
|
|
|
1214 .LBB158:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1215 .loc 1 4752 0
|
|
|
1216 0030 6021 movs r1, #96
|
|
|
1217 0032 F8E7 b .L105
|
|
|
1218 .L110:
|
|
|
1219 0034 6021 movs r1, #96
|
|
|
1220 0036 F6E7 b .L105
|
|
|
1221 .LVL107:
|
|
|
1222 .L104:
|
|
|
1223 .LBE158:
|
|
|
1224 .LBE159:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 110
|
|
|
|
|
|
|
|
|
4392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1225 .loc 1 4392 0
|
|
|
1226 0038 228D ldrh r2, [r4, #40]
|
|
|
1227 003a 636A ldr r3, [r4, #36]
|
|
|
1228 003c 9C46 mov ip, r3
|
|
|
1229 003e 6244 add r2, r2, ip
|
|
|
1230 0040 6262 str r2, [r4, #36]
|
|
|
4395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1231 .loc 1 4395 0
|
|
|
1232 0042 638D ldrh r3, [r4, #42]
|
|
|
1233 0044 9BB2 uxth r3, r3
|
|
|
1234 0046 FF2B cmp r3, #255
|
|
|
1235 0048 14D9 bls .L107
|
|
|
4397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1236 .loc 1 4397 0
|
|
|
1237 004a FF23 movs r3, #255
|
|
|
1238 004c 2385 strh r3, [r4, #40]
|
|
|
1239 .L108:
|
|
|
4405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1240 .loc 1 4405 0
|
|
|
1241 004e 2168 ldr r1, [r4]
|
|
|
1242 0050 2431 adds r1, r1, #36
|
|
|
1243 0052 238D ldrh r3, [r4, #40]
|
|
|
1244 0054 E06B ldr r0, [r4, #60]
|
|
|
1245 .LVL108:
|
|
|
1246 0056 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
1247 .LVL109:
|
|
|
1248 .LBB160:
|
|
|
1249 .LBB161:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
1250 .loc 1 4728 0
|
|
|
1251 005a 636B ldr r3, [r4, #52]
|
|
|
1252 005c 0A4A ldr r2, .L116+4
|
|
|
1253 005e 9342 cmp r3, r2
|
|
|
1254 0060 0DD0 beq .L112
|
|
|
1255 0062 0A4A ldr r2, .L116+8
|
|
|
1256 0064 9342 cmp r3, r2
|
|
|
1257 0066 08D0 beq .L115
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1258 .loc 1 4778 0
|
|
|
1259 0068 F421 movs r1, #244
|
|
|
1260 .L109:
|
|
|
1261 .LVL110:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1262 .loc 1 4785 0
|
|
|
1263 006a 2268 ldr r2, [r4]
|
|
|
1264 006c 1368 ldr r3, [r2]
|
|
|
1265 006e 0B43 orrs r3, r1
|
|
|
1266 0070 1360 str r3, [r2]
|
|
|
1267 .LBE161:
|
|
|
1268 .LBE160:
|
|
|
4410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1269 .loc 1 4410 0
|
|
|
1270 0072 DCE7 b .L103
|
|
|
1271 .LVL111:
|
|
|
1272 .L107:
|
|
|
4401:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 111
|
|
|
|
|
|
|
|
|
1273 .loc 1 4401 0
|
|
|
1274 0074 638D ldrh r3, [r4, #42]
|
|
|
1275 0076 2385 strh r3, [r4, #40]
|
|
|
1276 0078 E9E7 b .L108
|
|
|
1277 .LVL112:
|
|
|
1278 .L115:
|
|
|
1279 .LBB163:
|
|
|
1280 .LBB162:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1281 .loc 1 4752 0
|
|
|
1282 007a 6021 movs r1, #96
|
|
|
1283 007c F5E7 b .L109
|
|
|
1284 .L112:
|
|
|
1285 007e 6021 movs r1, #96
|
|
|
1286 0080 F3E7 b .L109
|
|
|
1287 .L117:
|
|
|
1288 0082 C046 .align 2
|
|
|
1289 .L116:
|
|
|
1290 0084 FF7FFFFF .word -32769
|
|
|
1291 0088 00000000 .word I2C_Master_ISR_DMA
|
|
|
1292 008c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
1293 .LBE162:
|
|
|
1294 .LBE163:
|
|
|
1295 .cfi_endproc
|
|
|
1296 .LFE100:
|
|
|
1298 .section .text.HAL_I2C_MspInit,"ax",%progbits
|
|
|
1299 .align 1
|
|
|
1300 .weak HAL_I2C_MspInit
|
|
|
1301 .syntax unified
|
|
|
1302 .code 16
|
|
|
1303 .thumb_func
|
|
|
1304 .fpu softvfp
|
|
|
1306 HAL_I2C_MspInit:
|
|
|
1307 .LFB41:
|
|
|
529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1308 .loc 1 529 0
|
|
|
1309 .cfi_startproc
|
|
|
1310 @ args = 0, pretend = 0, frame = 0
|
|
|
1311 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1312 @ link register save eliminated.
|
|
|
1313 .LVL113:
|
|
|
536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1314 .loc 1 536 0
|
|
|
1315 @ sp needed
|
|
|
1316 0000 7047 bx lr
|
|
|
1317 .cfi_endproc
|
|
|
1318 .LFE41:
|
|
|
1320 .section .text.HAL_I2C_Init,"ax",%progbits
|
|
|
1321 .align 1
|
|
|
1322 .global HAL_I2C_Init
|
|
|
1323 .syntax unified
|
|
|
1324 .code 16
|
|
|
1325 .thumb_func
|
|
|
1326 .fpu softvfp
|
|
|
1328 HAL_I2C_Init:
|
|
|
1329 .LFB39:
|
|
|
406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the I2C handle allocation */
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 112
|
|
|
|
|
|
|
|
|
1330 .loc 1 406 0
|
|
|
1331 .cfi_startproc
|
|
|
1332 @ args = 0, pretend = 0, frame = 0
|
|
|
1333 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1334 .LVL114:
|
|
|
1335 0000 10B5 push {r4, lr}
|
|
|
1336 .LCFI12:
|
|
|
1337 .cfi_def_cfa_offset 8
|
|
|
1338 .cfi_offset 4, -8
|
|
|
1339 .cfi_offset 14, -4
|
|
|
1340 0002 041E subs r4, r0, #0
|
|
|
408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1341 .loc 1 408 0
|
|
|
1342 0004 59D0 beq .L125
|
|
|
423:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1343 .loc 1 423 0
|
|
|
1344 0006 4123 movs r3, #65
|
|
|
1345 0008 C35C ldrb r3, [r0, r3]
|
|
|
1346 000a 002B cmp r3, #0
|
|
|
1347 000c 43D0 beq .L126
|
|
|
1348 .LVL115:
|
|
|
1349 .L121:
|
|
|
432:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1350 .loc 1 432 0
|
|
|
1351 000e 4123 movs r3, #65
|
|
|
1352 0010 2422 movs r2, #36
|
|
|
1353 0012 E254 strb r2, [r4, r3]
|
|
|
435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1354 .loc 1 435 0
|
|
|
1355 0014 2268 ldr r2, [r4]
|
|
|
1356 0016 1368 ldr r3, [r2]
|
|
|
1357 0018 0121 movs r1, #1
|
|
|
1358 001a 8B43 bics r3, r1
|
|
|
1359 001c 1360 str r3, [r2]
|
|
|
439:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1360 .loc 1 439 0
|
|
|
1361 001e 2268 ldr r2, [r4]
|
|
|
1362 0020 274B ldr r3, .L129
|
|
|
1363 0022 6168 ldr r1, [r4, #4]
|
|
|
1364 0024 0B40 ands r3, r1
|
|
|
1365 0026 1361 str r3, [r2, #16]
|
|
|
443:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1366 .loc 1 443 0
|
|
|
1367 0028 2268 ldr r2, [r4]
|
|
|
1368 002a 9368 ldr r3, [r2, #8]
|
|
|
1369 002c 2549 ldr r1, .L129+4
|
|
|
1370 002e 0B40 ands r3, r1
|
|
|
1371 0030 9360 str r3, [r2, #8]
|
|
|
446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1372 .loc 1 446 0
|
|
|
1373 0032 E368 ldr r3, [r4, #12]
|
|
|
1374 0034 012B cmp r3, #1
|
|
|
1375 0036 34D0 beq .L127
|
|
|
452:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1376 .loc 1 452 0
|
|
|
1377 0038 2268 ldr r2, [r4]
|
|
|
1378 003a 8423 movs r3, #132
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 113
|
|
|
|
|
|
|
|
|
1379 003c 1B02 lsls r3, r3, #8
|
|
|
1380 003e A168 ldr r1, [r4, #8]
|
|
|
1381 0040 0B43 orrs r3, r1
|
|
|
1382 0042 9360 str r3, [r2, #8]
|
|
|
1383 .L123:
|
|
|
457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1384 .loc 1 457 0
|
|
|
1385 0044 E368 ldr r3, [r4, #12]
|
|
|
1386 0046 022B cmp r3, #2
|
|
|
1387 0048 32D0 beq .L128
|
|
|
1388 .L124:
|
|
|
462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1389 .loc 1 462 0
|
|
|
1390 004a 2268 ldr r2, [r4]
|
|
|
1391 004c 5168 ldr r1, [r2, #4]
|
|
|
1392 004e 1E4B ldr r3, .L129+8
|
|
|
1393 0050 0B43 orrs r3, r1
|
|
|
1394 0052 5360 str r3, [r2, #4]
|
|
|
466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1395 .loc 1 466 0
|
|
|
1396 0054 2268 ldr r2, [r4]
|
|
|
1397 0056 D368 ldr r3, [r2, #12]
|
|
|
1398 0058 1A49 ldr r1, .L129+4
|
|
|
1399 005a 0B40 ands r3, r1
|
|
|
1400 005c D360 str r3, [r2, #12]
|
|
|
469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1401 .loc 1 469 0
|
|
|
1402 005e 2369 ldr r3, [r4, #16]
|
|
|
1403 0060 6269 ldr r2, [r4, #20]
|
|
|
1404 0062 1343 orrs r3, r2
|
|
|
1405 0064 A269 ldr r2, [r4, #24]
|
|
|
1406 0066 1202 lsls r2, r2, #8
|
|
|
1407 0068 2168 ldr r1, [r4]
|
|
|
1408 006a 1343 orrs r3, r2
|
|
|
1409 006c CB60 str r3, [r1, #12]
|
|
|
473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1410 .loc 1 473 0
|
|
|
1411 006e 2268 ldr r2, [r4]
|
|
|
1412 0070 E369 ldr r3, [r4, #28]
|
|
|
1413 0072 216A ldr r1, [r4, #32]
|
|
|
1414 0074 0B43 orrs r3, r1
|
|
|
1415 0076 1360 str r3, [r2]
|
|
|
476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1416 .loc 1 476 0
|
|
|
1417 0078 2268 ldr r2, [r4]
|
|
|
1418 007a 1368 ldr r3, [r2]
|
|
|
1419 007c 0121 movs r1, #1
|
|
|
1420 007e 0B43 orrs r3, r1
|
|
|
1421 0080 1360 str r3, [r2]
|
|
|
478:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
1422 .loc 1 478 0
|
|
|
1423 0082 0023 movs r3, #0
|
|
|
1424 0084 6364 str r3, [r4, #68]
|
|
|
479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
1425 .loc 1 479 0
|
|
|
1426 0086 4122 movs r2, #65
|
|
|
1427 0088 1F31 adds r1, r1, #31
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 114
|
|
|
|
|
|
|
|
|
1428 008a A154 strb r1, [r4, r2]
|
|
|
480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1429 .loc 1 480 0
|
|
|
1430 008c 2363 str r3, [r4, #48]
|
|
|
481:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1431 .loc 1 481 0
|
|
|
1432 008e 0132 adds r2, r2, #1
|
|
|
1433 0090 A354 strb r3, [r4, r2]
|
|
|
483:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1434 .loc 1 483 0
|
|
|
1435 0092 0020 movs r0, #0
|
|
|
1436 .L120:
|
|
|
484:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1437 .loc 1 484 0
|
|
|
1438 @ sp needed
|
|
|
1439 .LVL116:
|
|
|
1440 0094 10BD pop {r4, pc}
|
|
|
1441 .LVL117:
|
|
|
1442 .L126:
|
|
|
426:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1443 .loc 1 426 0
|
|
|
1444 0096 4033 adds r3, r3, #64
|
|
|
1445 0098 0022 movs r2, #0
|
|
|
1446 009a C254 strb r2, [r0, r3]
|
|
|
429:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1447 .loc 1 429 0
|
|
|
1448 009c FFF7FEFF bl HAL_I2C_MspInit
|
|
|
1449 .LVL118:
|
|
|
1450 00a0 B5E7 b .L121
|
|
|
1451 .L127:
|
|
|
448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1452 .loc 1 448 0
|
|
|
1453 00a2 2268 ldr r2, [r4]
|
|
|
1454 00a4 8023 movs r3, #128
|
|
|
1455 00a6 1B02 lsls r3, r3, #8
|
|
|
1456 00a8 A168 ldr r1, [r4, #8]
|
|
|
1457 00aa 0B43 orrs r3, r1
|
|
|
1458 00ac 9360 str r3, [r2, #8]
|
|
|
1459 00ae C9E7 b .L123
|
|
|
1460 .L128:
|
|
|
459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1461 .loc 1 459 0
|
|
|
1462 00b0 2368 ldr r3, [r4]
|
|
|
1463 00b2 8022 movs r2, #128
|
|
|
1464 00b4 1201 lsls r2, r2, #4
|
|
|
1465 00b6 5A60 str r2, [r3, #4]
|
|
|
1466 00b8 C7E7 b .L124
|
|
|
1467 .LVL119:
|
|
|
1468 .L125:
|
|
|
410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1469 .loc 1 410 0
|
|
|
1470 00ba 0120 movs r0, #1
|
|
|
1471 .LVL120:
|
|
|
1472 00bc EAE7 b .L120
|
|
|
1473 .L130:
|
|
|
1474 00be C046 .align 2
|
|
|
1475 .L129:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 115
|
|
|
|
|
|
|
|
|
1476 00c0 FFFFFFF0 .word -251658241
|
|
|
1477 00c4 FF7FFFFF .word -32769
|
|
|
1478 00c8 00800002 .word 33587200
|
|
|
1479 .cfi_endproc
|
|
|
1480 .LFE39:
|
|
|
1482 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
|
|
|
1483 .align 1
|
|
|
1484 .weak HAL_I2C_MspDeInit
|
|
|
1485 .syntax unified
|
|
|
1486 .code 16
|
|
|
1487 .thumb_func
|
|
|
1488 .fpu softvfp
|
|
|
1490 HAL_I2C_MspDeInit:
|
|
|
1491 .LFB42:
|
|
|
545:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
1492 .loc 1 545 0
|
|
|
1493 .cfi_startproc
|
|
|
1494 @ args = 0, pretend = 0, frame = 0
|
|
|
1495 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1496 @ link register save eliminated.
|
|
|
1497 .LVL121:
|
|
|
552:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1498 .loc 1 552 0
|
|
|
1499 @ sp needed
|
|
|
1500 0000 7047 bx lr
|
|
|
1501 .cfi_endproc
|
|
|
1502 .LFE42:
|
|
|
1504 .section .text.HAL_I2C_DeInit,"ax",%progbits
|
|
|
1505 .align 1
|
|
|
1506 .global HAL_I2C_DeInit
|
|
|
1507 .syntax unified
|
|
|
1508 .code 16
|
|
|
1509 .thumb_func
|
|
|
1510 .fpu softvfp
|
|
|
1512 HAL_I2C_DeInit:
|
|
|
1513 .LFB40:
|
|
|
493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the I2C handle allocation */
|
|
|
1514 .loc 1 493 0
|
|
|
1515 .cfi_startproc
|
|
|
1516 @ args = 0, pretend = 0, frame = 0
|
|
|
1517 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1518 .LVL122:
|
|
|
1519 0000 70B5 push {r4, r5, r6, lr}
|
|
|
1520 .LCFI13:
|
|
|
1521 .cfi_def_cfa_offset 16
|
|
|
1522 .cfi_offset 4, -16
|
|
|
1523 .cfi_offset 5, -12
|
|
|
1524 .cfi_offset 6, -8
|
|
|
1525 .cfi_offset 14, -4
|
|
|
1526 0002 041E subs r4, r0, #0
|
|
|
495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1527 .loc 1 495 0
|
|
|
1528 0004 13D0 beq .L134
|
|
|
503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1529 .loc 1 503 0
|
|
|
1530 0006 4125 movs r5, #65
|
|
|
1531 0008 2423 movs r3, #36
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 116
|
|
|
|
|
|
|
|
|
1532 000a 4355 strb r3, [r0, r5]
|
|
|
506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1533 .loc 1 506 0
|
|
|
1534 000c 0268 ldr r2, [r0]
|
|
|
1535 000e 1368 ldr r3, [r2]
|
|
|
1536 0010 0121 movs r1, #1
|
|
|
1537 0012 8B43 bics r3, r1
|
|
|
1538 0014 1360 str r3, [r2]
|
|
|
509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1539 .loc 1 509 0
|
|
|
1540 0016 FFF7FEFF bl HAL_I2C_MspDeInit
|
|
|
1541 .LVL123:
|
|
|
511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
|
|
|
1542 .loc 1 511 0
|
|
|
1543 001a 0023 movs r3, #0
|
|
|
1544 001c 6364 str r3, [r4, #68]
|
|
|
512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
1545 .loc 1 512 0
|
|
|
1546 001e 6355 strb r3, [r4, r5]
|
|
|
513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1547 .loc 1 513 0
|
|
|
1548 0020 2363 str r3, [r4, #48]
|
|
|
514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1549 .loc 1 514 0
|
|
|
1550 0022 4222 movs r2, #66
|
|
|
1551 0024 A354 strb r3, [r4, r2]
|
|
|
517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1552 .loc 1 517 0
|
|
|
1553 0026 023A subs r2, r2, #2
|
|
|
1554 0028 A354 strb r3, [r4, r2]
|
|
|
519:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1555 .loc 1 519 0
|
|
|
1556 002a 0020 movs r0, #0
|
|
|
1557 .L133:
|
|
|
520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1558 .loc 1 520 0
|
|
|
1559 @ sp needed
|
|
|
1560 .LVL124:
|
|
|
1561 002c 70BD pop {r4, r5, r6, pc}
|
|
|
1562 .LVL125:
|
|
|
1563 .L134:
|
|
|
497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1564 .loc 1 497 0
|
|
|
1565 002e 0120 movs r0, #1
|
|
|
1566 .LVL126:
|
|
|
1567 0030 FCE7 b .L133
|
|
|
1568 .cfi_endproc
|
|
|
1569 .LFE40:
|
|
|
1571 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
|
|
|
1572 .align 1
|
|
|
1573 .global HAL_I2C_Master_Transmit
|
|
|
1574 .syntax unified
|
|
|
1575 .code 16
|
|
|
1576 .thumb_func
|
|
|
1577 .fpu softvfp
|
|
|
1579 HAL_I2C_Master_Transmit:
|
|
|
1580 .LFB43:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 117
|
|
|
|
|
|
|
|
|
629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
1581 .loc 1 629 0
|
|
|
1582 .cfi_startproc
|
|
|
1583 @ args = 4, pretend = 0, frame = 8
|
|
|
1584 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1585 .LVL127:
|
|
|
1586 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
1587 .LCFI14:
|
|
|
1588 .cfi_def_cfa_offset 20
|
|
|
1589 .cfi_offset 4, -20
|
|
|
1590 .cfi_offset 5, -16
|
|
|
1591 .cfi_offset 6, -12
|
|
|
1592 .cfi_offset 7, -8
|
|
|
1593 .cfi_offset 14, -4
|
|
|
1594 0002 85B0 sub sp, sp, #20
|
|
|
1595 .LCFI15:
|
|
|
1596 .cfi_def_cfa_offset 40
|
|
|
1597 0004 0400 movs r4, r0
|
|
|
1598 0006 0D00 movs r5, r1
|
|
|
1599 0008 1700 movs r7, r2
|
|
|
1600 000a 0393 str r3, [sp, #12]
|
|
|
1601 .LVL128:
|
|
|
632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1602 .loc 1 632 0
|
|
|
1603 000c 4123 movs r3, #65
|
|
|
1604 .LVL129:
|
|
|
1605 000e C35C ldrb r3, [r0, r3]
|
|
|
1606 0010 202B cmp r3, #32
|
|
|
1607 0012 00D0 beq .LCB1634
|
|
|
1608 0014 BDE0 b .L147 @long jump
|
|
|
1609 .LCB1634:
|
|
|
635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1610 .loc 1 635 0
|
|
|
1611 0016 2033 adds r3, r3, #32
|
|
|
1612 0018 C35C ldrb r3, [r0, r3]
|
|
|
1613 001a 012B cmp r3, #1
|
|
|
1614 001c 00D1 bne .LCB1638
|
|
|
1615 001e BBE0 b .L148 @long jump
|
|
|
1616 .LCB1638:
|
|
|
635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1617 .loc 1 635 0 is_stmt 0 discriminator 2
|
|
|
1618 0020 4023 movs r3, #64
|
|
|
1619 0022 0122 movs r2, #1
|
|
|
1620 .LVL130:
|
|
|
1621 0024 C254 strb r2, [r0, r3]
|
|
|
638:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1622 .loc 1 638 0 is_stmt 1 discriminator 2
|
|
|
1623 0026 FFF7FEFF bl HAL_GetTick
|
|
|
1624 .LVL131:
|
|
|
1625 002a 0600 movs r6, r0
|
|
|
1626 .LVL132:
|
|
|
1627 .L137:
|
|
|
1628 .LBB164:
|
|
|
1629 .LBB165:
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1630 .loc 1 4487 0
|
|
|
1631 002c 2368 ldr r3, [r4]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 118
|
|
|
|
|
|
|
|
|
1632 002e 9A69 ldr r2, [r3, #24]
|
|
|
1633 0030 1204 lsls r2, r2, #16
|
|
|
1634 0032 0ED5 bpl .L152
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1635 .loc 1 4492 0
|
|
|
1636 0034 FFF7FEFF bl HAL_GetTick
|
|
|
1637 .LVL133:
|
|
|
1638 0038 801B subs r0, r0, r6
|
|
|
1639 003a 1928 cmp r0, #25
|
|
|
1640 003c F6D9 bls .L137
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1641 .loc 1 4494 0
|
|
|
1642 003e 4123 movs r3, #65
|
|
|
1643 0040 2022 movs r2, #32
|
|
|
1644 0042 E254 strb r2, [r4, r3]
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1645 .loc 1 4495 0
|
|
|
1646 0044 0023 movs r3, #0
|
|
|
1647 0046 2232 adds r2, r2, #34
|
|
|
1648 0048 A354 strb r3, [r4, r2]
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
1649 .loc 1 4498 0
|
|
|
1650 004a 023A subs r2, r2, #2
|
|
|
1651 004c A354 strb r3, [r4, r2]
|
|
|
1652 .LVL134:
|
|
|
1653 .LBE165:
|
|
|
1654 .LBE164:
|
|
|
642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1655 .loc 1 642 0
|
|
|
1656 004e 0320 movs r0, #3
|
|
|
1657 0050 A0E0 b .L136
|
|
|
1658 .LVL135:
|
|
|
1659 .L152:
|
|
|
645:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
1660 .loc 1 645 0
|
|
|
1661 0052 4122 movs r2, #65
|
|
|
1662 0054 2121 movs r1, #33
|
|
|
1663 0056 A154 strb r1, [r4, r2]
|
|
|
646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
1664 .loc 1 646 0
|
|
|
1665 0058 0132 adds r2, r2, #1
|
|
|
1666 005a 1139 subs r1, r1, #17
|
|
|
1667 005c A154 strb r1, [r4, r2]
|
|
|
647:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1668 .loc 1 647 0
|
|
|
1669 005e 0022 movs r2, #0
|
|
|
1670 0060 6264 str r2, [r4, #68]
|
|
|
650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
1671 .loc 1 650 0
|
|
|
1672 0062 6762 str r7, [r4, #36]
|
|
|
651:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
1673 .loc 1 651 0
|
|
|
1674 0064 6946 mov r1, sp
|
|
|
1675 0066 8989 ldrh r1, [r1, #12]
|
|
|
1676 0068 6185 strh r1, [r4, #42]
|
|
|
652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1677 .loc 1 652 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 119
|
|
|
|
|
|
|
|
|
1678 006a 6263 str r2, [r4, #52]
|
|
|
656:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1679 .loc 1 656 0
|
|
|
1680 006c 628D ldrh r2, [r4, #42]
|
|
|
1681 006e 92B2 uxth r2, r2
|
|
|
1682 0070 FF2A cmp r2, #255
|
|
|
1683 0072 0ED9 bls .L139
|
|
|
658:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRIT
|
|
|
1684 .loc 1 658 0
|
|
|
1685 0074 FF22 movs r2, #255
|
|
|
1686 0076 2285 strh r2, [r4, #40]
|
|
|
1687 .LVL136:
|
|
|
1688 .LBB166:
|
|
|
1689 .LBB167:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
1690 .loc 1 4713 0
|
|
|
1691 0078 5A68 ldr r2, [r3, #4]
|
|
|
1692 007a 4B49 ldr r1, .L155
|
|
|
1693 007c 0A40 ands r2, r1
|
|
|
1694 007e A805 lsls r0, r5, #22
|
|
|
1695 0080 800D lsrs r0, r0, #22
|
|
|
1696 0082 FF21 movs r1, #255
|
|
|
1697 0084 0904 lsls r1, r1, #16
|
|
|
1698 0086 0843 orrs r0, r1
|
|
|
1699 0088 4849 ldr r1, .L155+4
|
|
|
1700 008a 0143 orrs r1, r0
|
|
|
1701 008c 0A43 orrs r2, r1
|
|
|
1702 008e 5A60 str r2, [r3, #4]
|
|
|
1703 0090 26E0 b .L144
|
|
|
1704 .LVL137:
|
|
|
1705 .L139:
|
|
|
1706 .LBE167:
|
|
|
1707 .LBE166:
|
|
|
663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_WRI
|
|
|
1708 .loc 1 663 0
|
|
|
1709 0092 628D ldrh r2, [r4, #42]
|
|
|
1710 0094 92B2 uxth r2, r2
|
|
|
1711 0096 2285 strh r2, [r4, #40]
|
|
|
664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1712 .loc 1 664 0
|
|
|
1713 0098 D2B2 uxtb r2, r2
|
|
|
1714 .LVL138:
|
|
|
1715 .LBB168:
|
|
|
1716 .LBB169:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
1717 .loc 1 4713 0
|
|
|
1718 009a 5968 ldr r1, [r3, #4]
|
|
|
1719 009c 4248 ldr r0, .L155
|
|
|
1720 009e 0140 ands r1, r0
|
|
|
1721 00a0 A805 lsls r0, r5, #22
|
|
|
1722 00a2 800D lsrs r0, r0, #22
|
|
|
1723 00a4 1204 lsls r2, r2, #16
|
|
|
1724 .LVL139:
|
|
|
1725 00a6 0243 orrs r2, r0
|
|
|
1726 00a8 4148 ldr r0, .L155+8
|
|
|
1727 00aa 0243 orrs r2, r0
|
|
|
1728 00ac 0A43 orrs r2, r1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 120
|
|
|
|
|
|
|
|
|
1729 00ae 5A60 str r2, [r3, #4]
|
|
|
1730 .LVL140:
|
|
|
1731 00b0 16E0 b .L144
|
|
|
1732 .LVL141:
|
|
|
1733 .L154:
|
|
|
1734 .LBE169:
|
|
|
1735 .LBE168:
|
|
|
672:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1736 .loc 1 672 0
|
|
|
1737 00b2 636C ldr r3, [r4, #68]
|
|
|
1738 00b4 042B cmp r3, #4
|
|
|
1739 00b6 00D0 beq .LCB1796
|
|
|
1740 00b8 70E0 b .L149 @long jump
|
|
|
1741 .LCB1796:
|
|
|
674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1742 .loc 1 674 0
|
|
|
1743 00ba 0120 movs r0, #1
|
|
|
1744 00bc 6AE0 b .L136
|
|
|
1745 .L143:
|
|
|
701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
1746 .loc 1 701 0
|
|
|
1747 00be 638D ldrh r3, [r4, #42]
|
|
|
1748 00c0 9BB2 uxth r3, r3
|
|
|
1749 00c2 2385 strh r3, [r4, #40]
|
|
|
702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1750 .loc 1 702 0
|
|
|
1751 00c4 DBB2 uxtb r3, r3
|
|
|
1752 .LVL142:
|
|
|
1753 .LBB170:
|
|
|
1754 .LBB171:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
1755 .loc 1 4713 0
|
|
|
1756 00c6 2068 ldr r0, [r4]
|
|
|
1757 00c8 4268 ldr r2, [r0, #4]
|
|
|
1758 00ca 3A49 ldr r1, .L155+12
|
|
|
1759 00cc 0A40 ands r2, r1
|
|
|
1760 00ce A905 lsls r1, r5, #22
|
|
|
1761 00d0 890D lsrs r1, r1, #22
|
|
|
1762 00d2 1B04 lsls r3, r3, #16
|
|
|
1763 .LVL143:
|
|
|
1764 00d4 0B43 orrs r3, r1
|
|
|
1765 00d6 8021 movs r1, #128
|
|
|
1766 00d8 8904 lsls r1, r1, #18
|
|
|
1767 00da 0B43 orrs r3, r1
|
|
|
1768 00dc 1343 orrs r3, r2
|
|
|
1769 00de 4360 str r3, [r0, #4]
|
|
|
1770 .LVL144:
|
|
|
1771 .L144:
|
|
|
1772 .LBE171:
|
|
|
1773 .LBE170:
|
|
|
667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1774 .loc 1 667 0
|
|
|
1775 00e0 638D ldrh r3, [r4, #42]
|
|
|
1776 00e2 9BB2 uxth r3, r3
|
|
|
1777 00e4 002B cmp r3, #0
|
|
|
1778 00e6 38D0 beq .L153
|
|
|
670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 121
|
|
|
|
|
|
|
|
|
1779 .loc 1 670 0
|
|
|
1780 00e8 3200 movs r2, r6
|
|
|
1781 00ea 0A99 ldr r1, [sp, #40]
|
|
|
1782 00ec 2000 movs r0, r4
|
|
|
1783 00ee FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
1784 .LVL145:
|
|
|
1785 00f2 0028 cmp r0, #0
|
|
|
1786 00f4 DDD1 bne .L154
|
|
|
682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
1787 .loc 1 682 0
|
|
|
1788 00f6 636A ldr r3, [r4, #36]
|
|
|
1789 00f8 5A1C adds r2, r3, #1
|
|
|
1790 00fa 6262 str r2, [r4, #36]
|
|
|
1791 00fc 2268 ldr r2, [r4]
|
|
|
1792 00fe 1B78 ldrb r3, [r3]
|
|
|
1793 0100 9362 str r3, [r2, #40]
|
|
|
683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
1794 .loc 1 683 0
|
|
|
1795 0102 638D ldrh r3, [r4, #42]
|
|
|
1796 0104 013B subs r3, r3, #1
|
|
|
1797 0106 9BB2 uxth r3, r3
|
|
|
1798 0108 6385 strh r3, [r4, #42]
|
|
|
684:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1799 .loc 1 684 0
|
|
|
1800 010a 238D ldrh r3, [r4, #40]
|
|
|
1801 010c 013B subs r3, r3, #1
|
|
|
1802 010e 9BB2 uxth r3, r3
|
|
|
1803 0110 2385 strh r3, [r4, #40]
|
|
|
686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1804 .loc 1 686 0
|
|
|
1805 0112 002B cmp r3, #0
|
|
|
1806 0114 E4D1 bne .L144
|
|
|
686:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1807 .loc 1 686 0 is_stmt 0 discriminator 1
|
|
|
1808 0116 638D ldrh r3, [r4, #42]
|
|
|
1809 0118 9BB2 uxth r3, r3
|
|
|
1810 011a 002B cmp r3, #0
|
|
|
1811 011c E0D0 beq .L144
|
|
|
689:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1812 .loc 1 689 0 is_stmt 1
|
|
|
1813 011e 0096 str r6, [sp]
|
|
|
1814 0120 0A9B ldr r3, [sp, #40]
|
|
|
1815 0122 0022 movs r2, #0
|
|
|
1816 0124 8021 movs r1, #128
|
|
|
1817 0126 2000 movs r0, r4
|
|
|
1818 0128 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
1819 .LVL146:
|
|
|
1820 012c 0028 cmp r0, #0
|
|
|
1821 012e 37D1 bne .L150
|
|
|
694:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1822 .loc 1 694 0
|
|
|
1823 0130 638D ldrh r3, [r4, #42]
|
|
|
1824 0132 9BB2 uxth r3, r3
|
|
|
1825 0134 FF2B cmp r3, #255
|
|
|
1826 0136 C2D9 bls .L143
|
|
|
696:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
1827 .loc 1 696 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 122
|
|
|
|
|
|
|
|
|
1828 0138 FF23 movs r3, #255
|
|
|
1829 013a 2385 strh r3, [r4, #40]
|
|
|
1830 .LVL147:
|
|
|
1831 .LBB172:
|
|
|
1832 .LBB173:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
1833 .loc 1 4713 0
|
|
|
1834 013c 2068 ldr r0, [r4]
|
|
|
1835 013e 4368 ldr r3, [r0, #4]
|
|
|
1836 0140 1C4A ldr r2, .L155+12
|
|
|
1837 0142 1340 ands r3, r2
|
|
|
1838 0144 A905 lsls r1, r5, #22
|
|
|
1839 0146 890D lsrs r1, r1, #22
|
|
|
1840 0148 FF22 movs r2, #255
|
|
|
1841 014a 1204 lsls r2, r2, #16
|
|
|
1842 014c 1143 orrs r1, r2
|
|
|
1843 014e 8022 movs r2, #128
|
|
|
1844 0150 5204 lsls r2, r2, #17
|
|
|
1845 0152 0A43 orrs r2, r1
|
|
|
1846 0154 1343 orrs r3, r2
|
|
|
1847 0156 4360 str r3, [r0, #4]
|
|
|
1848 0158 C2E7 b .L144
|
|
|
1849 .LVL148:
|
|
|
1850 .L153:
|
|
|
1851 .LBE173:
|
|
|
1852 .LBE172:
|
|
|
709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1853 .loc 1 709 0
|
|
|
1854 015a 3200 movs r2, r6
|
|
|
1855 015c 0A99 ldr r1, [sp, #40]
|
|
|
1856 015e 2000 movs r0, r4
|
|
|
1857 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
1858 .LVL149:
|
|
|
1859 0164 0028 cmp r0, #0
|
|
|
1860 0166 04D0 beq .L146
|
|
|
711:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1861 .loc 1 711 0
|
|
|
1862 0168 636C ldr r3, [r4, #68]
|
|
|
1863 016a 042B cmp r3, #4
|
|
|
1864 016c 1AD1 bne .L151
|
|
|
713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1865 .loc 1 713 0
|
|
|
1866 016e 0120 movs r0, #1
|
|
|
1867 0170 10E0 b .L136
|
|
|
1868 .L146:
|
|
|
722:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1869 .loc 1 722 0
|
|
|
1870 0172 2368 ldr r3, [r4]
|
|
|
1871 0174 2022 movs r2, #32
|
|
|
1872 0176 DA61 str r2, [r3, #28]
|
|
|
725:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1873 .loc 1 725 0
|
|
|
1874 0178 2168 ldr r1, [r4]
|
|
|
1875 017a 4B68 ldr r3, [r1, #4]
|
|
|
1876 017c 0E4D ldr r5, .L155+16
|
|
|
1877 017e 2B40 ands r3, r5
|
|
|
1878 0180 4B60 str r3, [r1, #4]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 123
|
|
|
|
|
|
|
|
|
727:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
1879 .loc 1 727 0
|
|
|
1880 0182 4123 movs r3, #65
|
|
|
1881 0184 E254 strb r2, [r4, r3]
|
|
|
728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1882 .loc 1 728 0
|
|
|
1883 0186 0023 movs r3, #0
|
|
|
1884 0188 2232 adds r2, r2, #34
|
|
|
1885 018a A354 strb r3, [r4, r2]
|
|
|
731:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1886 .loc 1 731 0
|
|
|
1887 018c 023A subs r2, r2, #2
|
|
|
1888 018e A354 strb r3, [r4, r2]
|
|
|
733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1889 .loc 1 733 0
|
|
|
1890 0190 00E0 b .L136
|
|
|
1891 .LVL150:
|
|
|
1892 .L147:
|
|
|
737:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1893 .loc 1 737 0
|
|
|
1894 0192 0220 movs r0, #2
|
|
|
1895 .LVL151:
|
|
|
1896 .L136:
|
|
|
739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1897 .loc 1 739 0
|
|
|
1898 0194 05B0 add sp, sp, #20
|
|
|
1899 @ sp needed
|
|
|
1900 .LVL152:
|
|
|
1901 .LVL153:
|
|
|
1902 0196 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
1903 .LVL154:
|
|
|
1904 .L148:
|
|
|
635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1905 .loc 1 635 0
|
|
|
1906 0198 0220 movs r0, #2
|
|
|
1907 .LVL155:
|
|
|
1908 019a FBE7 b .L136
|
|
|
1909 .LVL156:
|
|
|
1910 .L149:
|
|
|
678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1911 .loc 1 678 0
|
|
|
1912 019c 0320 movs r0, #3
|
|
|
1913 019e F9E7 b .L136
|
|
|
1914 .L150:
|
|
|
691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1915 .loc 1 691 0
|
|
|
1916 01a0 0320 movs r0, #3
|
|
|
1917 01a2 F7E7 b .L136
|
|
|
1918 .L151:
|
|
|
717:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
1919 .loc 1 717 0
|
|
|
1920 01a4 0320 movs r0, #3
|
|
|
1921 01a6 F5E7 b .L136
|
|
|
1922 .L156:
|
|
|
1923 .align 2
|
|
|
1924 .L155:
|
|
|
1925 01a8 009800FC .word -67069952
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 124
|
|
|
|
|
|
|
|
|
1926 01ac 00200081 .word -2130698240
|
|
|
1927 01b0 00200082 .word -2113921024
|
|
|
1928 01b4 009C00FC .word -67068928
|
|
|
1929 01b8 00E800FE .word -33495040
|
|
|
1930 .cfi_endproc
|
|
|
1931 .LFE43:
|
|
|
1933 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
|
|
|
1934 .align 1
|
|
|
1935 .global HAL_I2C_Master_Receive
|
|
|
1936 .syntax unified
|
|
|
1937 .code 16
|
|
|
1938 .thumb_func
|
|
|
1939 .fpu softvfp
|
|
|
1941 HAL_I2C_Master_Receive:
|
|
|
1942 .LFB44:
|
|
|
753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
1943 .loc 1 753 0
|
|
|
1944 .cfi_startproc
|
|
|
1945 @ args = 4, pretend = 0, frame = 8
|
|
|
1946 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
1947 .LVL157:
|
|
|
1948 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
1949 .LCFI16:
|
|
|
1950 .cfi_def_cfa_offset 20
|
|
|
1951 .cfi_offset 4, -20
|
|
|
1952 .cfi_offset 5, -16
|
|
|
1953 .cfi_offset 6, -12
|
|
|
1954 .cfi_offset 7, -8
|
|
|
1955 .cfi_offset 14, -4
|
|
|
1956 0002 85B0 sub sp, sp, #20
|
|
|
1957 .LCFI17:
|
|
|
1958 .cfi_def_cfa_offset 40
|
|
|
1959 0004 0400 movs r4, r0
|
|
|
1960 0006 0D00 movs r5, r1
|
|
|
1961 0008 1700 movs r7, r2
|
|
|
1962 000a 0393 str r3, [sp, #12]
|
|
|
1963 .LVL158:
|
|
|
756:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1964 .loc 1 756 0
|
|
|
1965 000c 4123 movs r3, #65
|
|
|
1966 .LVL159:
|
|
|
1967 000e C35C ldrb r3, [r0, r3]
|
|
|
1968 0010 202B cmp r3, #32
|
|
|
1969 0012 00D0 beq .LCB2059
|
|
|
1970 0014 BDE0 b .L169 @long jump
|
|
|
1971 .LCB2059:
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1972 .loc 1 759 0
|
|
|
1973 0016 2033 adds r3, r3, #32
|
|
|
1974 0018 C35C ldrb r3, [r0, r3]
|
|
|
1975 001a 012B cmp r3, #1
|
|
|
1976 001c 00D1 bne .LCB2063
|
|
|
1977 001e BBE0 b .L170 @long jump
|
|
|
1978 .LCB2063:
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1979 .loc 1 759 0 is_stmt 0 discriminator 2
|
|
|
1980 0020 4023 movs r3, #64
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 125
|
|
|
|
|
|
|
|
|
1981 0022 0122 movs r2, #1
|
|
|
1982 .LVL160:
|
|
|
1983 0024 C254 strb r2, [r0, r3]
|
|
|
762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
1984 .loc 1 762 0 is_stmt 1 discriminator 2
|
|
|
1985 0026 FFF7FEFF bl HAL_GetTick
|
|
|
1986 .LVL161:
|
|
|
1987 002a 0600 movs r6, r0
|
|
|
1988 .LVL162:
|
|
|
1989 .L159:
|
|
|
1990 .LBB174:
|
|
|
1991 .LBB175:
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1992 .loc 1 4487 0
|
|
|
1993 002c 2368 ldr r3, [r4]
|
|
|
1994 002e 9A69 ldr r2, [r3, #24]
|
|
|
1995 0030 1204 lsls r2, r2, #16
|
|
|
1996 0032 0ED5 bpl .L174
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
1997 .loc 1 4492 0
|
|
|
1998 0034 FFF7FEFF bl HAL_GetTick
|
|
|
1999 .LVL163:
|
|
|
2000 0038 801B subs r0, r0, r6
|
|
|
2001 003a 1928 cmp r0, #25
|
|
|
2002 003c F6D9 bls .L159
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2003 .loc 1 4494 0
|
|
|
2004 003e 4123 movs r3, #65
|
|
|
2005 0040 2022 movs r2, #32
|
|
|
2006 0042 E254 strb r2, [r4, r3]
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2007 .loc 1 4495 0
|
|
|
2008 0044 0023 movs r3, #0
|
|
|
2009 0046 2232 adds r2, r2, #34
|
|
|
2010 0048 A354 strb r3, [r4, r2]
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2011 .loc 1 4498 0
|
|
|
2012 004a 023A subs r2, r2, #2
|
|
|
2013 004c A354 strb r3, [r4, r2]
|
|
|
2014 .LVL164:
|
|
|
2015 .LBE175:
|
|
|
2016 .LBE174:
|
|
|
766:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2017 .loc 1 766 0
|
|
|
2018 004e 0320 movs r0, #3
|
|
|
2019 0050 A0E0 b .L158
|
|
|
2020 .LVL165:
|
|
|
2021 .L174:
|
|
|
769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
2022 .loc 1 769 0
|
|
|
2023 0052 4122 movs r2, #65
|
|
|
2024 0054 2221 movs r1, #34
|
|
|
2025 0056 A154 strb r1, [r4, r2]
|
|
|
770:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2026 .loc 1 770 0
|
|
|
2027 0058 0132 adds r2, r2, #1
|
|
|
2028 005a 1239 subs r1, r1, #18
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 126
|
|
|
|
|
|
|
|
|
2029 005c A154 strb r1, [r4, r2]
|
|
|
771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2030 .loc 1 771 0
|
|
|
2031 005e 0022 movs r2, #0
|
|
|
2032 0060 6264 str r2, [r4, #68]
|
|
|
774:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2033 .loc 1 774 0
|
|
|
2034 0062 6762 str r7, [r4, #36]
|
|
|
775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
2035 .loc 1 775 0
|
|
|
2036 0064 6946 mov r1, sp
|
|
|
2037 0066 8989 ldrh r1, [r1, #12]
|
|
|
2038 0068 6185 strh r1, [r4, #42]
|
|
|
776:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2039 .loc 1 776 0
|
|
|
2040 006a 6263 str r2, [r4, #52]
|
|
|
780:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2041 .loc 1 780 0
|
|
|
2042 006c 628D ldrh r2, [r4, #42]
|
|
|
2043 006e 92B2 uxth r2, r2
|
|
|
2044 0070 FF2A cmp r2, #255
|
|
|
2045 0072 0ED9 bls .L161
|
|
|
782:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ
|
|
|
2046 .loc 1 782 0
|
|
|
2047 0074 FF22 movs r2, #255
|
|
|
2048 0076 2285 strh r2, [r4, #40]
|
|
|
2049 .LVL166:
|
|
|
2050 .LBB176:
|
|
|
2051 .LBB177:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
2052 .loc 1 4713 0
|
|
|
2053 0078 5A68 ldr r2, [r3, #4]
|
|
|
2054 007a 4B49 ldr r1, .L177
|
|
|
2055 007c 0A40 ands r2, r1
|
|
|
2056 007e A805 lsls r0, r5, #22
|
|
|
2057 0080 800D lsrs r0, r0, #22
|
|
|
2058 0082 FF21 movs r1, #255
|
|
|
2059 0084 0904 lsls r1, r1, #16
|
|
|
2060 0086 0843 orrs r0, r1
|
|
|
2061 0088 4849 ldr r1, .L177+4
|
|
|
2062 008a 0143 orrs r1, r0
|
|
|
2063 008c 0A43 orrs r2, r1
|
|
|
2064 008e 5A60 str r2, [r3, #4]
|
|
|
2065 0090 26E0 b .L166
|
|
|
2066 .LVL167:
|
|
|
2067 .L161:
|
|
|
2068 .LBE177:
|
|
|
2069 .LBE176:
|
|
|
787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_REA
|
|
|
2070 .loc 1 787 0
|
|
|
2071 0092 628D ldrh r2, [r4, #42]
|
|
|
2072 0094 92B2 uxth r2, r2
|
|
|
2073 0096 2285 strh r2, [r4, #40]
|
|
|
788:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2074 .loc 1 788 0
|
|
|
2075 0098 D2B2 uxtb r2, r2
|
|
|
2076 .LVL168:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 127
|
|
|
|
|
|
|
|
|
2077 .LBB178:
|
|
|
2078 .LBB179:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
2079 .loc 1 4713 0
|
|
|
2080 009a 5968 ldr r1, [r3, #4]
|
|
|
2081 009c 4248 ldr r0, .L177
|
|
|
2082 009e 0140 ands r1, r0
|
|
|
2083 00a0 A805 lsls r0, r5, #22
|
|
|
2084 00a2 800D lsrs r0, r0, #22
|
|
|
2085 00a4 1204 lsls r2, r2, #16
|
|
|
2086 .LVL169:
|
|
|
2087 00a6 0243 orrs r2, r0
|
|
|
2088 00a8 4148 ldr r0, .L177+8
|
|
|
2089 00aa 0243 orrs r2, r0
|
|
|
2090 00ac 0A43 orrs r2, r1
|
|
|
2091 00ae 5A60 str r2, [r3, #4]
|
|
|
2092 .LVL170:
|
|
|
2093 00b0 16E0 b .L166
|
|
|
2094 .LVL171:
|
|
|
2095 .L176:
|
|
|
2096 .LBE179:
|
|
|
2097 .LBE178:
|
|
|
796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2098 .loc 1 796 0
|
|
|
2099 00b2 636C ldr r3, [r4, #68]
|
|
|
2100 00b4 042B cmp r3, #4
|
|
|
2101 00b6 00D0 beq .LCB2221
|
|
|
2102 00b8 70E0 b .L171 @long jump
|
|
|
2103 .LCB2221:
|
|
|
798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2104 .loc 1 798 0
|
|
|
2105 00ba 0120 movs r0, #1
|
|
|
2106 00bc 6AE0 b .L158
|
|
|
2107 .L165:
|
|
|
826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
2108 .loc 1 826 0
|
|
|
2109 00be 638D ldrh r3, [r4, #42]
|
|
|
2110 00c0 9BB2 uxth r3, r3
|
|
|
2111 00c2 2385 strh r3, [r4, #40]
|
|
|
827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2112 .loc 1 827 0
|
|
|
2113 00c4 DBB2 uxtb r3, r3
|
|
|
2114 .LVL172:
|
|
|
2115 .LBB180:
|
|
|
2116 .LBB181:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
2117 .loc 1 4713 0
|
|
|
2118 00c6 2068 ldr r0, [r4]
|
|
|
2119 00c8 4268 ldr r2, [r0, #4]
|
|
|
2120 00ca 3A49 ldr r1, .L177+12
|
|
|
2121 00cc 0A40 ands r2, r1
|
|
|
2122 00ce A905 lsls r1, r5, #22
|
|
|
2123 00d0 890D lsrs r1, r1, #22
|
|
|
2124 00d2 1B04 lsls r3, r3, #16
|
|
|
2125 .LVL173:
|
|
|
2126 00d4 0B43 orrs r3, r1
|
|
|
2127 00d6 8021 movs r1, #128
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 128
|
|
|
|
|
|
|
|
|
2128 00d8 8904 lsls r1, r1, #18
|
|
|
2129 00da 0B43 orrs r3, r1
|
|
|
2130 00dc 1343 orrs r3, r2
|
|
|
2131 00de 4360 str r3, [r0, #4]
|
|
|
2132 .LVL174:
|
|
|
2133 .L166:
|
|
|
2134 .LBE181:
|
|
|
2135 .LBE180:
|
|
|
791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2136 .loc 1 791 0
|
|
|
2137 00e0 638D ldrh r3, [r4, #42]
|
|
|
2138 00e2 9BB2 uxth r3, r3
|
|
|
2139 00e4 002B cmp r3, #0
|
|
|
2140 00e6 38D0 beq .L175
|
|
|
794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2141 .loc 1 794 0
|
|
|
2142 00e8 3200 movs r2, r6
|
|
|
2143 00ea 0A99 ldr r1, [sp, #40]
|
|
|
2144 00ec 2000 movs r0, r4
|
|
|
2145 00ee FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
|
|
|
2146 .LVL175:
|
|
|
2147 00f2 0028 cmp r0, #0
|
|
|
2148 00f4 DDD1 bne .L176
|
|
|
807:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
2149 .loc 1 807 0
|
|
|
2150 00f6 2368 ldr r3, [r4]
|
|
|
2151 00f8 5A6A ldr r2, [r3, #36]
|
|
|
2152 00fa 636A ldr r3, [r4, #36]
|
|
|
2153 00fc 591C adds r1, r3, #1
|
|
|
2154 00fe 6162 str r1, [r4, #36]
|
|
|
2155 0100 1A70 strb r2, [r3]
|
|
|
808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
2156 .loc 1 808 0
|
|
|
2157 0102 238D ldrh r3, [r4, #40]
|
|
|
2158 0104 013B subs r3, r3, #1
|
|
|
2159 0106 9BB2 uxth r3, r3
|
|
|
2160 0108 2385 strh r3, [r4, #40]
|
|
|
809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2161 .loc 1 809 0
|
|
|
2162 010a 628D ldrh r2, [r4, #42]
|
|
|
2163 010c 013A subs r2, r2, #1
|
|
|
2164 010e 92B2 uxth r2, r2
|
|
|
2165 0110 6285 strh r2, [r4, #42]
|
|
|
811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2166 .loc 1 811 0
|
|
|
2167 0112 002B cmp r3, #0
|
|
|
2168 0114 E4D1 bne .L166
|
|
|
811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2169 .loc 1 811 0 is_stmt 0 discriminator 1
|
|
|
2170 0116 638D ldrh r3, [r4, #42]
|
|
|
2171 0118 9BB2 uxth r3, r3
|
|
|
2172 011a 002B cmp r3, #0
|
|
|
2173 011c E0D0 beq .L166
|
|
|
814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2174 .loc 1 814 0 is_stmt 1
|
|
|
2175 011e 0096 str r6, [sp]
|
|
|
2176 0120 0A9B ldr r3, [sp, #40]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 129
|
|
|
|
|
|
|
|
|
2177 0122 0022 movs r2, #0
|
|
|
2178 0124 8021 movs r1, #128
|
|
|
2179 0126 2000 movs r0, r4
|
|
|
2180 0128 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2181 .LVL176:
|
|
|
2182 012c 0028 cmp r0, #0
|
|
|
2183 012e 37D1 bne .L172
|
|
|
819:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2184 .loc 1 819 0
|
|
|
2185 0130 638D ldrh r3, [r4, #42]
|
|
|
2186 0132 9BB2 uxth r3, r3
|
|
|
2187 0134 FF2B cmp r3, #255
|
|
|
2188 0136 C2D9 bls .L165
|
|
|
821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
2189 .loc 1 821 0
|
|
|
2190 0138 FF23 movs r3, #255
|
|
|
2191 013a 2385 strh r3, [r4, #40]
|
|
|
2192 .LVL177:
|
|
|
2193 .LBB182:
|
|
|
2194 .LBB183:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
2195 .loc 1 4713 0
|
|
|
2196 013c 2068 ldr r0, [r4]
|
|
|
2197 013e 4368 ldr r3, [r0, #4]
|
|
|
2198 0140 1C4A ldr r2, .L177+12
|
|
|
2199 0142 1340 ands r3, r2
|
|
|
2200 0144 A905 lsls r1, r5, #22
|
|
|
2201 0146 890D lsrs r1, r1, #22
|
|
|
2202 0148 FF22 movs r2, #255
|
|
|
2203 014a 1204 lsls r2, r2, #16
|
|
|
2204 014c 1143 orrs r1, r2
|
|
|
2205 014e 8022 movs r2, #128
|
|
|
2206 0150 5204 lsls r2, r2, #17
|
|
|
2207 0152 0A43 orrs r2, r1
|
|
|
2208 0154 1343 orrs r3, r2
|
|
|
2209 0156 4360 str r3, [r0, #4]
|
|
|
2210 0158 C2E7 b .L166
|
|
|
2211 .LVL178:
|
|
|
2212 .L175:
|
|
|
2213 .LBE183:
|
|
|
2214 .LBE182:
|
|
|
834:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2215 .loc 1 834 0
|
|
|
2216 015a 3200 movs r2, r6
|
|
|
2217 015c 0A99 ldr r1, [sp, #40]
|
|
|
2218 015e 2000 movs r0, r4
|
|
|
2219 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
2220 .LVL179:
|
|
|
2221 0164 0028 cmp r0, #0
|
|
|
2222 0166 04D0 beq .L168
|
|
|
836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2223 .loc 1 836 0
|
|
|
2224 0168 636C ldr r3, [r4, #68]
|
|
|
2225 016a 042B cmp r3, #4
|
|
|
2226 016c 1AD1 bne .L173
|
|
|
838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2227 .loc 1 838 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 130
|
|
|
|
|
|
|
|
|
2228 016e 0120 movs r0, #1
|
|
|
2229 0170 10E0 b .L158
|
|
|
2230 .L168:
|
|
|
847:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2231 .loc 1 847 0
|
|
|
2232 0172 2368 ldr r3, [r4]
|
|
|
2233 0174 2022 movs r2, #32
|
|
|
2234 0176 DA61 str r2, [r3, #28]
|
|
|
850:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2235 .loc 1 850 0
|
|
|
2236 0178 2168 ldr r1, [r4]
|
|
|
2237 017a 4B68 ldr r3, [r1, #4]
|
|
|
2238 017c 0E4D ldr r5, .L177+16
|
|
|
2239 017e 2B40 ands r3, r5
|
|
|
2240 0180 4B60 str r3, [r1, #4]
|
|
|
852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2241 .loc 1 852 0
|
|
|
2242 0182 4123 movs r3, #65
|
|
|
2243 0184 E254 strb r2, [r4, r3]
|
|
|
853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2244 .loc 1 853 0
|
|
|
2245 0186 0023 movs r3, #0
|
|
|
2246 0188 2232 adds r2, r2, #34
|
|
|
2247 018a A354 strb r3, [r4, r2]
|
|
|
856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2248 .loc 1 856 0
|
|
|
2249 018c 023A subs r2, r2, #2
|
|
|
2250 018e A354 strb r3, [r4, r2]
|
|
|
858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2251 .loc 1 858 0
|
|
|
2252 0190 00E0 b .L158
|
|
|
2253 .LVL180:
|
|
|
2254 .L169:
|
|
|
862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2255 .loc 1 862 0
|
|
|
2256 0192 0220 movs r0, #2
|
|
|
2257 .LVL181:
|
|
|
2258 .L158:
|
|
|
864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2259 .loc 1 864 0
|
|
|
2260 0194 05B0 add sp, sp, #20
|
|
|
2261 @ sp needed
|
|
|
2262 .LVL182:
|
|
|
2263 .LVL183:
|
|
|
2264 0196 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
2265 .LVL184:
|
|
|
2266 .L170:
|
|
|
759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2267 .loc 1 759 0
|
|
|
2268 0198 0220 movs r0, #2
|
|
|
2269 .LVL185:
|
|
|
2270 019a FBE7 b .L158
|
|
|
2271 .LVL186:
|
|
|
2272 .L171:
|
|
|
802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2273 .loc 1 802 0
|
|
|
2274 019c 0320 movs r0, #3
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 131
|
|
|
|
|
|
|
|
|
2275 019e F9E7 b .L158
|
|
|
2276 .L172:
|
|
|
816:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2277 .loc 1 816 0
|
|
|
2278 01a0 0320 movs r0, #3
|
|
|
2279 01a2 F7E7 b .L158
|
|
|
2280 .L173:
|
|
|
842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2281 .loc 1 842 0
|
|
|
2282 01a4 0320 movs r0, #3
|
|
|
2283 01a6 F5E7 b .L158
|
|
|
2284 .L178:
|
|
|
2285 .align 2
|
|
|
2286 .L177:
|
|
|
2287 01a8 009800FC .word -67069952
|
|
|
2288 01ac 00240081 .word -2130697216
|
|
|
2289 01b0 00240082 .word -2113920000
|
|
|
2290 01b4 009C00FC .word -67068928
|
|
|
2291 01b8 00E800FE .word -33495040
|
|
|
2292 .cfi_endproc
|
|
|
2293 .LFE44:
|
|
|
2295 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
|
|
|
2296 .align 1
|
|
|
2297 .global HAL_I2C_Slave_Transmit
|
|
|
2298 .syntax unified
|
|
|
2299 .code 16
|
|
|
2300 .thumb_func
|
|
|
2301 .fpu softvfp
|
|
|
2303 HAL_I2C_Slave_Transmit:
|
|
|
2304 .LFB45:
|
|
|
876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2305 .loc 1 876 0
|
|
|
2306 .cfi_startproc
|
|
|
2307 @ args = 0, pretend = 0, frame = 8
|
|
|
2308 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2309 .LVL187:
|
|
|
2310 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
2311 .LCFI18:
|
|
|
2312 .cfi_def_cfa_offset 20
|
|
|
2313 .cfi_offset 4, -20
|
|
|
2314 .cfi_offset 5, -16
|
|
|
2315 .cfi_offset 6, -12
|
|
|
2316 .cfi_offset 7, -8
|
|
|
2317 .cfi_offset 14, -4
|
|
|
2318 0002 85B0 sub sp, sp, #20
|
|
|
2319 .LCFI19:
|
|
|
2320 .cfi_def_cfa_offset 40
|
|
|
2321 0004 0400 movs r4, r0
|
|
|
2322 0006 0D00 movs r5, r1
|
|
|
2323 0008 1600 movs r6, r2
|
|
|
2324 000a 0393 str r3, [sp, #12]
|
|
|
2325 .LVL188:
|
|
|
879:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2326 .loc 1 879 0
|
|
|
2327 000c 4123 movs r3, #65
|
|
|
2328 .LVL189:
|
|
|
2329 000e C35C ldrb r3, [r0, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 132
|
|
|
|
|
|
|
|
|
2330 0010 202B cmp r3, #32
|
|
|
2331 0012 00D0 beq .LCB2483
|
|
|
2332 0014 B5E0 b .L189 @long jump
|
|
|
2333 .LCB2483:
|
|
|
881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2334 .loc 1 881 0
|
|
|
2335 0016 0029 cmp r1, #0
|
|
|
2336 0018 00D1 bne .LCB2485
|
|
|
2337 001a B5E0 b .L190 @long jump
|
|
|
2338 .LCB2485:
|
|
|
881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2339 .loc 1 881 0 is_stmt 0 discriminator 1
|
|
|
2340 001c 002A cmp r2, #0
|
|
|
2341 001e 00D1 bne .LCB2487
|
|
|
2342 0020 B4E0 b .L191 @long jump
|
|
|
2343 .LCB2487:
|
|
|
886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2344 .loc 1 886 0 is_stmt 1
|
|
|
2345 0022 2033 adds r3, r3, #32
|
|
|
2346 0024 C35C ldrb r3, [r0, r3]
|
|
|
2347 0026 012B cmp r3, #1
|
|
|
2348 0028 00D1 bne .LCB2491
|
|
|
2349 002a B1E0 b .L192 @long jump
|
|
|
2350 .LCB2491:
|
|
|
886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2351 .loc 1 886 0 is_stmt 0 discriminator 2
|
|
|
2352 002c 4023 movs r3, #64
|
|
|
2353 002e 0122 movs r2, #1
|
|
|
2354 .LVL190:
|
|
|
2355 0030 C254 strb r2, [r0, r3]
|
|
|
889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2356 .loc 1 889 0 is_stmt 1 discriminator 2
|
|
|
2357 0032 FFF7FEFF bl HAL_GetTick
|
|
|
2358 .LVL191:
|
|
|
2359 0036 0700 movs r7, r0
|
|
|
2360 .LVL192:
|
|
|
891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
2361 .loc 1 891 0 discriminator 2
|
|
|
2362 0038 4123 movs r3, #65
|
|
|
2363 003a 2122 movs r2, #33
|
|
|
2364 003c E254 strb r2, [r4, r3]
|
|
|
892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2365 .loc 1 892 0 discriminator 2
|
|
|
2366 003e 0133 adds r3, r3, #1
|
|
|
2367 0040 013A subs r2, r2, #1
|
|
|
2368 0042 E254 strb r2, [r4, r3]
|
|
|
893:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2369 .loc 1 893 0 discriminator 2
|
|
|
2370 0044 0023 movs r3, #0
|
|
|
2371 0046 6364 str r3, [r4, #68]
|
|
|
896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2372 .loc 1 896 0 discriminator 2
|
|
|
2373 0048 6562 str r5, [r4, #36]
|
|
|
897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
2374 .loc 1 897 0 discriminator 2
|
|
|
2375 004a 6685 strh r6, [r4, #42]
|
|
|
898:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 133
|
|
|
|
|
|
|
|
|
2376 .loc 1 898 0 discriminator 2
|
|
|
2377 004c 6363 str r3, [r4, #52]
|
|
|
901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2378 .loc 1 901 0 discriminator 2
|
|
|
2379 004e 2268 ldr r2, [r4]
|
|
|
2380 0050 5368 ldr r3, [r2, #4]
|
|
|
2381 0052 5249 ldr r1, .L202
|
|
|
2382 0054 0B40 ands r3, r1
|
|
|
2383 0056 5360 str r3, [r2, #4]
|
|
|
904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2384 .loc 1 904 0 discriminator 2
|
|
|
2385 0058 0090 str r0, [sp]
|
|
|
2386 005a 039B ldr r3, [sp, #12]
|
|
|
2387 005c 0022 movs r2, #0
|
|
|
2388 005e 0821 movs r1, #8
|
|
|
2389 0060 2000 movs r0, r4
|
|
|
2390 .LVL193:
|
|
|
2391 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2392 .LVL194:
|
|
|
2393 0066 0028 cmp r0, #0
|
|
|
2394 0068 25D1 bne .L195
|
|
|
912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2395 .loc 1 912 0
|
|
|
2396 006a 2368 ldr r3, [r4]
|
|
|
2397 006c 0822 movs r2, #8
|
|
|
2398 006e DA61 str r2, [r3, #28]
|
|
|
915:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2399 .loc 1 915 0
|
|
|
2400 0070 E368 ldr r3, [r4, #12]
|
|
|
2401 0072 022B cmp r3, #2
|
|
|
2402 0074 27D0 beq .L196
|
|
|
2403 .L182:
|
|
|
930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2404 .loc 1 930 0
|
|
|
2405 0076 8021 movs r1, #128
|
|
|
2406 0078 0097 str r7, [sp]
|
|
|
2407 007a 039B ldr r3, [sp, #12]
|
|
|
2408 007c 0022 movs r2, #0
|
|
|
2409 007e 4902 lsls r1, r1, #9
|
|
|
2410 0080 2000 movs r0, r4
|
|
|
2411 0082 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2412 .LVL195:
|
|
|
2413 0086 0028 cmp r0, #0
|
|
|
2414 0088 32D1 bne .L197
|
|
|
2415 .L184:
|
|
|
937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2416 .loc 1 937 0
|
|
|
2417 008a 638D ldrh r3, [r4, #42]
|
|
|
2418 008c 9BB2 uxth r3, r3
|
|
|
2419 008e 002B cmp r3, #0
|
|
|
2420 0090 41D0 beq .L198
|
|
|
940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2421 .loc 1 940 0
|
|
|
2422 0092 3A00 movs r2, r7
|
|
|
2423 0094 0399 ldr r1, [sp, #12]
|
|
|
2424 0096 2000 movs r0, r4
|
|
|
2425 0098 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 134
|
|
|
|
|
|
|
|
|
2426 .LVL196:
|
|
|
2427 009c 0028 cmp r0, #0
|
|
|
2428 009e 2FD1 bne .L199
|
|
|
956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
2429 .loc 1 956 0
|
|
|
2430 00a0 636A ldr r3, [r4, #36]
|
|
|
2431 00a2 5A1C adds r2, r3, #1
|
|
|
2432 00a4 6262 str r2, [r4, #36]
|
|
|
2433 00a6 2268 ldr r2, [r4]
|
|
|
2434 00a8 1B78 ldrb r3, [r3]
|
|
|
2435 00aa 9362 str r3, [r2, #40]
|
|
|
957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2436 .loc 1 957 0
|
|
|
2437 00ac 638D ldrh r3, [r4, #42]
|
|
|
2438 00ae 013B subs r3, r3, #1
|
|
|
2439 00b0 9BB2 uxth r3, r3
|
|
|
2440 00b2 6385 strh r3, [r4, #42]
|
|
|
2441 00b4 E9E7 b .L184
|
|
|
2442 .L195:
|
|
|
907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2443 .loc 1 907 0
|
|
|
2444 00b6 2268 ldr r2, [r4]
|
|
|
2445 00b8 5168 ldr r1, [r2, #4]
|
|
|
2446 00ba 8023 movs r3, #128
|
|
|
2447 00bc 1B02 lsls r3, r3, #8
|
|
|
2448 00be 0B43 orrs r3, r1
|
|
|
2449 00c0 5360 str r3, [r2, #4]
|
|
|
908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2450 .loc 1 908 0
|
|
|
2451 00c2 0320 movs r0, #3
|
|
|
2452 00c4 5EE0 b .L180
|
|
|
2453 .L196:
|
|
|
918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2454 .loc 1 918 0
|
|
|
2455 00c6 0097 str r7, [sp]
|
|
|
2456 00c8 039B ldr r3, [sp, #12]
|
|
|
2457 00ca 0022 movs r2, #0
|
|
|
2458 00cc 0821 movs r1, #8
|
|
|
2459 00ce 2000 movs r0, r4
|
|
|
2460 00d0 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2461 .LVL197:
|
|
|
2462 00d4 0028 cmp r0, #0
|
|
|
2463 00d6 03D1 bne .L200
|
|
|
926:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2464 .loc 1 926 0
|
|
|
2465 00d8 2368 ldr r3, [r4]
|
|
|
2466 00da 0822 movs r2, #8
|
|
|
2467 00dc DA61 str r2, [r3, #28]
|
|
|
2468 00de CAE7 b .L182
|
|
|
2469 .L200:
|
|
|
921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2470 .loc 1 921 0
|
|
|
2471 00e0 2268 ldr r2, [r4]
|
|
|
2472 00e2 5168 ldr r1, [r2, #4]
|
|
|
2473 00e4 8023 movs r3, #128
|
|
|
2474 00e6 1B02 lsls r3, r3, #8
|
|
|
2475 00e8 0B43 orrs r3, r1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 135
|
|
|
|
|
|
|
|
|
2476 00ea 5360 str r3, [r2, #4]
|
|
|
922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2477 .loc 1 922 0
|
|
|
2478 00ec 0320 movs r0, #3
|
|
|
2479 00ee 49E0 b .L180
|
|
|
2480 .L197:
|
|
|
933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2481 .loc 1 933 0
|
|
|
2482 00f0 2268 ldr r2, [r4]
|
|
|
2483 00f2 5168 ldr r1, [r2, #4]
|
|
|
2484 00f4 8023 movs r3, #128
|
|
|
2485 00f6 1B02 lsls r3, r3, #8
|
|
|
2486 00f8 0B43 orrs r3, r1
|
|
|
2487 00fa 5360 str r3, [r2, #4]
|
|
|
934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2488 .loc 1 934 0
|
|
|
2489 00fc 0320 movs r0, #3
|
|
|
2490 00fe 41E0 b .L180
|
|
|
2491 .L199:
|
|
|
943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2492 .loc 1 943 0
|
|
|
2493 0100 2268 ldr r2, [r4]
|
|
|
2494 0102 5168 ldr r1, [r2, #4]
|
|
|
2495 0104 8023 movs r3, #128
|
|
|
2496 0106 1B02 lsls r3, r3, #8
|
|
|
2497 0108 0B43 orrs r3, r1
|
|
|
2498 010a 5360 str r3, [r2, #4]
|
|
|
945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2499 .loc 1 945 0
|
|
|
2500 010c 636C ldr r3, [r4, #68]
|
|
|
2501 010e 042B cmp r3, #4
|
|
|
2502 0110 40D1 bne .L193
|
|
|
947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2503 .loc 1 947 0
|
|
|
2504 0112 0120 movs r0, #1
|
|
|
2505 0114 36E0 b .L180
|
|
|
2506 .L198:
|
|
|
961:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2507 .loc 1 961 0
|
|
|
2508 0116 3A00 movs r2, r7
|
|
|
2509 0118 0399 ldr r1, [sp, #12]
|
|
|
2510 011a 2000 movs r0, r4
|
|
|
2511 011c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
2512 .LVL198:
|
|
|
2513 0120 0028 cmp r0, #0
|
|
|
2514 0122 0AD0 beq .L187
|
|
|
964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2515 .loc 1 964 0
|
|
|
2516 0124 2268 ldr r2, [r4]
|
|
|
2517 0126 5168 ldr r1, [r2, #4]
|
|
|
2518 0128 8023 movs r3, #128
|
|
|
2519 012a 1B02 lsls r3, r3, #8
|
|
|
2520 012c 0B43 orrs r3, r1
|
|
|
2521 012e 5360 str r3, [r2, #4]
|
|
|
966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2522 .loc 1 966 0
|
|
|
2523 0130 636C ldr r3, [r4, #68]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 136
|
|
|
|
|
|
|
|
|
2524 0132 042B cmp r3, #4
|
|
|
2525 0134 30D1 bne .L194
|
|
|
970:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2526 .loc 1 970 0
|
|
|
2527 0136 0023 movs r3, #0
|
|
|
2528 0138 6364 str r3, [r4, #68]
|
|
|
2529 .L187:
|
|
|
979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2530 .loc 1 979 0
|
|
|
2531 013a 2368 ldr r3, [r4]
|
|
|
2532 013c 2022 movs r2, #32
|
|
|
2533 013e DA61 str r2, [r3, #28]
|
|
|
982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2534 .loc 1 982 0
|
|
|
2535 0140 8021 movs r1, #128
|
|
|
2536 0142 0097 str r7, [sp]
|
|
|
2537 0144 039B ldr r3, [sp, #12]
|
|
|
2538 0146 1F3A subs r2, r2, #31
|
|
|
2539 0148 0902 lsls r1, r1, #8
|
|
|
2540 014a 2000 movs r0, r4
|
|
|
2541 014c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2542 .LVL199:
|
|
|
2543 0150 0028 cmp r0, #0
|
|
|
2544 0152 0ED1 bne .L201
|
|
|
990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2545 .loc 1 990 0
|
|
|
2546 0154 2268 ldr r2, [r4]
|
|
|
2547 0156 5168 ldr r1, [r2, #4]
|
|
|
2548 0158 8023 movs r3, #128
|
|
|
2549 015a 1B02 lsls r3, r3, #8
|
|
|
2550 015c 0B43 orrs r3, r1
|
|
|
2551 015e 5360 str r3, [r2, #4]
|
|
|
992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2552 .loc 1 992 0
|
|
|
2553 0160 4123 movs r3, #65
|
|
|
2554 0162 2022 movs r2, #32
|
|
|
2555 0164 E254 strb r2, [r4, r3]
|
|
|
993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2556 .loc 1 993 0
|
|
|
2557 0166 0023 movs r3, #0
|
|
|
2558 0168 2232 adds r2, r2, #34
|
|
|
2559 016a A354 strb r3, [r4, r2]
|
|
|
996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2560 .loc 1 996 0
|
|
|
2561 016c 023A subs r2, r2, #2
|
|
|
2562 016e A354 strb r3, [r4, r2]
|
|
|
998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2563 .loc 1 998 0
|
|
|
2564 0170 08E0 b .L180
|
|
|
2565 .L201:
|
|
|
985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2566 .loc 1 985 0
|
|
|
2567 0172 2268 ldr r2, [r4]
|
|
|
2568 0174 5168 ldr r1, [r2, #4]
|
|
|
2569 0176 8023 movs r3, #128
|
|
|
2570 0178 1B02 lsls r3, r3, #8
|
|
|
2571 017a 0B43 orrs r3, r1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 137
|
|
|
|
|
|
|
|
|
2572 017c 5360 str r3, [r2, #4]
|
|
|
986:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2573 .loc 1 986 0
|
|
|
2574 017e 0320 movs r0, #3
|
|
|
2575 0180 00E0 b .L180
|
|
|
2576 .LVL200:
|
|
|
2577 .L189:
|
|
|
1002:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2578 .loc 1 1002 0
|
|
|
2579 0182 0220 movs r0, #2
|
|
|
2580 .LVL201:
|
|
|
2581 .L180:
|
|
|
1004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2582 .loc 1 1004 0
|
|
|
2583 0184 05B0 add sp, sp, #20
|
|
|
2584 @ sp needed
|
|
|
2585 .LVL202:
|
|
|
2586 .LVL203:
|
|
|
2587 0186 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
2588 .LVL204:
|
|
|
2589 .L190:
|
|
|
883:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2590 .loc 1 883 0
|
|
|
2591 0188 0120 movs r0, #1
|
|
|
2592 .LVL205:
|
|
|
2593 018a FBE7 b .L180
|
|
|
2594 .LVL206:
|
|
|
2595 .L191:
|
|
|
2596 018c 0120 movs r0, #1
|
|
|
2597 .LVL207:
|
|
|
2598 018e F9E7 b .L180
|
|
|
2599 .LVL208:
|
|
|
2600 .L192:
|
|
|
886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2601 .loc 1 886 0
|
|
|
2602 0190 0220 movs r0, #2
|
|
|
2603 .LVL209:
|
|
|
2604 0192 F7E7 b .L180
|
|
|
2605 .LVL210:
|
|
|
2606 .L193:
|
|
|
951:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2607 .loc 1 951 0
|
|
|
2608 0194 0320 movs r0, #3
|
|
|
2609 0196 F5E7 b .L180
|
|
|
2610 .L194:
|
|
|
974:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2611 .loc 1 974 0
|
|
|
2612 0198 0320 movs r0, #3
|
|
|
2613 019a F3E7 b .L180
|
|
|
2614 .L203:
|
|
|
2615 .align 2
|
|
|
2616 .L202:
|
|
|
2617 019c FF7FFFFF .word -32769
|
|
|
2618 .cfi_endproc
|
|
|
2619 .LFE45:
|
|
|
2621 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
|
|
|
2622 .align 1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 138
|
|
|
|
|
|
|
|
|
2623 .global HAL_I2C_Slave_Receive
|
|
|
2624 .syntax unified
|
|
|
2625 .code 16
|
|
|
2626 .thumb_func
|
|
|
2627 .fpu softvfp
|
|
|
2629 HAL_I2C_Slave_Receive:
|
|
|
2630 .LFB46:
|
|
|
1016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
2631 .loc 1 1016 0
|
|
|
2632 .cfi_startproc
|
|
|
2633 @ args = 0, pretend = 0, frame = 8
|
|
|
2634 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2635 .LVL211:
|
|
|
2636 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
2637 .LCFI20:
|
|
|
2638 .cfi_def_cfa_offset 20
|
|
|
2639 .cfi_offset 4, -20
|
|
|
2640 .cfi_offset 5, -16
|
|
|
2641 .cfi_offset 6, -12
|
|
|
2642 .cfi_offset 7, -8
|
|
|
2643 .cfi_offset 14, -4
|
|
|
2644 0002 85B0 sub sp, sp, #20
|
|
|
2645 .LCFI21:
|
|
|
2646 .cfi_def_cfa_offset 40
|
|
|
2647 0004 0500 movs r5, r0
|
|
|
2648 0006 0C00 movs r4, r1
|
|
|
2649 0008 1600 movs r6, r2
|
|
|
2650 000a 0393 str r3, [sp, #12]
|
|
|
2651 .LVL212:
|
|
|
1019:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2652 .loc 1 1019 0
|
|
|
2653 000c 4123 movs r3, #65
|
|
|
2654 .LVL213:
|
|
|
2655 000e C35C ldrb r3, [r0, r3]
|
|
|
2656 0010 202B cmp r3, #32
|
|
|
2657 0012 00D0 beq .LCB2808
|
|
|
2658 0014 ACE0 b .L213 @long jump
|
|
|
2659 .LCB2808:
|
|
|
1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2660 .loc 1 1021 0
|
|
|
2661 0016 0029 cmp r1, #0
|
|
|
2662 0018 00D1 bne .LCB2810
|
|
|
2663 001a ACE0 b .L214 @long jump
|
|
|
2664 .LCB2810:
|
|
|
1021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2665 .loc 1 1021 0 is_stmt 0 discriminator 1
|
|
|
2666 001c 002A cmp r2, #0
|
|
|
2667 001e 00D1 bne .LCB2812
|
|
|
2668 0020 ABE0 b .L215 @long jump
|
|
|
2669 .LCB2812:
|
|
|
1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2670 .loc 1 1026 0 is_stmt 1
|
|
|
2671 0022 2033 adds r3, r3, #32
|
|
|
2672 0024 C35C ldrb r3, [r0, r3]
|
|
|
2673 0026 012B cmp r3, #1
|
|
|
2674 0028 00D1 bne .LCB2816
|
|
|
2675 002a A8E0 b .L216 @long jump
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 139
|
|
|
|
|
|
|
|
|
2676 .LCB2816:
|
|
|
1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2677 .loc 1 1026 0 is_stmt 0 discriminator 2
|
|
|
2678 002c 4023 movs r3, #64
|
|
|
2679 002e 0122 movs r2, #1
|
|
|
2680 .LVL214:
|
|
|
2681 0030 C254 strb r2, [r0, r3]
|
|
|
1029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2682 .loc 1 1029 0 is_stmt 1 discriminator 2
|
|
|
2683 0032 FFF7FEFF bl HAL_GetTick
|
|
|
2684 .LVL215:
|
|
|
2685 0036 0700 movs r7, r0
|
|
|
2686 .LVL216:
|
|
|
1031:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
2687 .loc 1 1031 0 discriminator 2
|
|
|
2688 0038 4123 movs r3, #65
|
|
|
2689 003a 2222 movs r2, #34
|
|
|
2690 003c EA54 strb r2, [r5, r3]
|
|
|
1032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2691 .loc 1 1032 0 discriminator 2
|
|
|
2692 003e 0133 adds r3, r3, #1
|
|
|
2693 0040 023A subs r2, r2, #2
|
|
|
2694 0042 EA54 strb r2, [r5, r3]
|
|
|
1033:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2695 .loc 1 1033 0 discriminator 2
|
|
|
2696 0044 0023 movs r3, #0
|
|
|
2697 0046 6B64 str r3, [r5, #68]
|
|
|
1036:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2698 .loc 1 1036 0 discriminator 2
|
|
|
2699 0048 6C62 str r4, [r5, #36]
|
|
|
1037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
2700 .loc 1 1037 0 discriminator 2
|
|
|
2701 004a 6E85 strh r6, [r5, #42]
|
|
|
1038:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2702 .loc 1 1038 0 discriminator 2
|
|
|
2703 004c 6B63 str r3, [r5, #52]
|
|
|
1041:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2704 .loc 1 1041 0 discriminator 2
|
|
|
2705 004e 2A68 ldr r2, [r5]
|
|
|
2706 0050 5368 ldr r3, [r2, #4]
|
|
|
2707 0052 4D49 ldr r1, .L225
|
|
|
2708 0054 0B40 ands r3, r1
|
|
|
2709 0056 5360 str r3, [r2, #4]
|
|
|
1044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2710 .loc 1 1044 0 discriminator 2
|
|
|
2711 0058 0090 str r0, [sp]
|
|
|
2712 005a 039B ldr r3, [sp, #12]
|
|
|
2713 005c 0022 movs r2, #0
|
|
|
2714 005e 0821 movs r1, #8
|
|
|
2715 0060 2800 movs r0, r5
|
|
|
2716 .LVL217:
|
|
|
2717 0062 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2718 .LVL218:
|
|
|
2719 0066 0028 cmp r0, #0
|
|
|
2720 0068 22D1 bne .L219
|
|
|
1052:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2721 .loc 1 1052 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 140
|
|
|
|
|
|
|
|
|
2722 006a 2B68 ldr r3, [r5]
|
|
|
2723 006c 0822 movs r2, #8
|
|
|
2724 006e DA61 str r2, [r3, #28]
|
|
|
1055:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2725 .loc 1 1055 0
|
|
|
2726 0070 8021 movs r1, #128
|
|
|
2727 0072 0097 str r7, [sp]
|
|
|
2728 0074 039B ldr r3, [sp, #12]
|
|
|
2729 0076 073A subs r2, r2, #7
|
|
|
2730 0078 4902 lsls r1, r1, #9
|
|
|
2731 007a 2800 movs r0, r5
|
|
|
2732 007c FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2733 .LVL219:
|
|
|
2734 0080 0028 cmp r0, #0
|
|
|
2735 0082 1DD1 bne .L220
|
|
|
2736 .L207:
|
|
|
1062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2737 .loc 1 1062 0
|
|
|
2738 0084 6B8D ldrh r3, [r5, #42]
|
|
|
2739 0086 9BB2 uxth r3, r3
|
|
|
2740 0088 002B cmp r3, #0
|
|
|
2741 008a 3BD0 beq .L221
|
|
|
1065:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2742 .loc 1 1065 0
|
|
|
2743 008c 3A00 movs r2, r7
|
|
|
2744 008e 0399 ldr r1, [sp, #12]
|
|
|
2745 0090 2800 movs r0, r5
|
|
|
2746 0092 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
|
|
|
2747 .LVL220:
|
|
|
2748 0096 0028 cmp r0, #0
|
|
|
2749 0098 1AD1 bne .L222
|
|
|
1089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
2750 .loc 1 1089 0
|
|
|
2751 009a 2B68 ldr r3, [r5]
|
|
|
2752 009c 5A6A ldr r2, [r3, #36]
|
|
|
2753 009e 6B6A ldr r3, [r5, #36]
|
|
|
2754 00a0 591C adds r1, r3, #1
|
|
|
2755 00a2 6962 str r1, [r5, #36]
|
|
|
2756 00a4 1A70 strb r2, [r3]
|
|
|
1090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2757 .loc 1 1090 0
|
|
|
2758 00a6 6B8D ldrh r3, [r5, #42]
|
|
|
2759 00a8 013B subs r3, r3, #1
|
|
|
2760 00aa 9BB2 uxth r3, r3
|
|
|
2761 00ac 6B85 strh r3, [r5, #42]
|
|
|
2762 00ae E9E7 b .L207
|
|
|
2763 .L219:
|
|
|
1047:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2764 .loc 1 1047 0
|
|
|
2765 00b0 2A68 ldr r2, [r5]
|
|
|
2766 00b2 5168 ldr r1, [r2, #4]
|
|
|
2767 00b4 8023 movs r3, #128
|
|
|
2768 00b6 1B02 lsls r3, r3, #8
|
|
|
2769 00b8 0B43 orrs r3, r1
|
|
|
2770 00ba 5360 str r3, [r2, #4]
|
|
|
1048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2771 .loc 1 1048 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 141
|
|
|
|
|
|
|
|
|
2772 00bc 0320 movs r0, #3
|
|
|
2773 00be 58E0 b .L205
|
|
|
2774 .L220:
|
|
|
1058:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2775 .loc 1 1058 0
|
|
|
2776 00c0 2A68 ldr r2, [r5]
|
|
|
2777 00c2 5168 ldr r1, [r2, #4]
|
|
|
2778 00c4 8023 movs r3, #128
|
|
|
2779 00c6 1B02 lsls r3, r3, #8
|
|
|
2780 00c8 0B43 orrs r3, r1
|
|
|
2781 00ca 5360 str r3, [r2, #4]
|
|
|
1059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2782 .loc 1 1059 0
|
|
|
2783 00cc 0320 movs r0, #3
|
|
|
2784 00ce 50E0 b .L205
|
|
|
2785 .L222:
|
|
|
1068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2786 .loc 1 1068 0
|
|
|
2787 00d0 2A68 ldr r2, [r5]
|
|
|
2788 00d2 5168 ldr r1, [r2, #4]
|
|
|
2789 00d4 8023 movs r3, #128
|
|
|
2790 00d6 1B02 lsls r3, r3, #8
|
|
|
2791 00d8 0B43 orrs r3, r1
|
|
|
2792 00da 5360 str r3, [r2, #4]
|
|
|
1071:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2793 .loc 1 1071 0
|
|
|
2794 00dc 2B68 ldr r3, [r5]
|
|
|
2795 00de 9A69 ldr r2, [r3, #24]
|
|
|
2796 00e0 5207 lsls r2, r2, #29
|
|
|
2797 00e2 08D5 bpl .L209
|
|
|
1074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
2798 .loc 1 1074 0
|
|
|
2799 00e4 5A6A ldr r2, [r3, #36]
|
|
|
2800 00e6 6B6A ldr r3, [r5, #36]
|
|
|
2801 00e8 591C adds r1, r3, #1
|
|
|
2802 00ea 6962 str r1, [r5, #36]
|
|
|
2803 00ec 1A70 strb r2, [r3]
|
|
|
1075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2804 .loc 1 1075 0
|
|
|
2805 00ee 6B8D ldrh r3, [r5, #42]
|
|
|
2806 00f0 013B subs r3, r3, #1
|
|
|
2807 00f2 9BB2 uxth r3, r3
|
|
|
2808 00f4 6B85 strh r3, [r5, #42]
|
|
|
2809 .L209:
|
|
|
1078:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2810 .loc 1 1078 0
|
|
|
2811 00f6 6B6C ldr r3, [r5, #68]
|
|
|
2812 00f8 202B cmp r3, #32
|
|
|
2813 00fa 01D0 beq .L223
|
|
|
1084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2814 .loc 1 1084 0
|
|
|
2815 00fc 0120 movs r0, #1
|
|
|
2816 00fe 38E0 b .L205
|
|
|
2817 .L223:
|
|
|
1080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2818 .loc 1 1080 0
|
|
|
2819 0100 0320 movs r0, #3
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 142
|
|
|
|
|
|
|
|
|
2820 0102 36E0 b .L205
|
|
|
2821 .L221:
|
|
|
1094:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2822 .loc 1 1094 0
|
|
|
2823 0104 3A00 movs r2, r7
|
|
|
2824 0106 0399 ldr r1, [sp, #12]
|
|
|
2825 0108 2800 movs r0, r5
|
|
|
2826 010a FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
2827 .LVL221:
|
|
|
2828 010e 0028 cmp r0, #0
|
|
|
2829 0110 0AD0 beq .L211
|
|
|
1097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2830 .loc 1 1097 0
|
|
|
2831 0112 2A68 ldr r2, [r5]
|
|
|
2832 0114 5168 ldr r1, [r2, #4]
|
|
|
2833 0116 8023 movs r3, #128
|
|
|
2834 0118 1B02 lsls r3, r3, #8
|
|
|
2835 011a 0B43 orrs r3, r1
|
|
|
2836 011c 5360 str r3, [r2, #4]
|
|
|
1099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2837 .loc 1 1099 0
|
|
|
2838 011e 6B6C ldr r3, [r5, #68]
|
|
|
2839 0120 042B cmp r3, #4
|
|
|
2840 0122 2ED1 bne .L218
|
|
|
1101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2841 .loc 1 1101 0
|
|
|
2842 0124 0120 movs r0, #1
|
|
|
2843 0126 24E0 b .L205
|
|
|
2844 .L211:
|
|
|
1110:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2845 .loc 1 1110 0
|
|
|
2846 0128 2B68 ldr r3, [r5]
|
|
|
2847 012a 2022 movs r2, #32
|
|
|
2848 012c DA61 str r2, [r3, #28]
|
|
|
1113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2849 .loc 1 1113 0
|
|
|
2850 012e 8021 movs r1, #128
|
|
|
2851 0130 0097 str r7, [sp]
|
|
|
2852 0132 039B ldr r3, [sp, #12]
|
|
|
2853 0134 1F3A subs r2, r2, #31
|
|
|
2854 0136 0902 lsls r1, r1, #8
|
|
|
2855 0138 2800 movs r0, r5
|
|
|
2856 013a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
2857 .LVL222:
|
|
|
2858 013e 0028 cmp r0, #0
|
|
|
2859 0140 0ED1 bne .L224
|
|
|
1121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2860 .loc 1 1121 0
|
|
|
2861 0142 2A68 ldr r2, [r5]
|
|
|
2862 0144 5168 ldr r1, [r2, #4]
|
|
|
2863 0146 8023 movs r3, #128
|
|
|
2864 0148 1B02 lsls r3, r3, #8
|
|
|
2865 014a 0B43 orrs r3, r1
|
|
|
2866 014c 5360 str r3, [r2, #4]
|
|
|
1123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
2867 .loc 1 1123 0
|
|
|
2868 014e 4123 movs r3, #65
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 143
|
|
|
|
|
|
|
|
|
2869 0150 2022 movs r2, #32
|
|
|
2870 0152 EA54 strb r2, [r5, r3]
|
|
|
1124:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2871 .loc 1 1124 0
|
|
|
2872 0154 0023 movs r3, #0
|
|
|
2873 0156 2232 adds r2, r2, #34
|
|
|
2874 0158 AB54 strb r3, [r5, r2]
|
|
|
1127:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2875 .loc 1 1127 0
|
|
|
2876 015a 023A subs r2, r2, #2
|
|
|
2877 015c AB54 strb r3, [r5, r2]
|
|
|
1129:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2878 .loc 1 1129 0
|
|
|
2879 015e 08E0 b .L205
|
|
|
2880 .L224:
|
|
|
1116:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
2881 .loc 1 1116 0
|
|
|
2882 0160 2A68 ldr r2, [r5]
|
|
|
2883 0162 5168 ldr r1, [r2, #4]
|
|
|
2884 0164 8023 movs r3, #128
|
|
|
2885 0166 1B02 lsls r3, r3, #8
|
|
|
2886 0168 0B43 orrs r3, r1
|
|
|
2887 016a 5360 str r3, [r2, #4]
|
|
|
1117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2888 .loc 1 1117 0
|
|
|
2889 016c 0320 movs r0, #3
|
|
|
2890 016e 00E0 b .L205
|
|
|
2891 .LVL223:
|
|
|
2892 .L213:
|
|
|
1133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2893 .loc 1 1133 0
|
|
|
2894 0170 0220 movs r0, #2
|
|
|
2895 .LVL224:
|
|
|
2896 .L205:
|
|
|
1135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2897 .loc 1 1135 0
|
|
|
2898 0172 05B0 add sp, sp, #20
|
|
|
2899 @ sp needed
|
|
|
2900 .LVL225:
|
|
|
2901 .LVL226:
|
|
|
2902 0174 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
2903 .LVL227:
|
|
|
2904 .L214:
|
|
|
1023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2905 .loc 1 1023 0
|
|
|
2906 0176 0120 movs r0, #1
|
|
|
2907 .LVL228:
|
|
|
2908 0178 FBE7 b .L205
|
|
|
2909 .LVL229:
|
|
|
2910 .L215:
|
|
|
2911 017a 0120 movs r0, #1
|
|
|
2912 .LVL230:
|
|
|
2913 017c F9E7 b .L205
|
|
|
2914 .LVL231:
|
|
|
2915 .L216:
|
|
|
1026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2916 .loc 1 1026 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 144
|
|
|
|
|
|
|
|
|
2917 017e 0220 movs r0, #2
|
|
|
2918 .LVL232:
|
|
|
2919 0180 F7E7 b .L205
|
|
|
2920 .LVL233:
|
|
|
2921 .L218:
|
|
|
1105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
2922 .loc 1 1105 0
|
|
|
2923 0182 0320 movs r0, #3
|
|
|
2924 0184 F5E7 b .L205
|
|
|
2925 .L226:
|
|
|
2926 0186 C046 .align 2
|
|
|
2927 .L225:
|
|
|
2928 0188 FF7FFFFF .word -32769
|
|
|
2929 .cfi_endproc
|
|
|
2930 .LFE46:
|
|
|
2932 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
|
|
|
2933 .align 1
|
|
|
2934 .global HAL_I2C_Master_Transmit_IT
|
|
|
2935 .syntax unified
|
|
|
2936 .code 16
|
|
|
2937 .thumb_func
|
|
|
2938 .fpu softvfp
|
|
|
2940 HAL_I2C_Master_Transmit_IT:
|
|
|
2941 .LFB47:
|
|
|
1148:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
2942 .loc 1 1148 0
|
|
|
2943 .cfi_startproc
|
|
|
2944 @ args = 0, pretend = 0, frame = 0
|
|
|
2945 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
2946 .LVL234:
|
|
|
2947 0000 70B5 push {r4, r5, r6, lr}
|
|
|
2948 .LCFI22:
|
|
|
2949 .cfi_def_cfa_offset 16
|
|
|
2950 .cfi_offset 4, -16
|
|
|
2951 .cfi_offset 5, -12
|
|
|
2952 .cfi_offset 6, -8
|
|
|
2953 .cfi_offset 14, -4
|
|
|
2954 .LVL235:
|
|
|
1151:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2955 .loc 1 1151 0
|
|
|
2956 0002 4124 movs r4, #65
|
|
|
2957 0004 045D ldrb r4, [r0, r4]
|
|
|
2958 0006 202C cmp r4, #32
|
|
|
2959 0008 48D1 bne .L232
|
|
|
1153:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2960 .loc 1 1153 0
|
|
|
2961 000a 0468 ldr r4, [r0]
|
|
|
2962 000c A569 ldr r5, [r4, #24]
|
|
|
2963 000e 2D04 lsls r5, r5, #16
|
|
|
2964 0010 46D4 bmi .L233
|
|
|
1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2965 .loc 1 1159 0
|
|
|
2966 0012 4025 movs r5, #64
|
|
|
2967 0014 455D ldrb r5, [r0, r5]
|
|
|
2968 0016 012D cmp r5, #1
|
|
|
2969 0018 44D0 beq .L234
|
|
|
1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 145
|
|
|
|
|
|
|
|
|
2970 .loc 1 1159 0 is_stmt 0 discriminator 2
|
|
|
2971 001a 4025 movs r5, #64
|
|
|
2972 001c 0126 movs r6, #1
|
|
|
2973 001e 4655 strb r6, [r0, r5]
|
|
|
1161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
2974 .loc 1 1161 0 is_stmt 1 discriminator 2
|
|
|
2975 0020 0135 adds r5, r5, #1
|
|
|
2976 0022 2036 adds r6, r6, #32
|
|
|
2977 0024 4655 strb r6, [r0, r5]
|
|
|
1162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
2978 .loc 1 1162 0 discriminator 2
|
|
|
2979 0026 0135 adds r5, r5, #1
|
|
|
2980 0028 113E subs r6, r6, #17
|
|
|
2981 002a 4655 strb r6, [r0, r5]
|
|
|
1163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2982 .loc 1 1163 0 discriminator 2
|
|
|
2983 002c 0025 movs r5, #0
|
|
|
2984 002e 4564 str r5, [r0, #68]
|
|
|
1166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
2985 .loc 1 1166 0 discriminator 2
|
|
|
2986 0030 4262 str r2, [r0, #36]
|
|
|
1167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
2987 .loc 1 1167 0 discriminator 2
|
|
|
2988 0032 4385 strh r3, [r0, #42]
|
|
|
1168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
2989 .loc 1 1168 0 discriminator 2
|
|
|
2990 0034 1C4B ldr r3, .L238
|
|
|
2991 .LVL236:
|
|
|
2992 0036 C362 str r3, [r0, #44]
|
|
|
2993 .LVL237:
|
|
|
1169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
2994 .loc 1 1169 0 discriminator 2
|
|
|
2995 0038 1C4B ldr r3, .L238+4
|
|
|
2996 003a 4363 str r3, [r0, #52]
|
|
|
1171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
2997 .loc 1 1171 0 discriminator 2
|
|
|
2998 003c 438D ldrh r3, [r0, #42]
|
|
|
2999 003e 9BB2 uxth r3, r3
|
|
|
3000 0040 FF2B cmp r3, #255
|
|
|
3001 0042 22D9 bls .L229
|
|
|
1173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
3002 .loc 1 1173 0
|
|
|
3003 0044 FF23 movs r3, #255
|
|
|
3004 0046 0385 strh r3, [r0, #40]
|
|
|
3005 .LVL238:
|
|
|
1174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3006 .loc 1 1174 0
|
|
|
3007 0048 8025 movs r5, #128
|
|
|
3008 004a 6D04 lsls r5, r5, #17
|
|
|
3009 .LVL239:
|
|
|
3010 .L230:
|
|
|
1184:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3011 .loc 1 1184 0
|
|
|
3012 004c 028D ldrh r2, [r0, #40]
|
|
|
3013 .LVL240:
|
|
|
3014 004e D2B2 uxtb r2, r2
|
|
|
3015 .LVL241:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 146
|
|
|
|
|
|
|
|
|
3016 .LBB184:
|
|
|
3017 .LBB185:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
3018 .loc 1 4713 0
|
|
|
3019 0050 6368 ldr r3, [r4, #4]
|
|
|
3020 0052 174E ldr r6, .L238+8
|
|
|
3021 0054 3340 ands r3, r6
|
|
|
3022 0056 8905 lsls r1, r1, #22
|
|
|
3023 .LVL242:
|
|
|
3024 0058 890D lsrs r1, r1, #22
|
|
|
3025 005a 1204 lsls r2, r2, #16
|
|
|
3026 .LVL243:
|
|
|
3027 005c 1143 orrs r1, r2
|
|
|
3028 005e 0D43 orrs r5, r1
|
|
|
3029 .LVL244:
|
|
|
3030 0060 1449 ldr r1, .L238+12
|
|
|
3031 0062 2943 orrs r1, r5
|
|
|
3032 0064 1943 orrs r1, r3
|
|
|
3033 0066 6160 str r1, [r4, #4]
|
|
|
3034 .LVL245:
|
|
|
3035 .LBE185:
|
|
|
3036 .LBE184:
|
|
|
1187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3037 .loc 1 1187 0
|
|
|
3038 0068 4023 movs r3, #64
|
|
|
3039 006a 0022 movs r2, #0
|
|
|
3040 006c C254 strb r2, [r0, r3]
|
|
|
3041 .LVL246:
|
|
|
3042 .LBB186:
|
|
|
3043 .LBB187:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3044 .loc 1 4728 0
|
|
|
3045 006e 436B ldr r3, [r0, #52]
|
|
|
3046 0070 114A ldr r2, .L238+16
|
|
|
3047 0072 9342 cmp r3, r2
|
|
|
3048 0074 10D0 beq .L235
|
|
|
3049 0076 114A ldr r2, .L238+20
|
|
|
3050 0078 9342 cmp r3, r2
|
|
|
3051 007a 0BD0 beq .L237
|
|
|
3052 007c F221 movs r1, #242
|
|
|
3053 .L231:
|
|
|
3054 .LVL247:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3055 .loc 1 4785 0
|
|
|
3056 007e 0268 ldr r2, [r0]
|
|
|
3057 0080 1368 ldr r3, [r2]
|
|
|
3058 0082 0B43 orrs r3, r1
|
|
|
3059 0084 1360 str r3, [r2]
|
|
|
3060 .LVL248:
|
|
|
3061 .LBE187:
|
|
|
3062 .LBE186:
|
|
|
1198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3063 .loc 1 1198 0
|
|
|
3064 0086 0020 movs r0, #0
|
|
|
3065 .LVL249:
|
|
|
3066 0088 09E0 b .L228
|
|
|
3067 .LVL250:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 147
|
|
|
|
|
|
|
|
|
3068 .L229:
|
|
|
1178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
3069 .loc 1 1178 0
|
|
|
3070 008a 438D ldrh r3, [r0, #42]
|
|
|
3071 008c 0385 strh r3, [r0, #40]
|
|
|
3072 .LVL251:
|
|
|
1179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3073 .loc 1 1179 0
|
|
|
3074 008e 8025 movs r5, #128
|
|
|
3075 0090 AD04 lsls r5, r5, #18
|
|
|
3076 0092 DBE7 b .L230
|
|
|
3077 .LVL252:
|
|
|
3078 .L237:
|
|
|
3079 .LBB189:
|
|
|
3080 .LBB188:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3081 .loc 1 4728 0
|
|
|
3082 0094 0021 movs r1, #0
|
|
|
3083 0096 F2E7 b .L231
|
|
|
3084 .L235:
|
|
|
3085 0098 0021 movs r1, #0
|
|
|
3086 009a F0E7 b .L231
|
|
|
3087 .LVL253:
|
|
|
3088 .L232:
|
|
|
3089 .LBE188:
|
|
|
3090 .LBE189:
|
|
|
1202:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3091 .loc 1 1202 0
|
|
|
3092 009c 0220 movs r0, #2
|
|
|
3093 .LVL254:
|
|
|
3094 .L228:
|
|
|
1204:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3095 .loc 1 1204 0
|
|
|
3096 @ sp needed
|
|
|
3097 009e 70BD pop {r4, r5, r6, pc}
|
|
|
3098 .LVL255:
|
|
|
3099 .L233:
|
|
|
1155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3100 .loc 1 1155 0
|
|
|
3101 00a0 0220 movs r0, #2
|
|
|
3102 .LVL256:
|
|
|
3103 00a2 FCE7 b .L228
|
|
|
3104 .LVL257:
|
|
|
3105 .L234:
|
|
|
1159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3106 .loc 1 1159 0
|
|
|
3107 00a4 0220 movs r0, #2
|
|
|
3108 .LVL258:
|
|
|
3109 00a6 FAE7 b .L228
|
|
|
3110 .L239:
|
|
|
3111 .align 2
|
|
|
3112 .L238:
|
|
|
3113 00a8 0000FFFF .word -65536
|
|
|
3114 00ac 00000000 .word I2C_Master_ISR_IT
|
|
|
3115 00b0 009800FC .word -67069952
|
|
|
3116 00b4 00200080 .word -2147475456
|
|
|
3117 00b8 00000000 .word I2C_Master_ISR_DMA
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 148
|
|
|
|
|
|
|
|
|
3118 00bc 00000000 .word I2C_Slave_ISR_DMA
|
|
|
3119 .cfi_endproc
|
|
|
3120 .LFE47:
|
|
|
3122 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
|
|
|
3123 .align 1
|
|
|
3124 .global HAL_I2C_Master_Receive_IT
|
|
|
3125 .syntax unified
|
|
|
3126 .code 16
|
|
|
3127 .thumb_func
|
|
|
3128 .fpu softvfp
|
|
|
3130 HAL_I2C_Master_Receive_IT:
|
|
|
3131 .LFB48:
|
|
|
1217:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
3132 .loc 1 1217 0
|
|
|
3133 .cfi_startproc
|
|
|
3134 @ args = 0, pretend = 0, frame = 0
|
|
|
3135 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3136 .LVL259:
|
|
|
3137 0000 70B5 push {r4, r5, r6, lr}
|
|
|
3138 .LCFI23:
|
|
|
3139 .cfi_def_cfa_offset 16
|
|
|
3140 .cfi_offset 4, -16
|
|
|
3141 .cfi_offset 5, -12
|
|
|
3142 .cfi_offset 6, -8
|
|
|
3143 .cfi_offset 14, -4
|
|
|
3144 .LVL260:
|
|
|
1220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3145 .loc 1 1220 0
|
|
|
3146 0002 4124 movs r4, #65
|
|
|
3147 0004 045D ldrb r4, [r0, r4]
|
|
|
3148 0006 202C cmp r4, #32
|
|
|
3149 0008 48D1 bne .L245
|
|
|
1222:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3150 .loc 1 1222 0
|
|
|
3151 000a 0468 ldr r4, [r0]
|
|
|
3152 000c A569 ldr r5, [r4, #24]
|
|
|
3153 000e 2D04 lsls r5, r5, #16
|
|
|
3154 0010 46D4 bmi .L246
|
|
|
1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3155 .loc 1 1228 0
|
|
|
3156 0012 4025 movs r5, #64
|
|
|
3157 0014 455D ldrb r5, [r0, r5]
|
|
|
3158 0016 012D cmp r5, #1
|
|
|
3159 0018 44D0 beq .L247
|
|
|
1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3160 .loc 1 1228 0 is_stmt 0 discriminator 2
|
|
|
3161 001a 4025 movs r5, #64
|
|
|
3162 001c 0126 movs r6, #1
|
|
|
3163 001e 4655 strb r6, [r0, r5]
|
|
|
1230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
3164 .loc 1 1230 0 is_stmt 1 discriminator 2
|
|
|
3165 0020 0135 adds r5, r5, #1
|
|
|
3166 0022 2136 adds r6, r6, #33
|
|
|
3167 0024 4655 strb r6, [r0, r5]
|
|
|
1231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
3168 .loc 1 1231 0 discriminator 2
|
|
|
3169 0026 0135 adds r5, r5, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 149
|
|
|
|
|
|
|
|
|
3170 0028 123E subs r6, r6, #18
|
|
|
3171 002a 4655 strb r6, [r0, r5]
|
|
|
1232:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3172 .loc 1 1232 0 discriminator 2
|
|
|
3173 002c 0025 movs r5, #0
|
|
|
3174 002e 4564 str r5, [r0, #68]
|
|
|
1235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
3175 .loc 1 1235 0 discriminator 2
|
|
|
3176 0030 4262 str r2, [r0, #36]
|
|
|
1236:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3177 .loc 1 1236 0 discriminator 2
|
|
|
3178 0032 4385 strh r3, [r0, #42]
|
|
|
1237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
3179 .loc 1 1237 0 discriminator 2
|
|
|
3180 0034 1C4B ldr r3, .L251
|
|
|
3181 .LVL261:
|
|
|
3182 0036 C362 str r3, [r0, #44]
|
|
|
3183 .LVL262:
|
|
|
1238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3184 .loc 1 1238 0 discriminator 2
|
|
|
3185 0038 1C4B ldr r3, .L251+4
|
|
|
3186 003a 4363 str r3, [r0, #52]
|
|
|
1240:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3187 .loc 1 1240 0 discriminator 2
|
|
|
3188 003c 438D ldrh r3, [r0, #42]
|
|
|
3189 003e 9BB2 uxth r3, r3
|
|
|
3190 0040 FF2B cmp r3, #255
|
|
|
3191 0042 22D9 bls .L242
|
|
|
1242:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
3192 .loc 1 1242 0
|
|
|
3193 0044 FF23 movs r3, #255
|
|
|
3194 0046 0385 strh r3, [r0, #40]
|
|
|
3195 .LVL263:
|
|
|
1243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3196 .loc 1 1243 0
|
|
|
3197 0048 8025 movs r5, #128
|
|
|
3198 004a 6D04 lsls r5, r5, #17
|
|
|
3199 .LVL264:
|
|
|
3200 .L243:
|
|
|
1253:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3201 .loc 1 1253 0
|
|
|
3202 004c 028D ldrh r2, [r0, #40]
|
|
|
3203 .LVL265:
|
|
|
3204 004e D2B2 uxtb r2, r2
|
|
|
3205 .LVL266:
|
|
|
3206 .LBB190:
|
|
|
3207 .LBB191:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
3208 .loc 1 4713 0
|
|
|
3209 0050 6368 ldr r3, [r4, #4]
|
|
|
3210 0052 174E ldr r6, .L251+8
|
|
|
3211 0054 3340 ands r3, r6
|
|
|
3212 0056 8905 lsls r1, r1, #22
|
|
|
3213 .LVL267:
|
|
|
3214 0058 890D lsrs r1, r1, #22
|
|
|
3215 005a 1204 lsls r2, r2, #16
|
|
|
3216 .LVL268:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 150
|
|
|
|
|
|
|
|
|
3217 005c 1143 orrs r1, r2
|
|
|
3218 005e 0D43 orrs r5, r1
|
|
|
3219 .LVL269:
|
|
|
3220 0060 1449 ldr r1, .L251+12
|
|
|
3221 0062 2943 orrs r1, r5
|
|
|
3222 0064 1943 orrs r1, r3
|
|
|
3223 0066 6160 str r1, [r4, #4]
|
|
|
3224 .LVL270:
|
|
|
3225 .LBE191:
|
|
|
3226 .LBE190:
|
|
|
1256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3227 .loc 1 1256 0
|
|
|
3228 0068 4023 movs r3, #64
|
|
|
3229 006a 0022 movs r2, #0
|
|
|
3230 006c C254 strb r2, [r0, r3]
|
|
|
3231 .LVL271:
|
|
|
3232 .LBB192:
|
|
|
3233 .LBB193:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3234 .loc 1 4728 0
|
|
|
3235 006e 436B ldr r3, [r0, #52]
|
|
|
3236 0070 114A ldr r2, .L251+16
|
|
|
3237 0072 9342 cmp r3, r2
|
|
|
3238 0074 10D0 beq .L248
|
|
|
3239 0076 114A ldr r2, .L251+20
|
|
|
3240 0078 9342 cmp r3, r2
|
|
|
3241 007a 0BD0 beq .L250
|
|
|
3242 007c F421 movs r1, #244
|
|
|
3243 .L244:
|
|
|
3244 .LVL272:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3245 .loc 1 4785 0
|
|
|
3246 007e 0268 ldr r2, [r0]
|
|
|
3247 0080 1368 ldr r3, [r2]
|
|
|
3248 0082 0B43 orrs r3, r1
|
|
|
3249 0084 1360 str r3, [r2]
|
|
|
3250 .LVL273:
|
|
|
3251 .LBE193:
|
|
|
3252 .LBE192:
|
|
|
1267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3253 .loc 1 1267 0
|
|
|
3254 0086 0020 movs r0, #0
|
|
|
3255 .LVL274:
|
|
|
3256 0088 09E0 b .L241
|
|
|
3257 .LVL275:
|
|
|
3258 .L242:
|
|
|
1247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
3259 .loc 1 1247 0
|
|
|
3260 008a 438D ldrh r3, [r0, #42]
|
|
|
3261 008c 0385 strh r3, [r0, #40]
|
|
|
3262 .LVL276:
|
|
|
1248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3263 .loc 1 1248 0
|
|
|
3264 008e 8025 movs r5, #128
|
|
|
3265 0090 AD04 lsls r5, r5, #18
|
|
|
3266 0092 DBE7 b .L243
|
|
|
3267 .LVL277:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 151
|
|
|
|
|
|
|
|
|
3268 .L250:
|
|
|
3269 .LBB195:
|
|
|
3270 .LBB194:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3271 .loc 1 4728 0
|
|
|
3272 0094 0021 movs r1, #0
|
|
|
3273 0096 F2E7 b .L244
|
|
|
3274 .L248:
|
|
|
3275 0098 0021 movs r1, #0
|
|
|
3276 009a F0E7 b .L244
|
|
|
3277 .LVL278:
|
|
|
3278 .L245:
|
|
|
3279 .LBE194:
|
|
|
3280 .LBE195:
|
|
|
1271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3281 .loc 1 1271 0
|
|
|
3282 009c 0220 movs r0, #2
|
|
|
3283 .LVL279:
|
|
|
3284 .L241:
|
|
|
1273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3285 .loc 1 1273 0
|
|
|
3286 @ sp needed
|
|
|
3287 009e 70BD pop {r4, r5, r6, pc}
|
|
|
3288 .LVL280:
|
|
|
3289 .L246:
|
|
|
1224:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3290 .loc 1 1224 0
|
|
|
3291 00a0 0220 movs r0, #2
|
|
|
3292 .LVL281:
|
|
|
3293 00a2 FCE7 b .L241
|
|
|
3294 .LVL282:
|
|
|
3295 .L247:
|
|
|
1228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3296 .loc 1 1228 0
|
|
|
3297 00a4 0220 movs r0, #2
|
|
|
3298 .LVL283:
|
|
|
3299 00a6 FAE7 b .L241
|
|
|
3300 .L252:
|
|
|
3301 .align 2
|
|
|
3302 .L251:
|
|
|
3303 00a8 0000FFFF .word -65536
|
|
|
3304 00ac 00000000 .word I2C_Master_ISR_IT
|
|
|
3305 00b0 009800FC .word -67069952
|
|
|
3306 00b4 00240080 .word -2147474432
|
|
|
3307 00b8 00000000 .word I2C_Master_ISR_DMA
|
|
|
3308 00bc 00000000 .word I2C_Slave_ISR_DMA
|
|
|
3309 .cfi_endproc
|
|
|
3310 .LFE48:
|
|
|
3312 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
|
|
|
3313 .align 1
|
|
|
3314 .global HAL_I2C_Slave_Transmit_IT
|
|
|
3315 .syntax unified
|
|
|
3316 .code 16
|
|
|
3317 .thumb_func
|
|
|
3318 .fpu softvfp
|
|
|
3320 HAL_I2C_Slave_Transmit_IT:
|
|
|
3321 .LFB49:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 152
|
|
|
|
|
|
|
|
|
1284:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
3322 .loc 1 1284 0
|
|
|
3323 .cfi_startproc
|
|
|
3324 @ args = 0, pretend = 0, frame = 0
|
|
|
3325 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3326 .LVL284:
|
|
|
3327 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
3328 .LCFI24:
|
|
|
3329 .cfi_def_cfa_offset 20
|
|
|
3330 .cfi_offset 4, -20
|
|
|
3331 .cfi_offset 5, -16
|
|
|
3332 .cfi_offset 6, -12
|
|
|
3333 .cfi_offset 7, -8
|
|
|
3334 .cfi_offset 14, -4
|
|
|
1285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3335 .loc 1 1285 0
|
|
|
3336 0002 4123 movs r3, #65
|
|
|
3337 0004 C35C ldrb r3, [r0, r3]
|
|
|
3338 0006 202B cmp r3, #32
|
|
|
3339 0008 23D1 bne .L255
|
|
|
1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3340 .loc 1 1288 0
|
|
|
3341 000a 2033 adds r3, r3, #32
|
|
|
3342 000c C35C ldrb r3, [r0, r3]
|
|
|
3343 000e 012B cmp r3, #1
|
|
|
3344 0010 21D0 beq .L256
|
|
|
1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3345 .loc 1 1288 0 is_stmt 0 discriminator 2
|
|
|
3346 0012 4024 movs r4, #64
|
|
|
3347 0014 0123 movs r3, #1
|
|
|
3348 0016 0355 strb r3, [r0, r4]
|
|
|
1290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
3349 .loc 1 1290 0 is_stmt 1 discriminator 2
|
|
|
3350 0018 4033 adds r3, r3, #64
|
|
|
3351 001a 2125 movs r5, #33
|
|
|
3352 001c C554 strb r5, [r0, r3]
|
|
|
1291:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
3353 .loc 1 1291 0 discriminator 2
|
|
|
3354 001e 0133 adds r3, r3, #1
|
|
|
3355 0020 013D subs r5, r5, #1
|
|
|
3356 0022 C554 strb r5, [r0, r3]
|
|
|
1292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3357 .loc 1 1292 0 discriminator 2
|
|
|
3358 0024 0025 movs r5, #0
|
|
|
3359 0026 4564 str r5, [r0, #68]
|
|
|
1295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3360 .loc 1 1295 0 discriminator 2
|
|
|
3361 0028 0668 ldr r6, [r0]
|
|
|
3362 002a 7368 ldr r3, [r6, #4]
|
|
|
3363 002c 0B4F ldr r7, .L257
|
|
|
3364 002e 3B40 ands r3, r7
|
|
|
3365 0030 7360 str r3, [r6, #4]
|
|
|
1298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
3366 .loc 1 1298 0 discriminator 2
|
|
|
3367 0032 4162 str r1, [r0, #36]
|
|
|
1299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
3368 .loc 1 1299 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 153
|
|
|
|
|
|
|
|
|
3369 0034 4285 strh r2, [r0, #42]
|
|
|
1300:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3370 .loc 1 1300 0 discriminator 2
|
|
|
3371 0036 438D ldrh r3, [r0, #42]
|
|
|
3372 0038 0385 strh r3, [r0, #40]
|
|
|
1301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
3373 .loc 1 1301 0 discriminator 2
|
|
|
3374 003a 094B ldr r3, .L257+4
|
|
|
3375 003c C362 str r3, [r0, #44]
|
|
|
1302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3376 .loc 1 1302 0 discriminator 2
|
|
|
3377 003e 094B ldr r3, .L257+8
|
|
|
3378 0040 4363 str r3, [r0, #52]
|
|
|
1305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3379 .loc 1 1305 0 discriminator 2
|
|
|
3380 0042 0555 strb r5, [r0, r4]
|
|
|
3381 .LVL285:
|
|
|
3382 .LBB196:
|
|
|
3383 .LBB197:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3384 .loc 1 4785 0 discriminator 2
|
|
|
3385 0044 0268 ldr r2, [r0]
|
|
|
3386 .LVL286:
|
|
|
3387 0046 1368 ldr r3, [r2]
|
|
|
3388 0048 FA21 movs r1, #250
|
|
|
3389 .LVL287:
|
|
|
3390 004a 0B43 orrs r3, r1
|
|
|
3391 004c 1360 str r3, [r2]
|
|
|
3392 .LVL288:
|
|
|
3393 .LBE197:
|
|
|
3394 .LBE196:
|
|
|
1316:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3395 .loc 1 1316 0 discriminator 2
|
|
|
3396 004e 0020 movs r0, #0
|
|
|
3397 .LVL289:
|
|
|
3398 0050 00E0 b .L254
|
|
|
3399 .LVL290:
|
|
|
3400 .L255:
|
|
|
1320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3401 .loc 1 1320 0
|
|
|
3402 0052 0220 movs r0, #2
|
|
|
3403 .LVL291:
|
|
|
3404 .L254:
|
|
|
1322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3405 .loc 1 1322 0
|
|
|
3406 @ sp needed
|
|
|
3407 0054 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
3408 .LVL292:
|
|
|
3409 .L256:
|
|
|
1288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3410 .loc 1 1288 0
|
|
|
3411 0056 0220 movs r0, #2
|
|
|
3412 .LVL293:
|
|
|
3413 0058 FCE7 b .L254
|
|
|
3414 .L258:
|
|
|
3415 005a C046 .align 2
|
|
|
3416 .L257:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 154
|
|
|
|
|
|
|
|
|
3417 005c FF7FFFFF .word -32769
|
|
|
3418 0060 0000FFFF .word -65536
|
|
|
3419 0064 00000000 .word I2C_Slave_ISR_IT
|
|
|
3420 .cfi_endproc
|
|
|
3421 .LFE49:
|
|
|
3423 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
|
|
|
3424 .align 1
|
|
|
3425 .global HAL_I2C_Slave_Receive_IT
|
|
|
3426 .syntax unified
|
|
|
3427 .code 16
|
|
|
3428 .thumb_func
|
|
|
3429 .fpu softvfp
|
|
|
3431 HAL_I2C_Slave_Receive_IT:
|
|
|
3432 .LFB50:
|
|
|
1333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
3433 .loc 1 1333 0
|
|
|
3434 .cfi_startproc
|
|
|
3435 @ args = 0, pretend = 0, frame = 0
|
|
|
3436 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3437 .LVL294:
|
|
|
3438 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
3439 .LCFI25:
|
|
|
3440 .cfi_def_cfa_offset 20
|
|
|
3441 .cfi_offset 4, -20
|
|
|
3442 .cfi_offset 5, -16
|
|
|
3443 .cfi_offset 6, -12
|
|
|
3444 .cfi_offset 7, -8
|
|
|
3445 .cfi_offset 14, -4
|
|
|
1334:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3446 .loc 1 1334 0
|
|
|
3447 0002 4123 movs r3, #65
|
|
|
3448 0004 C35C ldrb r3, [r0, r3]
|
|
|
3449 0006 202B cmp r3, #32
|
|
|
3450 0008 23D1 bne .L261
|
|
|
1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3451 .loc 1 1337 0
|
|
|
3452 000a 2033 adds r3, r3, #32
|
|
|
3453 000c C35C ldrb r3, [r0, r3]
|
|
|
3454 000e 012B cmp r3, #1
|
|
|
3455 0010 21D0 beq .L262
|
|
|
1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3456 .loc 1 1337 0 is_stmt 0 discriminator 2
|
|
|
3457 0012 4024 movs r4, #64
|
|
|
3458 0014 0123 movs r3, #1
|
|
|
3459 0016 0355 strb r3, [r0, r4]
|
|
|
1339:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
3460 .loc 1 1339 0 is_stmt 1 discriminator 2
|
|
|
3461 0018 4033 adds r3, r3, #64
|
|
|
3462 001a 2225 movs r5, #34
|
|
|
3463 001c C554 strb r5, [r0, r3]
|
|
|
1340:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
3464 .loc 1 1340 0 discriminator 2
|
|
|
3465 001e 0133 adds r3, r3, #1
|
|
|
3466 0020 023D subs r5, r5, #2
|
|
|
3467 0022 C554 strb r5, [r0, r3]
|
|
|
1341:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3468 .loc 1 1341 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 155
|
|
|
|
|
|
|
|
|
3469 0024 0025 movs r5, #0
|
|
|
3470 0026 4564 str r5, [r0, #68]
|
|
|
1344:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3471 .loc 1 1344 0 discriminator 2
|
|
|
3472 0028 0668 ldr r6, [r0]
|
|
|
3473 002a 7368 ldr r3, [r6, #4]
|
|
|
3474 002c 0B4F ldr r7, .L263
|
|
|
3475 002e 3B40 ands r3, r7
|
|
|
3476 0030 7360 str r3, [r6, #4]
|
|
|
1347:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
3477 .loc 1 1347 0 discriminator 2
|
|
|
3478 0032 4162 str r1, [r0, #36]
|
|
|
1348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
3479 .loc 1 1348 0 discriminator 2
|
|
|
3480 0034 4285 strh r2, [r0, #42]
|
|
|
1349:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3481 .loc 1 1349 0 discriminator 2
|
|
|
3482 0036 438D ldrh r3, [r0, #42]
|
|
|
3483 0038 0385 strh r3, [r0, #40]
|
|
|
1350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
3484 .loc 1 1350 0 discriminator 2
|
|
|
3485 003a 094B ldr r3, .L263+4
|
|
|
3486 003c C362 str r3, [r0, #44]
|
|
|
1351:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3487 .loc 1 1351 0 discriminator 2
|
|
|
3488 003e 094B ldr r3, .L263+8
|
|
|
3489 0040 4363 str r3, [r0, #52]
|
|
|
1354:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3490 .loc 1 1354 0 discriminator 2
|
|
|
3491 0042 0555 strb r5, [r0, r4]
|
|
|
3492 .LVL295:
|
|
|
3493 .LBB198:
|
|
|
3494 .LBB199:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3495 .loc 1 4785 0 discriminator 2
|
|
|
3496 0044 0268 ldr r2, [r0]
|
|
|
3497 .LVL296:
|
|
|
3498 0046 1368 ldr r3, [r2]
|
|
|
3499 0048 FC21 movs r1, #252
|
|
|
3500 .LVL297:
|
|
|
3501 004a 0B43 orrs r3, r1
|
|
|
3502 004c 1360 str r3, [r2]
|
|
|
3503 .LVL298:
|
|
|
3504 .LBE199:
|
|
|
3505 .LBE198:
|
|
|
1365:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3506 .loc 1 1365 0 discriminator 2
|
|
|
3507 004e 0020 movs r0, #0
|
|
|
3508 .LVL299:
|
|
|
3509 0050 00E0 b .L260
|
|
|
3510 .LVL300:
|
|
|
3511 .L261:
|
|
|
1369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3512 .loc 1 1369 0
|
|
|
3513 0052 0220 movs r0, #2
|
|
|
3514 .LVL301:
|
|
|
3515 .L260:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 156
|
|
|
|
|
|
|
|
|
1371:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3516 .loc 1 1371 0
|
|
|
3517 @ sp needed
|
|
|
3518 0054 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
3519 .LVL302:
|
|
|
3520 .L262:
|
|
|
1337:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3521 .loc 1 1337 0
|
|
|
3522 0056 0220 movs r0, #2
|
|
|
3523 .LVL303:
|
|
|
3524 0058 FCE7 b .L260
|
|
|
3525 .L264:
|
|
|
3526 005a C046 .align 2
|
|
|
3527 .L263:
|
|
|
3528 005c FF7FFFFF .word -32769
|
|
|
3529 0060 0000FFFF .word -65536
|
|
|
3530 0064 00000000 .word I2C_Slave_ISR_IT
|
|
|
3531 .cfi_endproc
|
|
|
3532 .LFE50:
|
|
|
3534 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
|
|
|
3535 .align 1
|
|
|
3536 .global HAL_I2C_Master_Transmit_DMA
|
|
|
3537 .syntax unified
|
|
|
3538 .code 16
|
|
|
3539 .thumb_func
|
|
|
3540 .fpu softvfp
|
|
|
3542 HAL_I2C_Master_Transmit_DMA:
|
|
|
3543 .LFB51:
|
|
|
1384:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
3544 .loc 1 1384 0
|
|
|
3545 .cfi_startproc
|
|
|
3546 @ args = 0, pretend = 0, frame = 0
|
|
|
3547 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3548 .LVL304:
|
|
|
3549 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
3550 .LCFI26:
|
|
|
3551 .cfi_def_cfa_offset 24
|
|
|
3552 .cfi_offset 3, -24
|
|
|
3553 .cfi_offset 4, -20
|
|
|
3554 .cfi_offset 5, -16
|
|
|
3555 .cfi_offset 6, -12
|
|
|
3556 .cfi_offset 7, -8
|
|
|
3557 .cfi_offset 14, -4
|
|
|
3558 0002 0400 movs r4, r0
|
|
|
3559 0004 0D00 movs r5, r1
|
|
|
3560 0006 1100 movs r1, r2
|
|
|
3561 .LVL305:
|
|
|
1387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3562 .loc 1 1387 0
|
|
|
3563 0008 4122 movs r2, #65
|
|
|
3564 .LVL306:
|
|
|
3565 000a 825C ldrb r2, [r0, r2]
|
|
|
3566 000c 202A cmp r2, #32
|
|
|
3567 000e 00D0 beq .LCB3787
|
|
|
3568 0010 8CE0 b .L272 @long jump
|
|
|
3569 .LCB3787:
|
|
|
1389:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 157
|
|
|
|
|
|
|
|
|
3570 .loc 1 1389 0
|
|
|
3571 0012 0268 ldr r2, [r0]
|
|
|
3572 0014 9069 ldr r0, [r2, #24]
|
|
|
3573 .LVL307:
|
|
|
3574 0016 0004 lsls r0, r0, #16
|
|
|
3575 0018 00D5 bpl .LCB3794
|
|
|
3576 001a 89E0 b .L273 @long jump
|
|
|
3577 .LCB3794:
|
|
|
1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3578 .loc 1 1395 0
|
|
|
3579 001c 4020 movs r0, #64
|
|
|
3580 001e 205C ldrb r0, [r4, r0]
|
|
|
3581 0020 0128 cmp r0, #1
|
|
|
3582 0022 00D1 bne .LCB3798
|
|
|
3583 0024 86E0 b .L274 @long jump
|
|
|
3584 .LCB3798:
|
|
|
1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3585 .loc 1 1395 0 is_stmt 0 discriminator 2
|
|
|
3586 0026 4020 movs r0, #64
|
|
|
3587 0028 0126 movs r6, #1
|
|
|
3588 002a 2654 strb r6, [r4, r0]
|
|
|
1397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
3589 .loc 1 1397 0 is_stmt 1 discriminator 2
|
|
|
3590 002c 0130 adds r0, r0, #1
|
|
|
3591 002e 2036 adds r6, r6, #32
|
|
|
3592 0030 2654 strb r6, [r4, r0]
|
|
|
1398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
3593 .loc 1 1398 0 discriminator 2
|
|
|
3594 0032 0130 adds r0, r0, #1
|
|
|
3595 0034 113E subs r6, r6, #17
|
|
|
3596 0036 2654 strb r6, [r4, r0]
|
|
|
1399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3597 .loc 1 1399 0 discriminator 2
|
|
|
3598 0038 0020 movs r0, #0
|
|
|
3599 003a 6064 str r0, [r4, #68]
|
|
|
1402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
3600 .loc 1 1402 0 discriminator 2
|
|
|
3601 003c 6162 str r1, [r4, #36]
|
|
|
1403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3602 .loc 1 1403 0 discriminator 2
|
|
|
3603 003e 6385 strh r3, [r4, #42]
|
|
|
1404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
3604 .loc 1 1404 0 discriminator 2
|
|
|
3605 0040 3D4B ldr r3, .L282
|
|
|
3606 .LVL308:
|
|
|
3607 0042 E362 str r3, [r4, #44]
|
|
|
3608 .LVL309:
|
|
|
1405:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3609 .loc 1 1405 0 discriminator 2
|
|
|
3610 0044 3D4B ldr r3, .L282+4
|
|
|
3611 0046 6363 str r3, [r4, #52]
|
|
|
1407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3612 .loc 1 1407 0 discriminator 2
|
|
|
3613 0048 638D ldrh r3, [r4, #42]
|
|
|
3614 004a 9BB2 uxth r3, r3
|
|
|
3615 004c FF2B cmp r3, #255
|
|
|
3616 004e 25D9 bls .L267
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 158
|
|
|
|
|
|
|
|
|
1409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
3617 .loc 1 1409 0
|
|
|
3618 0050 FF23 movs r3, #255
|
|
|
3619 0052 2385 strh r3, [r4, #40]
|
|
|
3620 .LVL310:
|
|
|
1410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3621 .loc 1 1410 0
|
|
|
3622 0054 8026 movs r6, #128
|
|
|
3623 0056 7604 lsls r6, r6, #17
|
|
|
3624 .LVL311:
|
|
|
3625 .L268:
|
|
|
1418:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3626 .loc 1 1418 0
|
|
|
3627 0058 238D ldrh r3, [r4, #40]
|
|
|
3628 005a 002B cmp r3, #0
|
|
|
3629 005c 23D1 bne .L279
|
|
|
1455:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3630 .loc 1 1455 0
|
|
|
3631 005e 3849 ldr r1, .L282+8
|
|
|
3632 .LVL312:
|
|
|
3633 0060 6163 str r1, [r4, #52]
|
|
|
1459:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3634 .loc 1 1459 0
|
|
|
3635 0062 DBB2 uxtb r3, r3
|
|
|
3636 .LVL313:
|
|
|
3637 .LBB200:
|
|
|
3638 .LBB201:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
3639 .loc 1 4713 0
|
|
|
3640 0064 5168 ldr r1, [r2, #4]
|
|
|
3641 0066 3748 ldr r0, .L282+12
|
|
|
3642 0068 0140 ands r1, r0
|
|
|
3643 006a AD05 lsls r5, r5, #22
|
|
|
3644 .LVL314:
|
|
|
3645 006c AD0D lsrs r5, r5, #22
|
|
|
3646 006e 1B04 lsls r3, r3, #16
|
|
|
3647 .LVL315:
|
|
|
3648 0070 1D43 orrs r5, r3
|
|
|
3649 0072 354B ldr r3, .L282+16
|
|
|
3650 0074 1D43 orrs r5, r3
|
|
|
3651 0076 0D43 orrs r5, r1
|
|
|
3652 0078 5560 str r5, [r2, #4]
|
|
|
3653 .LVL316:
|
|
|
3654 .LBE201:
|
|
|
3655 .LBE200:
|
|
|
1462:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3656 .loc 1 1462 0
|
|
|
3657 007a 4023 movs r3, #64
|
|
|
3658 007c 0022 movs r2, #0
|
|
|
3659 007e E254 strb r2, [r4, r3]
|
|
|
3660 .LVL317:
|
|
|
3661 .LBB202:
|
|
|
3662 .LBB203:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3663 .loc 1 4728 0
|
|
|
3664 0080 636B ldr r3, [r4, #52]
|
|
|
3665 0082 2E4A ldr r2, .L282+4
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 159
|
|
|
|
|
|
|
|
|
3666 0084 9342 cmp r3, r2
|
|
|
3667 0086 4FD0 beq .L277
|
|
|
3668 0088 304A ldr r2, .L282+20
|
|
|
3669 008a 9342 cmp r3, r2
|
|
|
3670 008c 4AD0 beq .L280
|
|
|
3671 008e F221 movs r1, #242
|
|
|
3672 .L271:
|
|
|
3673 .LVL318:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3674 .loc 1 4785 0
|
|
|
3675 0090 2268 ldr r2, [r4]
|
|
|
3676 0092 1368 ldr r3, [r2]
|
|
|
3677 0094 0B43 orrs r3, r1
|
|
|
3678 0096 1360 str r3, [r2]
|
|
|
3679 .LBE203:
|
|
|
3680 .LBE202:
|
|
|
1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3681 .loc 1 1473 0
|
|
|
3682 0098 0020 movs r0, #0
|
|
|
3683 009a 48E0 b .L266
|
|
|
3684 .LVL319:
|
|
|
3685 .L267:
|
|
|
1414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
3686 .loc 1 1414 0
|
|
|
3687 009c 638D ldrh r3, [r4, #42]
|
|
|
3688 009e 2385 strh r3, [r4, #40]
|
|
|
3689 .LVL320:
|
|
|
1415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3690 .loc 1 1415 0
|
|
|
3691 00a0 8026 movs r6, #128
|
|
|
3692 00a2 B604 lsls r6, r6, #18
|
|
|
3693 00a4 D8E7 b .L268
|
|
|
3694 .LVL321:
|
|
|
3695 .L279:
|
|
|
1421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3696 .loc 1 1421 0
|
|
|
3697 00a6 A36B ldr r3, [r4, #56]
|
|
|
3698 00a8 294A ldr r2, .L282+24
|
|
|
3699 00aa DA62 str r2, [r3, #44]
|
|
|
1424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3700 .loc 1 1424 0
|
|
|
3701 00ac A36B ldr r3, [r4, #56]
|
|
|
3702 00ae 294A ldr r2, .L282+28
|
|
|
3703 00b0 5A63 str r2, [r3, #52]
|
|
|
1427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
3704 .loc 1 1427 0
|
|
|
3705 00b2 A36B ldr r3, [r4, #56]
|
|
|
3706 00b4 0027 movs r7, #0
|
|
|
3707 00b6 1F63 str r7, [r3, #48]
|
|
|
1428:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3708 .loc 1 1428 0
|
|
|
3709 00b8 A36B ldr r3, [r4, #56]
|
|
|
3710 00ba 9F63 str r7, [r3, #56]
|
|
|
1431:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3711 .loc 1 1431 0
|
|
|
3712 00bc 2268 ldr r2, [r4]
|
|
|
3713 00be 2832 adds r2, r2, #40
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 160
|
|
|
|
|
|
|
|
|
3714 00c0 238D ldrh r3, [r4, #40]
|
|
|
3715 00c2 A06B ldr r0, [r4, #56]
|
|
|
3716 00c4 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
3717 .LVL322:
|
|
|
1435:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3718 .loc 1 1435 0
|
|
|
3719 00c8 238D ldrh r3, [r4, #40]
|
|
|
3720 00ca DBB2 uxtb r3, r3
|
|
|
3721 .LVL323:
|
|
|
3722 .LBB205:
|
|
|
3723 .LBB206:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
3724 .loc 1 4713 0
|
|
|
3725 00cc 2168 ldr r1, [r4]
|
|
|
3726 00ce 4868 ldr r0, [r1, #4]
|
|
|
3727 00d0 1C4A ldr r2, .L282+12
|
|
|
3728 00d2 0240 ands r2, r0
|
|
|
3729 00d4 AD05 lsls r5, r5, #22
|
|
|
3730 .LVL324:
|
|
|
3731 00d6 AD0D lsrs r5, r5, #22
|
|
|
3732 00d8 1B04 lsls r3, r3, #16
|
|
|
3733 .LVL325:
|
|
|
3734 00da 1D43 orrs r5, r3
|
|
|
3735 00dc 2E43 orrs r6, r5
|
|
|
3736 .LVL326:
|
|
|
3737 00de 1E4D ldr r5, .L282+32
|
|
|
3738 00e0 2E43 orrs r6, r5
|
|
|
3739 00e2 1643 orrs r6, r2
|
|
|
3740 00e4 4E60 str r6, [r1, #4]
|
|
|
3741 .LVL327:
|
|
|
3742 .LBE206:
|
|
|
3743 .LBE205:
|
|
|
1438:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3744 .loc 1 1438 0
|
|
|
3745 00e6 638D ldrh r3, [r4, #42]
|
|
|
3746 00e8 228D ldrh r2, [r4, #40]
|
|
|
3747 00ea 9B1A subs r3, r3, r2
|
|
|
3748 00ec 9BB2 uxth r3, r3
|
|
|
3749 00ee 6385 strh r3, [r4, #42]
|
|
|
1441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3750 .loc 1 1441 0
|
|
|
3751 00f0 4023 movs r3, #64
|
|
|
3752 00f2 E754 strb r7, [r4, r3]
|
|
|
3753 .LVL328:
|
|
|
3754 .LBB207:
|
|
|
3755 .LBB208:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3756 .loc 1 4728 0
|
|
|
3757 00f4 636B ldr r3, [r4, #52]
|
|
|
3758 00f6 114A ldr r2, .L282+4
|
|
|
3759 00f8 9342 cmp r3, r2
|
|
|
3760 00fa 11D0 beq .L275
|
|
|
3761 00fc 134A ldr r2, .L282+20
|
|
|
3762 00fe 9342 cmp r3, r2
|
|
|
3763 0100 0CD0 beq .L281
|
|
|
3764 0102 F221 movs r1, #242
|
|
|
3765 .L270:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 161
|
|
|
|
|
|
|
|
|
3766 .LVL329:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3767 .loc 1 4785 0
|
|
|
3768 0104 2268 ldr r2, [r4]
|
|
|
3769 0106 1368 ldr r3, [r2]
|
|
|
3770 0108 0B43 orrs r3, r1
|
|
|
3771 010a 1360 str r3, [r2]
|
|
|
3772 .LVL330:
|
|
|
3773 .LBE208:
|
|
|
3774 .LBE207:
|
|
|
1450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3775 .loc 1 1450 0
|
|
|
3776 010c 2268 ldr r2, [r4]
|
|
|
3777 010e 1168 ldr r1, [r2]
|
|
|
3778 0110 8023 movs r3, #128
|
|
|
3779 0112 DB01 lsls r3, r3, #7
|
|
|
3780 0114 0B43 orrs r3, r1
|
|
|
3781 0116 1360 str r3, [r2]
|
|
|
1473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3782 .loc 1 1473 0
|
|
|
3783 0118 0020 movs r0, #0
|
|
|
3784 011a 08E0 b .L266
|
|
|
3785 .LVL331:
|
|
|
3786 .L281:
|
|
|
3787 .LBB210:
|
|
|
3788 .LBB209:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3789 .loc 1 4728 0
|
|
|
3790 011c 9021 movs r1, #144
|
|
|
3791 011e F1E7 b .L270
|
|
|
3792 .L275:
|
|
|
3793 0120 9021 movs r1, #144
|
|
|
3794 0122 EFE7 b .L270
|
|
|
3795 .LVL332:
|
|
|
3796 .L280:
|
|
|
3797 .LBE209:
|
|
|
3798 .LBE210:
|
|
|
3799 .LBB211:
|
|
|
3800 .LBB204:
|
|
|
3801 0124 0021 movs r1, #0
|
|
|
3802 0126 B3E7 b .L271
|
|
|
3803 .L277:
|
|
|
3804 0128 0021 movs r1, #0
|
|
|
3805 012a B1E7 b .L271
|
|
|
3806 .LVL333:
|
|
|
3807 .L272:
|
|
|
3808 .LBE204:
|
|
|
3809 .LBE211:
|
|
|
1477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3810 .loc 1 1477 0
|
|
|
3811 012c 0220 movs r0, #2
|
|
|
3812 .LVL334:
|
|
|
3813 .L266:
|
|
|
1479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3814 .loc 1 1479 0
|
|
|
3815 @ sp needed
|
|
|
3816 .LVL335:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 162
|
|
|
|
|
|
|
|
|
3817 012e F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
3818 .LVL336:
|
|
|
3819 .L273:
|
|
|
1391:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3820 .loc 1 1391 0
|
|
|
3821 0130 0220 movs r0, #2
|
|
|
3822 0132 FCE7 b .L266
|
|
|
3823 .L274:
|
|
|
1395:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3824 .loc 1 1395 0
|
|
|
3825 0134 0220 movs r0, #2
|
|
|
3826 0136 FAE7 b .L266
|
|
|
3827 .L283:
|
|
|
3828 .align 2
|
|
|
3829 .L282:
|
|
|
3830 0138 0000FFFF .word -65536
|
|
|
3831 013c 00000000 .word I2C_Master_ISR_DMA
|
|
|
3832 0140 00000000 .word I2C_Master_ISR_IT
|
|
|
3833 0144 009800FC .word -67069952
|
|
|
3834 0148 00200082 .word -2113921024
|
|
|
3835 014c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
3836 0150 00000000 .word I2C_DMAMasterTransmitCplt
|
|
|
3837 0154 00000000 .word I2C_DMAError
|
|
|
3838 0158 00200080 .word -2147475456
|
|
|
3839 .cfi_endproc
|
|
|
3840 .LFE51:
|
|
|
3842 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
|
|
|
3843 .align 1
|
|
|
3844 .global HAL_I2C_Master_Receive_DMA
|
|
|
3845 .syntax unified
|
|
|
3846 .code 16
|
|
|
3847 .thumb_func
|
|
|
3848 .fpu softvfp
|
|
|
3850 HAL_I2C_Master_Receive_DMA:
|
|
|
3851 .LFB52:
|
|
|
1492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
3852 .loc 1 1492 0
|
|
|
3853 .cfi_startproc
|
|
|
3854 @ args = 0, pretend = 0, frame = 0
|
|
|
3855 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
3856 .LVL337:
|
|
|
3857 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
3858 .LCFI27:
|
|
|
3859 .cfi_def_cfa_offset 24
|
|
|
3860 .cfi_offset 3, -24
|
|
|
3861 .cfi_offset 4, -20
|
|
|
3862 .cfi_offset 5, -16
|
|
|
3863 .cfi_offset 6, -12
|
|
|
3864 .cfi_offset 7, -8
|
|
|
3865 .cfi_offset 14, -4
|
|
|
3866 0002 0400 movs r4, r0
|
|
|
3867 0004 0D00 movs r5, r1
|
|
|
3868 .LVL338:
|
|
|
1495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3869 .loc 1 1495 0
|
|
|
3870 0006 4121 movs r1, #65
|
|
|
3871 .LVL339:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 163
|
|
|
|
|
|
|
|
|
3872 0008 415C ldrb r1, [r0, r1]
|
|
|
3873 000a 2029 cmp r1, #32
|
|
|
3874 000c 00D0 beq .LCB4139
|
|
|
3875 000e 8CE0 b .L291 @long jump
|
|
|
3876 .LCB4139:
|
|
|
1497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3877 .loc 1 1497 0
|
|
|
3878 0010 0168 ldr r1, [r0]
|
|
|
3879 0012 8869 ldr r0, [r1, #24]
|
|
|
3880 .LVL340:
|
|
|
3881 0014 0004 lsls r0, r0, #16
|
|
|
3882 0016 00D5 bpl .LCB4146
|
|
|
3883 0018 89E0 b .L292 @long jump
|
|
|
3884 .LCB4146:
|
|
|
1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3885 .loc 1 1503 0
|
|
|
3886 001a 4020 movs r0, #64
|
|
|
3887 001c 205C ldrb r0, [r4, r0]
|
|
|
3888 001e 0128 cmp r0, #1
|
|
|
3889 0020 00D1 bne .LCB4150
|
|
|
3890 0022 86E0 b .L293 @long jump
|
|
|
3891 .LCB4150:
|
|
|
1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3892 .loc 1 1503 0 is_stmt 0 discriminator 2
|
|
|
3893 0024 4020 movs r0, #64
|
|
|
3894 0026 0126 movs r6, #1
|
|
|
3895 0028 2654 strb r6, [r4, r0]
|
|
|
1505:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
3896 .loc 1 1505 0 is_stmt 1 discriminator 2
|
|
|
3897 002a 0130 adds r0, r0, #1
|
|
|
3898 002c 2136 adds r6, r6, #33
|
|
|
3899 002e 2654 strb r6, [r4, r0]
|
|
|
1506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
3900 .loc 1 1506 0 discriminator 2
|
|
|
3901 0030 0130 adds r0, r0, #1
|
|
|
3902 0032 123E subs r6, r6, #18
|
|
|
3903 0034 2654 strb r6, [r4, r0]
|
|
|
1507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3904 .loc 1 1507 0 discriminator 2
|
|
|
3905 0036 0020 movs r0, #0
|
|
|
3906 0038 6064 str r0, [r4, #68]
|
|
|
1510:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
3907 .loc 1 1510 0 discriminator 2
|
|
|
3908 003a 6262 str r2, [r4, #36]
|
|
|
1511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
3909 .loc 1 1511 0 discriminator 2
|
|
|
3910 003c 6385 strh r3, [r4, #42]
|
|
|
1512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
3911 .loc 1 1512 0 discriminator 2
|
|
|
3912 003e 3E4B ldr r3, .L301
|
|
|
3913 .LVL341:
|
|
|
3914 0040 E362 str r3, [r4, #44]
|
|
|
3915 .LVL342:
|
|
|
1513:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3916 .loc 1 1513 0 discriminator 2
|
|
|
3917 0042 3E4B ldr r3, .L301+4
|
|
|
3918 0044 6363 str r3, [r4, #52]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 164
|
|
|
|
|
|
|
|
|
1515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3919 .loc 1 1515 0 discriminator 2
|
|
|
3920 0046 638D ldrh r3, [r4, #42]
|
|
|
3921 0048 9BB2 uxth r3, r3
|
|
|
3922 004a FF2B cmp r3, #255
|
|
|
3923 004c 25D9 bls .L286
|
|
|
1517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
3924 .loc 1 1517 0
|
|
|
3925 004e FF23 movs r3, #255
|
|
|
3926 0050 2385 strh r3, [r4, #40]
|
|
|
3927 .LVL343:
|
|
|
1518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3928 .loc 1 1518 0
|
|
|
3929 0052 8026 movs r6, #128
|
|
|
3930 0054 7604 lsls r6, r6, #17
|
|
|
3931 .LVL344:
|
|
|
3932 .L287:
|
|
|
1526:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
3933 .loc 1 1526 0
|
|
|
3934 0056 238D ldrh r3, [r4, #40]
|
|
|
3935 0058 002B cmp r3, #0
|
|
|
3936 005a 23D1 bne .L298
|
|
|
1563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3937 .loc 1 1563 0
|
|
|
3938 005c 384A ldr r2, .L301+8
|
|
|
3939 .LVL345:
|
|
|
3940 005e 6263 str r2, [r4, #52]
|
|
|
1567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3941 .loc 1 1567 0
|
|
|
3942 0060 DBB2 uxtb r3, r3
|
|
|
3943 .LVL346:
|
|
|
3944 .LBB212:
|
|
|
3945 .LBB213:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
3946 .loc 1 4713 0
|
|
|
3947 0062 4A68 ldr r2, [r1, #4]
|
|
|
3948 0064 3748 ldr r0, .L301+12
|
|
|
3949 0066 0240 ands r2, r0
|
|
|
3950 0068 AD05 lsls r5, r5, #22
|
|
|
3951 .LVL347:
|
|
|
3952 006a AD0D lsrs r5, r5, #22
|
|
|
3953 006c 1B04 lsls r3, r3, #16
|
|
|
3954 .LVL348:
|
|
|
3955 006e 1D43 orrs r5, r3
|
|
|
3956 0070 354B ldr r3, .L301+16
|
|
|
3957 0072 1D43 orrs r5, r3
|
|
|
3958 0074 1543 orrs r5, r2
|
|
|
3959 0076 4D60 str r5, [r1, #4]
|
|
|
3960 .LVL349:
|
|
|
3961 .LBE213:
|
|
|
3962 .LBE212:
|
|
|
1570:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3963 .loc 1 1570 0
|
|
|
3964 0078 4023 movs r3, #64
|
|
|
3965 007a 0022 movs r2, #0
|
|
|
3966 007c E254 strb r2, [r4, r3]
|
|
|
3967 .LVL350:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 165
|
|
|
|
|
|
|
|
|
3968 .LBB214:
|
|
|
3969 .LBB215:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
3970 .loc 1 4728 0
|
|
|
3971 007e 636B ldr r3, [r4, #52]
|
|
|
3972 0080 2E4A ldr r2, .L301+4
|
|
|
3973 0082 9342 cmp r3, r2
|
|
|
3974 0084 4FD0 beq .L296
|
|
|
3975 0086 314A ldr r2, .L301+20
|
|
|
3976 0088 9342 cmp r3, r2
|
|
|
3977 008a 4AD0 beq .L299
|
|
|
3978 008c F221 movs r1, #242
|
|
|
3979 .L290:
|
|
|
3980 .LVL351:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
3981 .loc 1 4785 0
|
|
|
3982 008e 2268 ldr r2, [r4]
|
|
|
3983 0090 1368 ldr r3, [r2]
|
|
|
3984 0092 0B43 orrs r3, r1
|
|
|
3985 0094 1360 str r3, [r2]
|
|
|
3986 .LBE215:
|
|
|
3987 .LBE214:
|
|
|
1580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3988 .loc 1 1580 0
|
|
|
3989 0096 0020 movs r0, #0
|
|
|
3990 0098 48E0 b .L285
|
|
|
3991 .LVL352:
|
|
|
3992 .L286:
|
|
|
1522:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
3993 .loc 1 1522 0
|
|
|
3994 009a 638D ldrh r3, [r4, #42]
|
|
|
3995 009c 2385 strh r3, [r4, #40]
|
|
|
3996 .LVL353:
|
|
|
1523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
3997 .loc 1 1523 0
|
|
|
3998 009e 8026 movs r6, #128
|
|
|
3999 00a0 B604 lsls r6, r6, #18
|
|
|
4000 00a2 D8E7 b .L287
|
|
|
4001 .LVL354:
|
|
|
4002 .L298:
|
|
|
1529:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4003 .loc 1 1529 0
|
|
|
4004 00a4 E36B ldr r3, [r4, #60]
|
|
|
4005 00a6 2A49 ldr r1, .L301+24
|
|
|
4006 00a8 D962 str r1, [r3, #44]
|
|
|
1532:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4007 .loc 1 1532 0
|
|
|
4008 00aa E36B ldr r3, [r4, #60]
|
|
|
4009 00ac 2949 ldr r1, .L301+28
|
|
|
4010 00ae 5963 str r1, [r3, #52]
|
|
|
1535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
4011 .loc 1 1535 0
|
|
|
4012 00b0 E36B ldr r3, [r4, #60]
|
|
|
4013 00b2 0027 movs r7, #0
|
|
|
4014 00b4 1F63 str r7, [r3, #48]
|
|
|
1536:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4015 .loc 1 1536 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 166
|
|
|
|
|
|
|
|
|
4016 00b6 E36B ldr r3, [r4, #60]
|
|
|
4017 00b8 9F63 str r7, [r3, #56]
|
|
|
1539:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4018 .loc 1 1539 0
|
|
|
4019 00ba 2168 ldr r1, [r4]
|
|
|
4020 00bc 2431 adds r1, r1, #36
|
|
|
4021 00be 238D ldrh r3, [r4, #40]
|
|
|
4022 00c0 E06B ldr r0, [r4, #60]
|
|
|
4023 00c2 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
4024 .LVL355:
|
|
|
1543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4025 .loc 1 1543 0
|
|
|
4026 00c6 238D ldrh r3, [r4, #40]
|
|
|
4027 00c8 DBB2 uxtb r3, r3
|
|
|
4028 .LVL356:
|
|
|
4029 .LBB217:
|
|
|
4030 .LBB218:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
4031 .loc 1 4713 0
|
|
|
4032 00ca 2168 ldr r1, [r4]
|
|
|
4033 00cc 4868 ldr r0, [r1, #4]
|
|
|
4034 00ce 1D4A ldr r2, .L301+12
|
|
|
4035 00d0 0240 ands r2, r0
|
|
|
4036 00d2 AD05 lsls r5, r5, #22
|
|
|
4037 .LVL357:
|
|
|
4038 00d4 AD0D lsrs r5, r5, #22
|
|
|
4039 00d6 1B04 lsls r3, r3, #16
|
|
|
4040 .LVL358:
|
|
|
4041 00d8 1D43 orrs r5, r3
|
|
|
4042 00da 2E43 orrs r6, r5
|
|
|
4043 .LVL359:
|
|
|
4044 00dc 1E4D ldr r5, .L301+32
|
|
|
4045 00de 2E43 orrs r6, r5
|
|
|
4046 00e0 1643 orrs r6, r2
|
|
|
4047 00e2 4E60 str r6, [r1, #4]
|
|
|
4048 .LVL360:
|
|
|
4049 .LBE218:
|
|
|
4050 .LBE217:
|
|
|
1546:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4051 .loc 1 1546 0
|
|
|
4052 00e4 638D ldrh r3, [r4, #42]
|
|
|
4053 00e6 228D ldrh r2, [r4, #40]
|
|
|
4054 00e8 9B1A subs r3, r3, r2
|
|
|
4055 00ea 9BB2 uxth r3, r3
|
|
|
4056 00ec 6385 strh r3, [r4, #42]
|
|
|
1549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4057 .loc 1 1549 0
|
|
|
4058 00ee 4023 movs r3, #64
|
|
|
4059 00f0 E754 strb r7, [r4, r3]
|
|
|
4060 .LVL361:
|
|
|
4061 .LBB219:
|
|
|
4062 .LBB220:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
4063 .loc 1 4728 0
|
|
|
4064 00f2 636B ldr r3, [r4, #52]
|
|
|
4065 00f4 114A ldr r2, .L301+4
|
|
|
4066 00f6 9342 cmp r3, r2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 167
|
|
|
|
|
|
|
|
|
4067 00f8 11D0 beq .L294
|
|
|
4068 00fa 144A ldr r2, .L301+20
|
|
|
4069 00fc 9342 cmp r3, r2
|
|
|
4070 00fe 0CD0 beq .L300
|
|
|
4071 0100 F221 movs r1, #242
|
|
|
4072 .L289:
|
|
|
4073 .LVL362:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4074 .loc 1 4785 0
|
|
|
4075 0102 2268 ldr r2, [r4]
|
|
|
4076 0104 1368 ldr r3, [r2]
|
|
|
4077 0106 0B43 orrs r3, r1
|
|
|
4078 0108 1360 str r3, [r2]
|
|
|
4079 .LVL363:
|
|
|
4080 .LBE220:
|
|
|
4081 .LBE219:
|
|
|
1558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4082 .loc 1 1558 0
|
|
|
4083 010a 2268 ldr r2, [r4]
|
|
|
4084 010c 1168 ldr r1, [r2]
|
|
|
4085 010e 8023 movs r3, #128
|
|
|
4086 0110 1B02 lsls r3, r3, #8
|
|
|
4087 0112 0B43 orrs r3, r1
|
|
|
4088 0114 1360 str r3, [r2]
|
|
|
1580:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4089 .loc 1 1580 0
|
|
|
4090 0116 0020 movs r0, #0
|
|
|
4091 0118 08E0 b .L285
|
|
|
4092 .LVL364:
|
|
|
4093 .L300:
|
|
|
4094 .LBB222:
|
|
|
4095 .LBB221:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
4096 .loc 1 4728 0
|
|
|
4097 011a 9021 movs r1, #144
|
|
|
4098 011c F1E7 b .L289
|
|
|
4099 .L294:
|
|
|
4100 011e 9021 movs r1, #144
|
|
|
4101 0120 EFE7 b .L289
|
|
|
4102 .LVL365:
|
|
|
4103 .L299:
|
|
|
4104 .LBE221:
|
|
|
4105 .LBE222:
|
|
|
4106 .LBB223:
|
|
|
4107 .LBB216:
|
|
|
4108 0122 0021 movs r1, #0
|
|
|
4109 0124 B3E7 b .L290
|
|
|
4110 .L296:
|
|
|
4111 0126 0021 movs r1, #0
|
|
|
4112 0128 B1E7 b .L290
|
|
|
4113 .LVL366:
|
|
|
4114 .L291:
|
|
|
4115 .LBE216:
|
|
|
4116 .LBE223:
|
|
|
1584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4117 .loc 1 1584 0
|
|
|
4118 012a 0220 movs r0, #2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 168
|
|
|
|
|
|
|
|
|
4119 .LVL367:
|
|
|
4120 .L285:
|
|
|
1586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4121 .loc 1 1586 0
|
|
|
4122 @ sp needed
|
|
|
4123 .LVL368:
|
|
|
4124 012c F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
4125 .LVL369:
|
|
|
4126 .L292:
|
|
|
1499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4127 .loc 1 1499 0
|
|
|
4128 012e 0220 movs r0, #2
|
|
|
4129 0130 FCE7 b .L285
|
|
|
4130 .L293:
|
|
|
1503:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4131 .loc 1 1503 0
|
|
|
4132 0132 0220 movs r0, #2
|
|
|
4133 0134 FAE7 b .L285
|
|
|
4134 .L302:
|
|
|
4135 0136 C046 .align 2
|
|
|
4136 .L301:
|
|
|
4137 0138 0000FFFF .word -65536
|
|
|
4138 013c 00000000 .word I2C_Master_ISR_DMA
|
|
|
4139 0140 00000000 .word I2C_Master_ISR_IT
|
|
|
4140 0144 009800FC .word -67069952
|
|
|
4141 0148 00240082 .word -2113920000
|
|
|
4142 014c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
4143 0150 00000000 .word I2C_DMAMasterReceiveCplt
|
|
|
4144 0154 00000000 .word I2C_DMAError
|
|
|
4145 0158 00240080 .word -2147474432
|
|
|
4146 .cfi_endproc
|
|
|
4147 .LFE52:
|
|
|
4149 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
|
|
|
4150 .align 1
|
|
|
4151 .global HAL_I2C_Slave_Transmit_DMA
|
|
|
4152 .syntax unified
|
|
|
4153 .code 16
|
|
|
4154 .thumb_func
|
|
|
4155 .fpu softvfp
|
|
|
4157 HAL_I2C_Slave_Transmit_DMA:
|
|
|
4158 .LFB53:
|
|
|
1597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
4159 .loc 1 1597 0
|
|
|
4160 .cfi_startproc
|
|
|
4161 @ args = 0, pretend = 0, frame = 0
|
|
|
4162 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4163 .LVL370:
|
|
|
4164 0000 70B5 push {r4, r5, r6, lr}
|
|
|
4165 .LCFI28:
|
|
|
4166 .cfi_def_cfa_offset 16
|
|
|
4167 .cfi_offset 4, -16
|
|
|
4168 .cfi_offset 5, -12
|
|
|
4169 .cfi_offset 6, -8
|
|
|
4170 .cfi_offset 14, -4
|
|
|
4171 0002 0400 movs r4, r0
|
|
|
1598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4172 .loc 1 1598 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 169
|
|
|
|
|
|
|
|
|
4173 0004 4123 movs r3, #65
|
|
|
4174 0006 C35C ldrb r3, [r0, r3]
|
|
|
4175 0008 202B cmp r3, #32
|
|
|
4176 000a 3DD1 bne .L305
|
|
|
1600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4177 .loc 1 1600 0
|
|
|
4178 000c 0029 cmp r1, #0
|
|
|
4179 000e 3DD0 beq .L306
|
|
|
1600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4180 .loc 1 1600 0 is_stmt 0 discriminator 1
|
|
|
4181 0010 002A cmp r2, #0
|
|
|
4182 0012 3DD0 beq .L307
|
|
|
1605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4183 .loc 1 1605 0 is_stmt 1
|
|
|
4184 0014 2033 adds r3, r3, #32
|
|
|
4185 0016 C35C ldrb r3, [r0, r3]
|
|
|
4186 0018 012B cmp r3, #1
|
|
|
4187 001a 3BD0 beq .L308
|
|
|
1605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4188 .loc 1 1605 0 is_stmt 0 discriminator 2
|
|
|
4189 001c 4026 movs r6, #64
|
|
|
4190 001e 0123 movs r3, #1
|
|
|
4191 0020 8355 strb r3, [r0, r6]
|
|
|
1607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
4192 .loc 1 1607 0 is_stmt 1 discriminator 2
|
|
|
4193 0022 4033 adds r3, r3, #64
|
|
|
4194 0024 2120 movs r0, #33
|
|
|
4195 .LVL371:
|
|
|
4196 0026 E054 strb r0, [r4, r3]
|
|
|
1608:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
4197 .loc 1 1608 0 discriminator 2
|
|
|
4198 0028 0133 adds r3, r3, #1
|
|
|
4199 002a 0138 subs r0, r0, #1
|
|
|
4200 002c E054 strb r0, [r4, r3]
|
|
|
1609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4201 .loc 1 1609 0 discriminator 2
|
|
|
4202 002e 0025 movs r5, #0
|
|
|
4203 0030 6564 str r5, [r4, #68]
|
|
|
1612:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
4204 .loc 1 1612 0 discriminator 2
|
|
|
4205 0032 6162 str r1, [r4, #36]
|
|
|
1613:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
4206 .loc 1 1613 0 discriminator 2
|
|
|
4207 0034 6285 strh r2, [r4, #42]
|
|
|
1614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
4208 .loc 1 1614 0 discriminator 2
|
|
|
4209 0036 638D ldrh r3, [r4, #42]
|
|
|
4210 0038 2385 strh r3, [r4, #40]
|
|
|
1615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
|
|
|
4211 .loc 1 1615 0 discriminator 2
|
|
|
4212 003a 174B ldr r3, .L309
|
|
|
4213 003c E362 str r3, [r4, #44]
|
|
|
1616:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4214 .loc 1 1616 0 discriminator 2
|
|
|
4215 003e 174B ldr r3, .L309+4
|
|
|
4216 0040 6363 str r3, [r4, #52]
|
|
|
1619:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 170
|
|
|
|
|
|
|
|
|
4217 .loc 1 1619 0 discriminator 2
|
|
|
4218 0042 A36B ldr r3, [r4, #56]
|
|
|
4219 0044 164A ldr r2, .L309+8
|
|
|
4220 .LVL372:
|
|
|
4221 0046 DA62 str r2, [r3, #44]
|
|
|
1622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4222 .loc 1 1622 0 discriminator 2
|
|
|
4223 0048 A36B ldr r3, [r4, #56]
|
|
|
4224 004a 164A ldr r2, .L309+12
|
|
|
4225 004c 5A63 str r2, [r3, #52]
|
|
|
1625:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
4226 .loc 1 1625 0 discriminator 2
|
|
|
4227 004e A36B ldr r3, [r4, #56]
|
|
|
4228 0050 1D63 str r5, [r3, #48]
|
|
|
1626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4229 .loc 1 1626 0 discriminator 2
|
|
|
4230 0052 A36B ldr r3, [r4, #56]
|
|
|
4231 0054 9D63 str r5, [r3, #56]
|
|
|
1629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4232 .loc 1 1629 0 discriminator 2
|
|
|
4233 0056 2268 ldr r2, [r4]
|
|
|
4234 0058 2832 adds r2, r2, #40
|
|
|
4235 005a 238D ldrh r3, [r4, #40]
|
|
|
4236 005c A06B ldr r0, [r4, #56]
|
|
|
4237 005e FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
4238 .LVL373:
|
|
|
1632:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4239 .loc 1 1632 0 discriminator 2
|
|
|
4240 0062 2268 ldr r2, [r4]
|
|
|
4241 0064 5368 ldr r3, [r2, #4]
|
|
|
4242 0066 1049 ldr r1, .L309+16
|
|
|
4243 0068 0B40 ands r3, r1
|
|
|
4244 006a 5360 str r3, [r2, #4]
|
|
|
1635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4245 .loc 1 1635 0 discriminator 2
|
|
|
4246 006c A555 strb r5, [r4, r6]
|
|
|
4247 .LVL374:
|
|
|
4248 .LBB224:
|
|
|
4249 .LBB225:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4250 .loc 1 4785 0 discriminator 2
|
|
|
4251 006e 2268 ldr r2, [r4]
|
|
|
4252 0070 1368 ldr r3, [r2]
|
|
|
4253 0072 B821 movs r1, #184
|
|
|
4254 0074 0B43 orrs r3, r1
|
|
|
4255 0076 1360 str r3, [r2]
|
|
|
4256 .LVL375:
|
|
|
4257 .LBE225:
|
|
|
4258 .LBE224:
|
|
|
1644:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4259 .loc 1 1644 0 discriminator 2
|
|
|
4260 0078 2268 ldr r2, [r4]
|
|
|
4261 007a 1168 ldr r1, [r2]
|
|
|
4262 007c 8023 movs r3, #128
|
|
|
4263 007e DB01 lsls r3, r3, #7
|
|
|
4264 0080 0B43 orrs r3, r1
|
|
|
4265 0082 1360 str r3, [r2]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 171
|
|
|
|
|
|
|
|
|
1646:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4266 .loc 1 1646 0 discriminator 2
|
|
|
4267 0084 0020 movs r0, #0
|
|
|
4268 0086 00E0 b .L304
|
|
|
4269 .LVL376:
|
|
|
4270 .L305:
|
|
|
1650:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4271 .loc 1 1650 0
|
|
|
4272 0088 0220 movs r0, #2
|
|
|
4273 .LVL377:
|
|
|
4274 .L304:
|
|
|
1652:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4275 .loc 1 1652 0
|
|
|
4276 @ sp needed
|
|
|
4277 .LVL378:
|
|
|
4278 008a 70BD pop {r4, r5, r6, pc}
|
|
|
4279 .LVL379:
|
|
|
4280 .L306:
|
|
|
1602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4281 .loc 1 1602 0
|
|
|
4282 008c 0120 movs r0, #1
|
|
|
4283 .LVL380:
|
|
|
4284 008e FCE7 b .L304
|
|
|
4285 .LVL381:
|
|
|
4286 .L307:
|
|
|
4287 0090 0120 movs r0, #1
|
|
|
4288 .LVL382:
|
|
|
4289 0092 FAE7 b .L304
|
|
|
4290 .LVL383:
|
|
|
4291 .L308:
|
|
|
1605:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4292 .loc 1 1605 0
|
|
|
4293 0094 0220 movs r0, #2
|
|
|
4294 .LVL384:
|
|
|
4295 0096 F8E7 b .L304
|
|
|
4296 .L310:
|
|
|
4297 .align 2
|
|
|
4298 .L309:
|
|
|
4299 0098 0000FFFF .word -65536
|
|
|
4300 009c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
4301 00a0 00000000 .word I2C_DMASlaveTransmitCplt
|
|
|
4302 00a4 00000000 .word I2C_DMAError
|
|
|
4303 00a8 FF7FFFFF .word -32769
|
|
|
4304 .cfi_endproc
|
|
|
4305 .LFE53:
|
|
|
4307 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
|
|
|
4308 .align 1
|
|
|
4309 .global HAL_I2C_Slave_Receive_DMA
|
|
|
4310 .syntax unified
|
|
|
4311 .code 16
|
|
|
4312 .thumb_func
|
|
|
4313 .fpu softvfp
|
|
|
4315 HAL_I2C_Slave_Receive_DMA:
|
|
|
4316 .LFB54:
|
|
|
1663:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
4317 .loc 1 1663 0
|
|
|
4318 .cfi_startproc
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 172
|
|
|
|
|
|
|
|
|
4319 @ args = 0, pretend = 0, frame = 0
|
|
|
4320 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4321 .LVL385:
|
|
|
4322 0000 70B5 push {r4, r5, r6, lr}
|
|
|
4323 .LCFI29:
|
|
|
4324 .cfi_def_cfa_offset 16
|
|
|
4325 .cfi_offset 4, -16
|
|
|
4326 .cfi_offset 5, -12
|
|
|
4327 .cfi_offset 6, -8
|
|
|
4328 .cfi_offset 14, -4
|
|
|
4329 0002 0400 movs r4, r0
|
|
|
1664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4330 .loc 1 1664 0
|
|
|
4331 0004 4123 movs r3, #65
|
|
|
4332 0006 C35C ldrb r3, [r0, r3]
|
|
|
4333 0008 202B cmp r3, #32
|
|
|
4334 000a 3FD1 bne .L313
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4335 .loc 1 1666 0
|
|
|
4336 000c 0029 cmp r1, #0
|
|
|
4337 000e 3FD0 beq .L314
|
|
|
1666:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4338 .loc 1 1666 0 is_stmt 0 discriminator 1
|
|
|
4339 0010 002A cmp r2, #0
|
|
|
4340 0012 3FD0 beq .L315
|
|
|
1671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4341 .loc 1 1671 0 is_stmt 1
|
|
|
4342 0014 2033 adds r3, r3, #32
|
|
|
4343 0016 C35C ldrb r3, [r0, r3]
|
|
|
4344 0018 012B cmp r3, #1
|
|
|
4345 001a 3DD0 beq .L316
|
|
|
1671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4346 .loc 1 1671 0 is_stmt 0 discriminator 2
|
|
|
4347 001c 4026 movs r6, #64
|
|
|
4348 001e 0123 movs r3, #1
|
|
|
4349 0020 8355 strb r3, [r0, r6]
|
|
|
1673:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
4350 .loc 1 1673 0 is_stmt 1 discriminator 2
|
|
|
4351 0022 4033 adds r3, r3, #64
|
|
|
4352 0024 2220 movs r0, #34
|
|
|
4353 .LVL386:
|
|
|
4354 0026 E054 strb r0, [r4, r3]
|
|
|
1674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
4355 .loc 1 1674 0 discriminator 2
|
|
|
4356 0028 0133 adds r3, r3, #1
|
|
|
4357 002a 0238 subs r0, r0, #2
|
|
|
4358 002c E054 strb r0, [r4, r3]
|
|
|
1675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4359 .loc 1 1675 0 discriminator 2
|
|
|
4360 002e 0025 movs r5, #0
|
|
|
4361 0030 6564 str r5, [r4, #68]
|
|
|
1678:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
4362 .loc 1 1678 0 discriminator 2
|
|
|
4363 0032 6162 str r1, [r4, #36]
|
|
|
1679:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
4364 .loc 1 1679 0 discriminator 2
|
|
|
4365 0034 6285 strh r2, [r4, #42]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 173
|
|
|
|
|
|
|
|
|
1680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
4366 .loc 1 1680 0 discriminator 2
|
|
|
4367 0036 638D ldrh r3, [r4, #42]
|
|
|
4368 0038 2385 strh r3, [r4, #40]
|
|
|
1681:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
|
|
|
4369 .loc 1 1681 0 discriminator 2
|
|
|
4370 003a 184B ldr r3, .L317
|
|
|
4371 003c E362 str r3, [r4, #44]
|
|
|
1682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4372 .loc 1 1682 0 discriminator 2
|
|
|
4373 003e 184B ldr r3, .L317+4
|
|
|
4374 0040 6363 str r3, [r4, #52]
|
|
|
1685:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4375 .loc 1 1685 0 discriminator 2
|
|
|
4376 0042 E36B ldr r3, [r4, #60]
|
|
|
4377 0044 174A ldr r2, .L317+8
|
|
|
4378 .LVL387:
|
|
|
4379 0046 DA62 str r2, [r3, #44]
|
|
|
1688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4380 .loc 1 1688 0 discriminator 2
|
|
|
4381 0048 E36B ldr r3, [r4, #60]
|
|
|
4382 004a 174A ldr r2, .L317+12
|
|
|
4383 004c 5A63 str r2, [r3, #52]
|
|
|
1691:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
4384 .loc 1 1691 0 discriminator 2
|
|
|
4385 004e E36B ldr r3, [r4, #60]
|
|
|
4386 0050 1D63 str r5, [r3, #48]
|
|
|
1692:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4387 .loc 1 1692 0 discriminator 2
|
|
|
4388 0052 E36B ldr r3, [r4, #60]
|
|
|
4389 0054 9D63 str r5, [r3, #56]
|
|
|
1695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4390 .loc 1 1695 0 discriminator 2
|
|
|
4391 0056 2068 ldr r0, [r4]
|
|
|
4392 0058 2430 adds r0, r0, #36
|
|
|
4393 005a 238D ldrh r3, [r4, #40]
|
|
|
4394 005c 0A00 movs r2, r1
|
|
|
4395 005e 0100 movs r1, r0
|
|
|
4396 .LVL388:
|
|
|
4397 0060 E06B ldr r0, [r4, #60]
|
|
|
4398 0062 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
4399 .LVL389:
|
|
|
1698:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4400 .loc 1 1698 0 discriminator 2
|
|
|
4401 0066 2268 ldr r2, [r4]
|
|
|
4402 0068 5368 ldr r3, [r2, #4]
|
|
|
4403 006a 1049 ldr r1, .L317+16
|
|
|
4404 006c 0B40 ands r3, r1
|
|
|
4405 006e 5360 str r3, [r2, #4]
|
|
|
1701:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4406 .loc 1 1701 0 discriminator 2
|
|
|
4407 0070 A555 strb r5, [r4, r6]
|
|
|
4408 .LVL390:
|
|
|
4409 .LBB226:
|
|
|
4410 .LBB227:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4411 .loc 1 4785 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 174
|
|
|
|
|
|
|
|
|
4412 0072 2268 ldr r2, [r4]
|
|
|
4413 0074 1368 ldr r3, [r2]
|
|
|
4414 0076 B821 movs r1, #184
|
|
|
4415 0078 0B43 orrs r3, r1
|
|
|
4416 007a 1360 str r3, [r2]
|
|
|
4417 .LVL391:
|
|
|
4418 .LBE227:
|
|
|
4419 .LBE226:
|
|
|
1710:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4420 .loc 1 1710 0 discriminator 2
|
|
|
4421 007c 2268 ldr r2, [r4]
|
|
|
4422 007e 1168 ldr r1, [r2]
|
|
|
4423 0080 8023 movs r3, #128
|
|
|
4424 0082 1B02 lsls r3, r3, #8
|
|
|
4425 0084 0B43 orrs r3, r1
|
|
|
4426 0086 1360 str r3, [r2]
|
|
|
1712:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4427 .loc 1 1712 0 discriminator 2
|
|
|
4428 0088 0020 movs r0, #0
|
|
|
4429 008a 00E0 b .L312
|
|
|
4430 .LVL392:
|
|
|
4431 .L313:
|
|
|
1716:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4432 .loc 1 1716 0
|
|
|
4433 008c 0220 movs r0, #2
|
|
|
4434 .LVL393:
|
|
|
4435 .L312:
|
|
|
1718:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
4436 .loc 1 1718 0
|
|
|
4437 @ sp needed
|
|
|
4438 .LVL394:
|
|
|
4439 008e 70BD pop {r4, r5, r6, pc}
|
|
|
4440 .LVL395:
|
|
|
4441 .L314:
|
|
|
1668:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4442 .loc 1 1668 0
|
|
|
4443 0090 0120 movs r0, #1
|
|
|
4444 .LVL396:
|
|
|
4445 0092 FCE7 b .L312
|
|
|
4446 .LVL397:
|
|
|
4447 .L315:
|
|
|
4448 0094 0120 movs r0, #1
|
|
|
4449 .LVL398:
|
|
|
4450 0096 FAE7 b .L312
|
|
|
4451 .LVL399:
|
|
|
4452 .L316:
|
|
|
1671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4453 .loc 1 1671 0
|
|
|
4454 0098 0220 movs r0, #2
|
|
|
4455 .LVL400:
|
|
|
4456 009a F8E7 b .L312
|
|
|
4457 .L318:
|
|
|
4458 .align 2
|
|
|
4459 .L317:
|
|
|
4460 009c 0000FFFF .word -65536
|
|
|
4461 00a0 00000000 .word I2C_Slave_ISR_DMA
|
|
|
4462 00a4 00000000 .word I2C_DMASlaveReceiveCplt
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 175
|
|
|
|
|
|
|
|
|
4463 00a8 00000000 .word I2C_DMAError
|
|
|
4464 00ac FF7FFFFF .word -32769
|
|
|
4465 .cfi_endproc
|
|
|
4466 .LFE54:
|
|
|
4468 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
|
|
|
4469 .align 1
|
|
|
4470 .global HAL_I2C_Mem_Write
|
|
|
4471 .syntax unified
|
|
|
4472 .code 16
|
|
|
4473 .thumb_func
|
|
|
4474 .fpu softvfp
|
|
|
4476 HAL_I2C_Mem_Write:
|
|
|
4477 .LFB55:
|
|
|
1733:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
4478 .loc 1 1733 0
|
|
|
4479 .cfi_startproc
|
|
|
4480 @ args = 12, pretend = 0, frame = 16
|
|
|
4481 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4482 .LVL401:
|
|
|
4483 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
4484 .LCFI30:
|
|
|
4485 .cfi_def_cfa_offset 20
|
|
|
4486 .cfi_offset 4, -20
|
|
|
4487 .cfi_offset 5, -16
|
|
|
4488 .cfi_offset 6, -12
|
|
|
4489 .cfi_offset 7, -8
|
|
|
4490 .cfi_offset 14, -4
|
|
|
4491 0002 87B0 sub sp, sp, #28
|
|
|
4492 .LCFI31:
|
|
|
4493 .cfi_def_cfa_offset 48
|
|
|
4494 0004 0400 movs r4, r0
|
|
|
4495 0006 0391 str r1, [sp, #12]
|
|
|
4496 0008 0492 str r2, [sp, #16]
|
|
|
4497 000a 0593 str r3, [sp, #20]
|
|
|
4498 000c 0CAB add r3, sp, #48
|
|
|
4499 .LVL402:
|
|
|
4500 000e 20CB ldmia r3!, {r5}
|
|
|
4501 .LVL403:
|
|
|
4502 0010 1F88 ldrh r7, [r3]
|
|
|
4503 .LVL404:
|
|
|
1739:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4504 .loc 1 1739 0
|
|
|
4505 0012 4123 movs r3, #65
|
|
|
4506 .LVL405:
|
|
|
4507 0014 C35C ldrb r3, [r0, r3]
|
|
|
4508 0016 202B cmp r3, #32
|
|
|
4509 0018 00D0 beq .LCB4820
|
|
|
4510 001a E1E0 b .L332 @long jump
|
|
|
4511 .LCB4820:
|
|
|
1741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4512 .loc 1 1741 0
|
|
|
4513 001c 002D cmp r5, #0
|
|
|
4514 001e 00D1 bne .LCB4822
|
|
|
4515 0020 E1E0 b .L333 @long jump
|
|
|
4516 .LCB4822:
|
|
|
1741:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4517 .loc 1 1741 0 is_stmt 0 discriminator 1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 176
|
|
|
|
|
|
|
|
|
4518 0022 002F cmp r7, #0
|
|
|
4519 0024 00D1 bne .LCB4824
|
|
|
4520 0026 E0E0 b .L334 @long jump
|
|
|
4521 .LCB4824:
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4522 .loc 1 1747 0 is_stmt 1
|
|
|
4523 0028 2033 adds r3, r3, #32
|
|
|
4524 002a C35C ldrb r3, [r0, r3]
|
|
|
4525 002c 012B cmp r3, #1
|
|
|
4526 002e 00D1 bne .LCB4828
|
|
|
4527 0030 DDE0 b .L335 @long jump
|
|
|
4528 .LCB4828:
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4529 .loc 1 1747 0 is_stmt 0 discriminator 2
|
|
|
4530 0032 4023 movs r3, #64
|
|
|
4531 0034 0122 movs r2, #1
|
|
|
4532 .LVL406:
|
|
|
4533 0036 C254 strb r2, [r0, r3]
|
|
|
1750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4534 .loc 1 1750 0 is_stmt 1 discriminator 2
|
|
|
4535 0038 FFF7FEFF bl HAL_GetTick
|
|
|
4536 .LVL407:
|
|
|
4537 003c 0600 movs r6, r0
|
|
|
4538 .LVL408:
|
|
|
4539 .L321:
|
|
|
4540 .LBB228:
|
|
|
4541 .LBB229:
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4542 .loc 1 4487 0
|
|
|
4543 003e 2368 ldr r3, [r4]
|
|
|
4544 0040 9B69 ldr r3, [r3, #24]
|
|
|
4545 0042 1B04 lsls r3, r3, #16
|
|
|
4546 0044 0ED5 bpl .L339
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4547 .loc 1 4492 0
|
|
|
4548 0046 FFF7FEFF bl HAL_GetTick
|
|
|
4549 .LVL409:
|
|
|
4550 004a 801B subs r0, r0, r6
|
|
|
4551 004c 1928 cmp r0, #25
|
|
|
4552 004e F6D9 bls .L321
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4553 .loc 1 4494 0
|
|
|
4554 0050 4123 movs r3, #65
|
|
|
4555 0052 2022 movs r2, #32
|
|
|
4556 0054 E254 strb r2, [r4, r3]
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4557 .loc 1 4495 0
|
|
|
4558 0056 0023 movs r3, #0
|
|
|
4559 0058 2232 adds r2, r2, #34
|
|
|
4560 005a A354 strb r3, [r4, r2]
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4561 .loc 1 4498 0
|
|
|
4562 005c 023A subs r2, r2, #2
|
|
|
4563 005e A354 strb r3, [r4, r2]
|
|
|
4564 .LVL410:
|
|
|
4565 .LBE229:
|
|
|
4566 .LBE228:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 177
|
|
|
|
|
|
|
|
|
1754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4567 .loc 1 1754 0
|
|
|
4568 0060 0320 movs r0, #3
|
|
|
4569 0062 BEE0 b .L320
|
|
|
4570 .LVL411:
|
|
|
4571 .L339:
|
|
|
1757:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
4572 .loc 1 1757 0
|
|
|
4573 0064 4123 movs r3, #65
|
|
|
4574 0066 2122 movs r2, #33
|
|
|
4575 0068 E254 strb r2, [r4, r3]
|
|
|
1758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
4576 .loc 1 1758 0
|
|
|
4577 006a 0133 adds r3, r3, #1
|
|
|
4578 006c 1F32 adds r2, r2, #31
|
|
|
4579 006e E254 strb r2, [r4, r3]
|
|
|
1759:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4580 .loc 1 1759 0
|
|
|
4581 0070 0023 movs r3, #0
|
|
|
4582 0072 6364 str r3, [r4, #68]
|
|
|
1762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
4583 .loc 1 1762 0
|
|
|
4584 0074 6562 str r5, [r4, #36]
|
|
|
1763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
4585 .loc 1 1763 0
|
|
|
4586 0076 6785 strh r7, [r4, #42]
|
|
|
1764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4587 .loc 1 1764 0
|
|
|
4588 0078 6363 str r3, [r4, #52]
|
|
|
1767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4589 .loc 1 1767 0
|
|
|
4590 007a 0196 str r6, [sp, #4]
|
|
|
4591 007c 0E9B ldr r3, [sp, #56]
|
|
|
4592 007e 0093 str r3, [sp]
|
|
|
4593 0080 059B ldr r3, [sp, #20]
|
|
|
4594 0082 049A ldr r2, [sp, #16]
|
|
|
4595 0084 0399 ldr r1, [sp, #12]
|
|
|
4596 0086 2000 movs r0, r4
|
|
|
4597 0088 FFF7FEFF bl I2C_RequestMemoryWrite
|
|
|
4598 .LVL412:
|
|
|
4599 008c 0028 cmp r0, #0
|
|
|
4600 008e 0CD0 beq .L323
|
|
|
1769:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4601 .loc 1 1769 0
|
|
|
4602 0090 636C ldr r3, [r4, #68]
|
|
|
4603 0092 042B cmp r3, #4
|
|
|
4604 0094 04D1 bne .L324
|
|
|
1772:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4605 .loc 1 1772 0
|
|
|
4606 0096 3C33 adds r3, r3, #60
|
|
|
4607 0098 0022 movs r2, #0
|
|
|
4608 009a E254 strb r2, [r4, r3]
|
|
|
1773:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4609 .loc 1 1773 0
|
|
|
4610 009c 0120 movs r0, #1
|
|
|
4611 009e A0E0 b .L320
|
|
|
4612 .L324:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 178
|
|
|
|
|
|
|
|
|
1778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4613 .loc 1 1778 0
|
|
|
4614 00a0 4023 movs r3, #64
|
|
|
4615 00a2 0022 movs r2, #0
|
|
|
4616 00a4 E254 strb r2, [r4, r3]
|
|
|
1779:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4617 .loc 1 1779 0
|
|
|
4618 00a6 0320 movs r0, #3
|
|
|
4619 00a8 9BE0 b .L320
|
|
|
4620 .L323:
|
|
|
1784:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4621 .loc 1 1784 0
|
|
|
4622 00aa 638D ldrh r3, [r4, #42]
|
|
|
4623 00ac 9BB2 uxth r3, r3
|
|
|
4624 00ae FF2B cmp r3, #255
|
|
|
4625 00b0 11D9 bls .L325
|
|
|
1786:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
4626 .loc 1 1786 0
|
|
|
4627 00b2 FF23 movs r3, #255
|
|
|
4628 00b4 2385 strh r3, [r4, #40]
|
|
|
4629 .LVL413:
|
|
|
4630 .LBB230:
|
|
|
4631 .LBB231:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
4632 .loc 1 4713 0
|
|
|
4633 00b6 2068 ldr r0, [r4]
|
|
|
4634 00b8 4368 ldr r3, [r0, #4]
|
|
|
4635 00ba 514A ldr r2, .L342
|
|
|
4636 00bc 1340 ands r3, r2
|
|
|
4637 00be 039A ldr r2, [sp, #12]
|
|
|
4638 00c0 9105 lsls r1, r2, #22
|
|
|
4639 00c2 890D lsrs r1, r1, #22
|
|
|
4640 00c4 FF22 movs r2, #255
|
|
|
4641 00c6 1204 lsls r2, r2, #16
|
|
|
4642 00c8 1143 orrs r1, r2
|
|
|
4643 00ca 8022 movs r2, #128
|
|
|
4644 00cc 5204 lsls r2, r2, #17
|
|
|
4645 00ce 0A43 orrs r2, r1
|
|
|
4646 00d0 1343 orrs r3, r2
|
|
|
4647 00d2 4360 str r3, [r0, #4]
|
|
|
4648 00d4 2EE0 b .L330
|
|
|
4649 .LVL414:
|
|
|
4650 .L325:
|
|
|
4651 .LBE231:
|
|
|
4652 .LBE230:
|
|
|
1791:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
4653 .loc 1 1791 0
|
|
|
4654 00d6 638D ldrh r3, [r4, #42]
|
|
|
4655 00d8 9BB2 uxth r3, r3
|
|
|
4656 00da 2385 strh r3, [r4, #40]
|
|
|
1792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4657 .loc 1 1792 0
|
|
|
4658 00dc DBB2 uxtb r3, r3
|
|
|
4659 .LVL415:
|
|
|
4660 .LBB232:
|
|
|
4661 .LBB233:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 179
|
|
|
|
|
|
|
|
|
4662 .loc 1 4713 0
|
|
|
4663 00de 2068 ldr r0, [r4]
|
|
|
4664 00e0 4268 ldr r2, [r0, #4]
|
|
|
4665 00e2 4749 ldr r1, .L342
|
|
|
4666 00e4 0A40 ands r2, r1
|
|
|
4667 00e6 0399 ldr r1, [sp, #12]
|
|
|
4668 00e8 8905 lsls r1, r1, #22
|
|
|
4669 00ea 890D lsrs r1, r1, #22
|
|
|
4670 00ec 1B04 lsls r3, r3, #16
|
|
|
4671 .LVL416:
|
|
|
4672 00ee 0B43 orrs r3, r1
|
|
|
4673 00f0 8021 movs r1, #128
|
|
|
4674 00f2 8904 lsls r1, r1, #18
|
|
|
4675 00f4 0B43 orrs r3, r1
|
|
|
4676 00f6 1343 orrs r3, r2
|
|
|
4677 00f8 4360 str r3, [r0, #4]
|
|
|
4678 .LVL417:
|
|
|
4679 00fa 1BE0 b .L330
|
|
|
4680 .LVL418:
|
|
|
4681 .L341:
|
|
|
4682 .LBE233:
|
|
|
4683 .LBE232:
|
|
|
1800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4684 .loc 1 1800 0
|
|
|
4685 00fc 636C ldr r3, [r4, #68]
|
|
|
4686 00fe 042B cmp r3, #4
|
|
|
4687 0100 00D0 beq .LCB5020
|
|
|
4688 0102 76E0 b .L336 @long jump
|
|
|
4689 .LCB5020:
|
|
|
1802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4690 .loc 1 1802 0
|
|
|
4691 0104 0120 movs r0, #1
|
|
|
4692 0106 6CE0 b .L320
|
|
|
4693 .L329:
|
|
|
1830:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
4694 .loc 1 1830 0
|
|
|
4695 0108 638D ldrh r3, [r4, #42]
|
|
|
4696 010a 9BB2 uxth r3, r3
|
|
|
4697 010c 2385 strh r3, [r4, #40]
|
|
|
1831:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4698 .loc 1 1831 0
|
|
|
4699 010e DBB2 uxtb r3, r3
|
|
|
4700 .LVL419:
|
|
|
4701 .LBB234:
|
|
|
4702 .LBB235:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
4703 .loc 1 4713 0
|
|
|
4704 0110 2068 ldr r0, [r4]
|
|
|
4705 0112 4268 ldr r2, [r0, #4]
|
|
|
4706 0114 3A49 ldr r1, .L342
|
|
|
4707 0116 0A40 ands r2, r1
|
|
|
4708 0118 0399 ldr r1, [sp, #12]
|
|
|
4709 011a 8905 lsls r1, r1, #22
|
|
|
4710 011c 890D lsrs r1, r1, #22
|
|
|
4711 011e 1B04 lsls r3, r3, #16
|
|
|
4712 .LVL420:
|
|
|
4713 0120 0B43 orrs r3, r1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 180
|
|
|
|
|
|
|
|
|
4714 0122 8021 movs r1, #128
|
|
|
4715 0124 8904 lsls r1, r1, #18
|
|
|
4716 0126 0B43 orrs r3, r1
|
|
|
4717 0128 1343 orrs r3, r2
|
|
|
4718 012a 4360 str r3, [r0, #4]
|
|
|
4719 .LVL421:
|
|
|
4720 .L328:
|
|
|
4721 .LBE235:
|
|
|
4722 .LBE234:
|
|
|
1836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4723 .loc 1 1836 0
|
|
|
4724 012c 638D ldrh r3, [r4, #42]
|
|
|
4725 012e 9BB2 uxth r3, r3
|
|
|
4726 0130 002B cmp r3, #0
|
|
|
4727 0132 39D0 beq .L340
|
|
|
4728 .L330:
|
|
|
1798:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4729 .loc 1 1798 0
|
|
|
4730 0134 3200 movs r2, r6
|
|
|
4731 0136 0E99 ldr r1, [sp, #56]
|
|
|
4732 0138 2000 movs r0, r4
|
|
|
4733 013a FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
|
|
|
4734 .LVL422:
|
|
|
4735 013e 0028 cmp r0, #0
|
|
|
4736 0140 DCD1 bne .L341
|
|
|
1811:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
4737 .loc 1 1811 0
|
|
|
4738 0142 636A ldr r3, [r4, #36]
|
|
|
4739 0144 5A1C adds r2, r3, #1
|
|
|
4740 0146 6262 str r2, [r4, #36]
|
|
|
4741 0148 2268 ldr r2, [r4]
|
|
|
4742 014a 1B78 ldrb r3, [r3]
|
|
|
4743 014c 9362 str r3, [r2, #40]
|
|
|
1812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
4744 .loc 1 1812 0
|
|
|
4745 014e 638D ldrh r3, [r4, #42]
|
|
|
4746 0150 013B subs r3, r3, #1
|
|
|
4747 0152 9BB2 uxth r3, r3
|
|
|
4748 0154 6385 strh r3, [r4, #42]
|
|
|
1813:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4749 .loc 1 1813 0
|
|
|
4750 0156 238D ldrh r3, [r4, #40]
|
|
|
4751 0158 013B subs r3, r3, #1
|
|
|
4752 015a 9BB2 uxth r3, r3
|
|
|
4753 015c 2385 strh r3, [r4, #40]
|
|
|
1815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4754 .loc 1 1815 0
|
|
|
4755 015e 002B cmp r3, #0
|
|
|
4756 0160 E4D1 bne .L328
|
|
|
1815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4757 .loc 1 1815 0 is_stmt 0 discriminator 1
|
|
|
4758 0162 638D ldrh r3, [r4, #42]
|
|
|
4759 0164 9BB2 uxth r3, r3
|
|
|
4760 0166 002B cmp r3, #0
|
|
|
4761 0168 E0D0 beq .L328
|
|
|
1818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4762 .loc 1 1818 0 is_stmt 1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 181
|
|
|
|
|
|
|
|
|
4763 016a 0096 str r6, [sp]
|
|
|
4764 016c 0E9B ldr r3, [sp, #56]
|
|
|
4765 016e 0022 movs r2, #0
|
|
|
4766 0170 8021 movs r1, #128
|
|
|
4767 0172 2000 movs r0, r4
|
|
|
4768 0174 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
4769 .LVL423:
|
|
|
4770 0178 0028 cmp r0, #0
|
|
|
4771 017a 3CD1 bne .L337
|
|
|
1823:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4772 .loc 1 1823 0
|
|
|
4773 017c 638D ldrh r3, [r4, #42]
|
|
|
4774 017e 9BB2 uxth r3, r3
|
|
|
4775 0180 FF2B cmp r3, #255
|
|
|
4776 0182 C1D9 bls .L329
|
|
|
1825:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
4777 .loc 1 1825 0
|
|
|
4778 0184 FF23 movs r3, #255
|
|
|
4779 0186 2385 strh r3, [r4, #40]
|
|
|
4780 .LVL424:
|
|
|
4781 .LBB236:
|
|
|
4782 .LBB237:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
4783 .loc 1 4713 0
|
|
|
4784 0188 2068 ldr r0, [r4]
|
|
|
4785 018a 4368 ldr r3, [r0, #4]
|
|
|
4786 018c 1C4A ldr r2, .L342
|
|
|
4787 018e 1340 ands r3, r2
|
|
|
4788 0190 039A ldr r2, [sp, #12]
|
|
|
4789 0192 9105 lsls r1, r2, #22
|
|
|
4790 0194 890D lsrs r1, r1, #22
|
|
|
4791 0196 FF22 movs r2, #255
|
|
|
4792 0198 1204 lsls r2, r2, #16
|
|
|
4793 019a 1143 orrs r1, r2
|
|
|
4794 019c 8022 movs r2, #128
|
|
|
4795 019e 5204 lsls r2, r2, #17
|
|
|
4796 01a0 0A43 orrs r2, r1
|
|
|
4797 01a2 1343 orrs r3, r2
|
|
|
4798 01a4 4360 str r3, [r0, #4]
|
|
|
4799 01a6 C1E7 b .L328
|
|
|
4800 .LVL425:
|
|
|
4801 .L340:
|
|
|
4802 .LBE237:
|
|
|
4803 .LBE236:
|
|
|
1840:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4804 .loc 1 1840 0
|
|
|
4805 01a8 3200 movs r2, r6
|
|
|
4806 01aa 0E99 ldr r1, [sp, #56]
|
|
|
4807 01ac 2000 movs r0, r4
|
|
|
4808 01ae FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
4809 .LVL426:
|
|
|
4810 01b2 0028 cmp r0, #0
|
|
|
4811 01b4 04D0 beq .L331
|
|
|
1842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4812 .loc 1 1842 0
|
|
|
4813 01b6 636C ldr r3, [r4, #68]
|
|
|
4814 01b8 042B cmp r3, #4
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 182
|
|
|
|
|
|
|
|
|
4815 01ba 1ED1 bne .L338
|
|
|
1844:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4816 .loc 1 1844 0
|
|
|
4817 01bc 0120 movs r0, #1
|
|
|
4818 01be 10E0 b .L320
|
|
|
4819 .L331:
|
|
|
1853:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4820 .loc 1 1853 0
|
|
|
4821 01c0 2368 ldr r3, [r4]
|
|
|
4822 01c2 2022 movs r2, #32
|
|
|
4823 01c4 DA61 str r2, [r3, #28]
|
|
|
1856:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4824 .loc 1 1856 0
|
|
|
4825 01c6 2168 ldr r1, [r4]
|
|
|
4826 01c8 4B68 ldr r3, [r1, #4]
|
|
|
4827 01ca 0E4D ldr r5, .L342+4
|
|
|
4828 01cc 2B40 ands r3, r5
|
|
|
4829 01ce 4B60 str r3, [r1, #4]
|
|
|
1858:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4830 .loc 1 1858 0
|
|
|
4831 01d0 4123 movs r3, #65
|
|
|
4832 01d2 E254 strb r2, [r4, r3]
|
|
|
1859:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4833 .loc 1 1859 0
|
|
|
4834 01d4 0023 movs r3, #0
|
|
|
4835 01d6 2232 adds r2, r2, #34
|
|
|
4836 01d8 A354 strb r3, [r4, r2]
|
|
|
1862:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4837 .loc 1 1862 0
|
|
|
4838 01da 023A subs r2, r2, #2
|
|
|
4839 01dc A354 strb r3, [r4, r2]
|
|
|
1864:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4840 .loc 1 1864 0
|
|
|
4841 01de 00E0 b .L320
|
|
|
4842 .LVL427:
|
|
|
4843 .L332:
|
|
|
1868:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4844 .loc 1 1868 0
|
|
|
4845 01e0 0220 movs r0, #2
|
|
|
4846 .LVL428:
|
|
|
4847 .L320:
|
|
|
1870:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4848 .loc 1 1870 0
|
|
|
4849 01e2 07B0 add sp, sp, #28
|
|
|
4850 @ sp needed
|
|
|
4851 .LVL429:
|
|
|
4852 01e4 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
4853 .LVL430:
|
|
|
4854 .L333:
|
|
|
1743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4855 .loc 1 1743 0
|
|
|
4856 01e6 0120 movs r0, #1
|
|
|
4857 .LVL431:
|
|
|
4858 01e8 FBE7 b .L320
|
|
|
4859 .LVL432:
|
|
|
4860 .L334:
|
|
|
4861 01ea 0120 movs r0, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 183
|
|
|
|
|
|
|
|
|
4862 .LVL433:
|
|
|
4863 01ec F9E7 b .L320
|
|
|
4864 .LVL434:
|
|
|
4865 .L335:
|
|
|
1747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4866 .loc 1 1747 0
|
|
|
4867 01ee 0220 movs r0, #2
|
|
|
4868 .LVL435:
|
|
|
4869 01f0 F7E7 b .L320
|
|
|
4870 .LVL436:
|
|
|
4871 .L336:
|
|
|
1806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4872 .loc 1 1806 0
|
|
|
4873 01f2 0320 movs r0, #3
|
|
|
4874 01f4 F5E7 b .L320
|
|
|
4875 .L337:
|
|
|
1820:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4876 .loc 1 1820 0
|
|
|
4877 01f6 0320 movs r0, #3
|
|
|
4878 01f8 F3E7 b .L320
|
|
|
4879 .L338:
|
|
|
1848:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4880 .loc 1 1848 0
|
|
|
4881 01fa 0320 movs r0, #3
|
|
|
4882 01fc F1E7 b .L320
|
|
|
4883 .L343:
|
|
|
4884 01fe C046 .align 2
|
|
|
4885 .L342:
|
|
|
4886 0200 009C00FC .word -67068928
|
|
|
4887 0204 00E800FE .word -33495040
|
|
|
4888 .cfi_endproc
|
|
|
4889 .LFE55:
|
|
|
4891 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
|
|
|
4892 .align 1
|
|
|
4893 .global HAL_I2C_Mem_Read
|
|
|
4894 .syntax unified
|
|
|
4895 .code 16
|
|
|
4896 .thumb_func
|
|
|
4897 .fpu softvfp
|
|
|
4899 HAL_I2C_Mem_Read:
|
|
|
4900 .LFB56:
|
|
|
1886:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
4901 .loc 1 1886 0
|
|
|
4902 .cfi_startproc
|
|
|
4903 @ args = 12, pretend = 0, frame = 16
|
|
|
4904 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
4905 .LVL437:
|
|
|
4906 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
4907 .LCFI32:
|
|
|
4908 .cfi_def_cfa_offset 20
|
|
|
4909 .cfi_offset 4, -20
|
|
|
4910 .cfi_offset 5, -16
|
|
|
4911 .cfi_offset 6, -12
|
|
|
4912 .cfi_offset 7, -8
|
|
|
4913 .cfi_offset 14, -4
|
|
|
4914 0002 87B0 sub sp, sp, #28
|
|
|
4915 .LCFI33:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 184
|
|
|
|
|
|
|
|
|
4916 .cfi_def_cfa_offset 48
|
|
|
4917 0004 0400 movs r4, r0
|
|
|
4918 0006 0391 str r1, [sp, #12]
|
|
|
4919 0008 0492 str r2, [sp, #16]
|
|
|
4920 000a 0593 str r3, [sp, #20]
|
|
|
4921 000c 0CAB add r3, sp, #48
|
|
|
4922 .LVL438:
|
|
|
4923 000e 20CB ldmia r3!, {r5}
|
|
|
4924 .LVL439:
|
|
|
4925 0010 1F88 ldrh r7, [r3]
|
|
|
4926 .LVL440:
|
|
|
1892:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4927 .loc 1 1892 0
|
|
|
4928 0012 4123 movs r3, #65
|
|
|
4929 .LVL441:
|
|
|
4930 0014 C35C ldrb r3, [r0, r3]
|
|
|
4931 0016 202B cmp r3, #32
|
|
|
4932 0018 00D0 beq .LCB5317
|
|
|
4933 001a F6E0 b .L345 @long jump
|
|
|
4934 .LCB5317:
|
|
|
1894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4935 .loc 1 1894 0
|
|
|
4936 001c 002D cmp r5, #0
|
|
|
4937 001e 22D0 beq .L346
|
|
|
1894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4938 .loc 1 1894 0 is_stmt 0 discriminator 1
|
|
|
4939 0020 002F cmp r7, #0
|
|
|
4940 0022 20D0 beq .L346
|
|
|
1901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4941 .loc 1 1901 0 is_stmt 1
|
|
|
4942 0024 4023 movs r3, #64
|
|
|
4943 0026 C35C ldrb r3, [r0, r3]
|
|
|
4944 0028 012B cmp r3, #1
|
|
|
4945 002a 00D1 bne .LCB5325
|
|
|
4946 002c F2E0 b .L361 @long jump
|
|
|
4947 .LCB5325:
|
|
|
1901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4948 .loc 1 1901 0 is_stmt 0 discriminator 2
|
|
|
4949 002e 4023 movs r3, #64
|
|
|
4950 0030 0122 movs r2, #1
|
|
|
4951 .LVL442:
|
|
|
4952 0032 C254 strb r2, [r0, r3]
|
|
|
1904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4953 .loc 1 1904 0 is_stmt 1 discriminator 2
|
|
|
4954 0034 FFF7FEFF bl HAL_GetTick
|
|
|
4955 .LVL443:
|
|
|
4956 0038 0600 movs r6, r0
|
|
|
4957 .LVL444:
|
|
|
4958 .L349:
|
|
|
4959 .LBB238:
|
|
|
4960 .LBB239:
|
|
|
4487:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4961 .loc 1 4487 0
|
|
|
4962 003a 2368 ldr r3, [r4]
|
|
|
4963 003c 9B69 ldr r3, [r3, #24]
|
|
|
4964 003e 1B04 lsls r3, r3, #16
|
|
|
4965 0040 17D5 bpl .L363
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 185
|
|
|
|
|
|
|
|
|
4492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
4966 .loc 1 4492 0
|
|
|
4967 0042 FFF7FEFF bl HAL_GetTick
|
|
|
4968 .LVL445:
|
|
|
4969 0046 801B subs r0, r0, r6
|
|
|
4970 0048 1928 cmp r0, #25
|
|
|
4971 004a F6D9 bls .L349
|
|
|
4494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
4972 .loc 1 4494 0
|
|
|
4973 004c 4123 movs r3, #65
|
|
|
4974 004e 2022 movs r2, #32
|
|
|
4975 0050 E254 strb r2, [r4, r3]
|
|
|
4495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
4976 .loc 1 4495 0
|
|
|
4977 0052 0023 movs r3, #0
|
|
|
4978 0054 2232 adds r2, r2, #34
|
|
|
4979 0056 A354 strb r3, [r4, r2]
|
|
|
4498:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4980 .loc 1 4498 0
|
|
|
4981 0058 023A subs r2, r2, #2
|
|
|
4982 005a A354 strb r3, [r4, r2]
|
|
|
4983 .LVL446:
|
|
|
4984 .LBE239:
|
|
|
4985 .LBE238:
|
|
|
1908:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
4986 .loc 1 1908 0
|
|
|
4987 005c 6E48 ldr r0, .L369
|
|
|
4988 005e FFF7FEFF bl vcom_Send
|
|
|
4989 .LVL447:
|
|
|
1909:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
4990 .loc 1 1909 0
|
|
|
4991 0062 0320 movs r0, #3
|
|
|
4992 0064 03E0 b .L348
|
|
|
4993 .LVL448:
|
|
|
4994 .L346:
|
|
|
1896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
4995 .loc 1 1896 0
|
|
|
4996 0066 6D48 ldr r0, .L369+4
|
|
|
4997 .LVL449:
|
|
|
4998 0068 FFF7FEFF bl vcom_Send
|
|
|
4999 .LVL450:
|
|
|
1897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5000 .loc 1 1897 0
|
|
|
5001 006c 0120 movs r0, #1
|
|
|
5002 .LVL451:
|
|
|
5003 .L348:
|
|
|
2023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
5004 .loc 1 2023 0
|
|
|
5005 006e 07B0 add sp, sp, #28
|
|
|
5006 @ sp needed
|
|
|
5007 .LVL452:
|
|
|
5008 0070 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
5009 .LVL453:
|
|
|
5010 .L363:
|
|
|
1912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
5011 .loc 1 1912 0
|
|
|
5012 0072 4123 movs r3, #65
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 186
|
|
|
|
|
|
|
|
|
5013 0074 2222 movs r2, #34
|
|
|
5014 0076 E254 strb r2, [r4, r3]
|
|
|
1913:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
5015 .loc 1 1913 0
|
|
|
5016 0078 0133 adds r3, r3, #1
|
|
|
5017 007a 1E32 adds r2, r2, #30
|
|
|
5018 007c E254 strb r2, [r4, r3]
|
|
|
1914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5019 .loc 1 1914 0
|
|
|
5020 007e 0023 movs r3, #0
|
|
|
5021 0080 6364 str r3, [r4, #68]
|
|
|
1917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
5022 .loc 1 1917 0
|
|
|
5023 0082 6562 str r5, [r4, #36]
|
|
|
1918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
5024 .loc 1 1918 0
|
|
|
5025 0084 6785 strh r7, [r4, #42]
|
|
|
1919:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5026 .loc 1 1919 0
|
|
|
5027 0086 6363 str r3, [r4, #52]
|
|
|
1922:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5028 .loc 1 1922 0
|
|
|
5029 0088 0196 str r6, [sp, #4]
|
|
|
5030 008a 0E9B ldr r3, [sp, #56]
|
|
|
5031 008c 0093 str r3, [sp]
|
|
|
5032 008e 059B ldr r3, [sp, #20]
|
|
|
5033 0090 049A ldr r2, [sp, #16]
|
|
|
5034 0092 0399 ldr r1, [sp, #12]
|
|
|
5035 0094 2000 movs r0, r4
|
|
|
5036 0096 FFF7FEFF bl I2C_RequestMemoryRead
|
|
|
5037 .LVL454:
|
|
|
5038 009a 0028 cmp r0, #0
|
|
|
5039 009c 14D1 bne .L364
|
|
|
1941:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5040 .loc 1 1941 0
|
|
|
5041 009e 638D ldrh r3, [r4, #42]
|
|
|
5042 00a0 9BB2 uxth r3, r3
|
|
|
5043 00a2 FF2B cmp r3, #255
|
|
|
5044 00a4 21D9 bls .L353
|
|
|
1943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_START_READ
|
|
|
5045 .loc 1 1943 0
|
|
|
5046 00a6 FF23 movs r3, #255
|
|
|
5047 00a8 2385 strh r3, [r4, #40]
|
|
|
5048 .LVL455:
|
|
|
5049 .LBB240:
|
|
|
5050 .LBB241:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5051 .loc 1 4713 0
|
|
|
5052 00aa 2068 ldr r0, [r4]
|
|
|
5053 00ac 4368 ldr r3, [r0, #4]
|
|
|
5054 00ae 5C4A ldr r2, .L369+8
|
|
|
5055 00b0 1340 ands r3, r2
|
|
|
5056 00b2 039A ldr r2, [sp, #12]
|
|
|
5057 00b4 9105 lsls r1, r2, #22
|
|
|
5058 00b6 890D lsrs r1, r1, #22
|
|
|
5059 00b8 FF22 movs r2, #255
|
|
|
5060 00ba 1204 lsls r2, r2, #16
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 187
|
|
|
|
|
|
|
|
|
5061 00bc 1143 orrs r1, r2
|
|
|
5062 00be 594A ldr r2, .L369+12
|
|
|
5063 00c0 0A43 orrs r2, r1
|
|
|
5064 00c2 1343 orrs r3, r2
|
|
|
5065 00c4 4360 str r3, [r0, #4]
|
|
|
5066 00c6 42E0 b .L359
|
|
|
5067 .LVL456:
|
|
|
5068 .L364:
|
|
|
5069 .LBE241:
|
|
|
5070 .LBE240:
|
|
|
1924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
|
|
|
5071 .loc 1 1924 0
|
|
|
5072 00c8 616C ldr r1, [r4, #68]
|
|
|
5073 00ca 5748 ldr r0, .L369+16
|
|
|
5074 00cc FFF7FEFF bl vcom_Send
|
|
|
5075 .LVL457:
|
|
|
1925:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5076 .loc 1 1925 0
|
|
|
5077 00d0 636C ldr r3, [r4, #68]
|
|
|
5078 00d2 042B cmp r3, #4
|
|
|
5079 00d4 04D1 bne .L352
|
|
|
1928:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
5080 .loc 1 1928 0
|
|
|
5081 00d6 3C33 adds r3, r3, #60
|
|
|
5082 00d8 0022 movs r2, #0
|
|
|
5083 00da E254 strb r2, [r4, r3]
|
|
|
1929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5084 .loc 1 1929 0
|
|
|
5085 00dc 0120 movs r0, #1
|
|
|
5086 00de C6E7 b .L348
|
|
|
5087 .L352:
|
|
|
1934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
5088 .loc 1 1934 0
|
|
|
5089 00e0 4023 movs r3, #64
|
|
|
5090 00e2 0022 movs r2, #0
|
|
|
5091 00e4 E254 strb r2, [r4, r3]
|
|
|
1935:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5092 .loc 1 1935 0
|
|
|
5093 00e6 0320 movs r0, #3
|
|
|
5094 00e8 C1E7 b .L348
|
|
|
5095 .L353:
|
|
|
1948:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_START_REA
|
|
|
5096 .loc 1 1948 0
|
|
|
5097 00ea 638D ldrh r3, [r4, #42]
|
|
|
5098 00ec 9BB2 uxth r3, r3
|
|
|
5099 00ee 2385 strh r3, [r4, #40]
|
|
|
1949:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5100 .loc 1 1949 0
|
|
|
5101 00f0 DBB2 uxtb r3, r3
|
|
|
5102 .LVL458:
|
|
|
5103 .LBB242:
|
|
|
5104 .LBB243:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5105 .loc 1 4713 0
|
|
|
5106 00f2 2068 ldr r0, [r4]
|
|
|
5107 00f4 4268 ldr r2, [r0, #4]
|
|
|
5108 00f6 4A49 ldr r1, .L369+8
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 188
|
|
|
|
|
|
|
|
|
5109 00f8 0A40 ands r2, r1
|
|
|
5110 00fa 0399 ldr r1, [sp, #12]
|
|
|
5111 00fc 8905 lsls r1, r1, #22
|
|
|
5112 00fe 890D lsrs r1, r1, #22
|
|
|
5113 0100 1B04 lsls r3, r3, #16
|
|
|
5114 .LVL459:
|
|
|
5115 0102 0B43 orrs r3, r1
|
|
|
5116 0104 4949 ldr r1, .L369+20
|
|
|
5117 0106 0B43 orrs r3, r1
|
|
|
5118 0108 1343 orrs r3, r2
|
|
|
5119 010a 4360 str r3, [r0, #4]
|
|
|
5120 .LVL460:
|
|
|
5121 010c 1FE0 b .L359
|
|
|
5122 .LVL461:
|
|
|
5123 .L366:
|
|
|
5124 .LBE243:
|
|
|
5125 .LBE242:
|
|
|
1957:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
5126 .loc 1 1957 0
|
|
|
5127 010e 4848 ldr r0, .L369+24
|
|
|
5128 0110 FFF7FEFF bl vcom_Send
|
|
|
5129 .LVL462:
|
|
|
1958:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5130 .loc 1 1958 0
|
|
|
5131 0114 0320 movs r0, #3
|
|
|
5132 0116 AAE7 b .L348
|
|
|
5133 .L367:
|
|
|
1971:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
5134 .loc 1 1971 0
|
|
|
5135 0118 4648 ldr r0, .L369+28
|
|
|
5136 011a FFF7FEFF bl vcom_Send
|
|
|
5137 .LVL463:
|
|
|
1972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5138 .loc 1 1972 0
|
|
|
5139 011e 0320 movs r0, #3
|
|
|
5140 0120 A5E7 b .L348
|
|
|
5141 .L358:
|
|
|
1982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTSTOP);
|
|
|
5142 .loc 1 1982 0
|
|
|
5143 0122 638D ldrh r3, [r4, #42]
|
|
|
5144 0124 9BB2 uxth r3, r3
|
|
|
5145 0126 2385 strh r3, [r4, #40]
|
|
|
1983:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5146 .loc 1 1983 0
|
|
|
5147 0128 DBB2 uxtb r3, r3
|
|
|
5148 .LVL464:
|
|
|
5149 .LBB244:
|
|
|
5150 .LBB245:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5151 .loc 1 4713 0
|
|
|
5152 012a 2068 ldr r0, [r4]
|
|
|
5153 012c 4268 ldr r2, [r0, #4]
|
|
|
5154 012e 4249 ldr r1, .L369+32
|
|
|
5155 0130 0A40 ands r2, r1
|
|
|
5156 0132 0399 ldr r1, [sp, #12]
|
|
|
5157 0134 8905 lsls r1, r1, #22
|
|
|
5158 0136 890D lsrs r1, r1, #22
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 189
|
|
|
|
|
|
|
|
|
5159 0138 1B04 lsls r3, r3, #16
|
|
|
5160 .LVL465:
|
|
|
5161 013a 0B43 orrs r3, r1
|
|
|
5162 013c 8021 movs r1, #128
|
|
|
5163 013e 8904 lsls r1, r1, #18
|
|
|
5164 0140 0B43 orrs r3, r1
|
|
|
5165 0142 1343 orrs r3, r2
|
|
|
5166 0144 4360 str r3, [r0, #4]
|
|
|
5167 .LVL466:
|
|
|
5168 .L356:
|
|
|
5169 .LBE245:
|
|
|
5170 .LBE244:
|
|
|
1987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5171 .loc 1 1987 0
|
|
|
5172 0146 638D ldrh r3, [r4, #42]
|
|
|
5173 0148 9BB2 uxth r3, r3
|
|
|
5174 014a 002B cmp r3, #0
|
|
|
5175 014c 3BD0 beq .L365
|
|
|
5176 .L359:
|
|
|
1955:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5177 .loc 1 1955 0
|
|
|
5178 014e 0096 str r6, [sp]
|
|
|
5179 0150 0E9B ldr r3, [sp, #56]
|
|
|
5180 0152 0022 movs r2, #0
|
|
|
5181 0154 0421 movs r1, #4
|
|
|
5182 0156 2000 movs r0, r4
|
|
|
5183 0158 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
5184 .LVL467:
|
|
|
5185 015c 0028 cmp r0, #0
|
|
|
5186 015e D6D1 bne .L366
|
|
|
1962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
5187 .loc 1 1962 0
|
|
|
5188 0160 2368 ldr r3, [r4]
|
|
|
5189 0162 5A6A ldr r2, [r3, #36]
|
|
|
5190 0164 636A ldr r3, [r4, #36]
|
|
|
5191 0166 591C adds r1, r3, #1
|
|
|
5192 0168 6162 str r1, [r4, #36]
|
|
|
5193 016a 1A70 strb r2, [r3]
|
|
|
1963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
5194 .loc 1 1963 0
|
|
|
5195 016c 238D ldrh r3, [r4, #40]
|
|
|
5196 016e 013B subs r3, r3, #1
|
|
|
5197 0170 9BB2 uxth r3, r3
|
|
|
5198 0172 2385 strh r3, [r4, #40]
|
|
|
1964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5199 .loc 1 1964 0
|
|
|
5200 0174 628D ldrh r2, [r4, #42]
|
|
|
5201 0176 013A subs r2, r2, #1
|
|
|
5202 0178 92B2 uxth r2, r2
|
|
|
5203 017a 6285 strh r2, [r4, #42]
|
|
|
1966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5204 .loc 1 1966 0
|
|
|
5205 017c 002B cmp r3, #0
|
|
|
5206 017e E2D1 bne .L356
|
|
|
1966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5207 .loc 1 1966 0 is_stmt 0 discriminator 1
|
|
|
5208 0180 638D ldrh r3, [r4, #42]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 190
|
|
|
|
|
|
|
|
|
5209 0182 9BB2 uxth r3, r3
|
|
|
5210 0184 002B cmp r3, #0
|
|
|
5211 0186 DED0 beq .L356
|
|
|
1969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5212 .loc 1 1969 0 is_stmt 1
|
|
|
5213 0188 0096 str r6, [sp]
|
|
|
5214 018a 0E9B ldr r3, [sp, #56]
|
|
|
5215 018c 0022 movs r2, #0
|
|
|
5216 018e 8021 movs r1, #128
|
|
|
5217 0190 2000 movs r0, r4
|
|
|
5218 0192 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
5219 .LVL468:
|
|
|
5220 0196 0028 cmp r0, #0
|
|
|
5221 0198 BED1 bne .L367
|
|
|
1975:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5222 .loc 1 1975 0
|
|
|
5223 019a 638D ldrh r3, [r4, #42]
|
|
|
5224 019c 9BB2 uxth r3, r3
|
|
|
5225 019e FF2B cmp r3, #255
|
|
|
5226 01a0 BFD9 bls .L358
|
|
|
1977:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
5227 .loc 1 1977 0
|
|
|
5228 01a2 FF23 movs r3, #255
|
|
|
5229 01a4 2385 strh r3, [r4, #40]
|
|
|
5230 .LVL469:
|
|
|
5231 .LBB246:
|
|
|
5232 .LBB247:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5233 .loc 1 4713 0
|
|
|
5234 01a6 2068 ldr r0, [r4]
|
|
|
5235 01a8 4368 ldr r3, [r0, #4]
|
|
|
5236 01aa 234A ldr r2, .L369+32
|
|
|
5237 01ac 1340 ands r3, r2
|
|
|
5238 01ae 039A ldr r2, [sp, #12]
|
|
|
5239 01b0 9105 lsls r1, r2, #22
|
|
|
5240 01b2 890D lsrs r1, r1, #22
|
|
|
5241 01b4 FF22 movs r2, #255
|
|
|
5242 01b6 1204 lsls r2, r2, #16
|
|
|
5243 01b8 1143 orrs r1, r2
|
|
|
5244 01ba 8022 movs r2, #128
|
|
|
5245 01bc 5204 lsls r2, r2, #17
|
|
|
5246 01be 0A43 orrs r2, r1
|
|
|
5247 01c0 1343 orrs r3, r2
|
|
|
5248 01c2 4360 str r3, [r0, #4]
|
|
|
5249 01c4 BFE7 b .L356
|
|
|
5250 .LVL470:
|
|
|
5251 .L365:
|
|
|
5252 .LBE247:
|
|
|
5253 .LBE246:
|
|
|
1991:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5254 .loc 1 1991 0
|
|
|
5255 01c6 3200 movs r2, r6
|
|
|
5256 01c8 0E99 ldr r1, [sp, #56]
|
|
|
5257 01ca 2000 movs r0, r4
|
|
|
5258 01cc FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
5259 .LVL471:
|
|
|
5260 01d0 0028 cmp r0, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 191
|
|
|
|
|
|
|
|
|
5261 01d2 0AD0 beq .L360
|
|
|
1993:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5262 .loc 1 1993 0
|
|
|
5263 01d4 636C ldr r3, [r4, #68]
|
|
|
5264 01d6 042B cmp r3, #4
|
|
|
5265 01d8 01D0 beq .L368
|
|
|
2000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5266 .loc 1 2000 0
|
|
|
5267 01da 0320 movs r0, #3
|
|
|
5268 01dc 47E7 b .L348
|
|
|
5269 .L368:
|
|
|
1995:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
5270 .loc 1 1995 0
|
|
|
5271 01de 616C ldr r1, [r4, #68]
|
|
|
5272 01e0 1648 ldr r0, .L369+36
|
|
|
5273 01e2 FFF7FEFF bl vcom_Send
|
|
|
5274 .LVL472:
|
|
|
1996:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5275 .loc 1 1996 0
|
|
|
5276 01e6 0120 movs r0, #1
|
|
|
5277 01e8 41E7 b .L348
|
|
|
5278 .L360:
|
|
|
2005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5279 .loc 1 2005 0
|
|
|
5280 01ea 2368 ldr r3, [r4]
|
|
|
5281 01ec 2022 movs r2, #32
|
|
|
5282 01ee DA61 str r2, [r3, #28]
|
|
|
2008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5283 .loc 1 2008 0
|
|
|
5284 01f0 2168 ldr r1, [r4]
|
|
|
5285 01f2 4B68 ldr r3, [r1, #4]
|
|
|
5286 01f4 124D ldr r5, .L369+40
|
|
|
5287 01f6 2B40 ands r3, r5
|
|
|
5288 01f8 4B60 str r3, [r1, #4]
|
|
|
2010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
5289 .loc 1 2010 0
|
|
|
5290 01fa 4123 movs r3, #65
|
|
|
5291 01fc E254 strb r2, [r4, r3]
|
|
|
2011:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5292 .loc 1 2011 0
|
|
|
5293 01fe 0023 movs r3, #0
|
|
|
5294 0200 2232 adds r2, r2, #34
|
|
|
5295 0202 A354 strb r3, [r4, r2]
|
|
|
2014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5296 .loc 1 2014 0
|
|
|
5297 0204 023A subs r2, r2, #2
|
|
|
5298 0206 A354 strb r3, [r4, r2]
|
|
|
2016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5299 .loc 1 2016 0
|
|
|
5300 0208 31E7 b .L348
|
|
|
5301 .LVL473:
|
|
|
5302 .L345:
|
|
|
2020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_BUSY;
|
|
|
5303 .loc 1 2020 0
|
|
|
5304 020a 0E48 ldr r0, .L369+44
|
|
|
5305 .LVL474:
|
|
|
5306 020c FFF7FEFF bl vcom_Send
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 192
|
|
|
|
|
|
|
|
|
5307 .LVL475:
|
|
|
2021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5308 .loc 1 2021 0
|
|
|
5309 0210 0220 movs r0, #2
|
|
|
5310 0212 2CE7 b .L348
|
|
|
5311 .LVL476:
|
|
|
5312 .L361:
|
|
|
1901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5313 .loc 1 1901 0
|
|
|
5314 0214 0220 movs r0, #2
|
|
|
5315 .LVL477:
|
|
|
5316 0216 2AE7 b .L348
|
|
|
5317 .L370:
|
|
|
5318 .align 2
|
|
|
5319 .L369:
|
|
|
5320 0218 18000000 .word .LC40
|
|
|
5321 021c 00000000 .word .LC38
|
|
|
5322 0220 009800FC .word -67069952
|
|
|
5323 0224 00240081 .word -2130697216
|
|
|
5324 0228 24000000 .word .LC42
|
|
|
5325 022c 00240082 .word -2113920000
|
|
|
5326 0230 40000000 .word .LC44
|
|
|
5327 0234 5C000000 .word .LC46
|
|
|
5328 0238 009C00FC .word -67068928
|
|
|
5329 023c 78000000 .word .LC48
|
|
|
5330 0240 00E800FE .word -33495040
|
|
|
5331 0244 94000000 .word .LC50
|
|
|
5332 .cfi_endproc
|
|
|
5333 .LFE56:
|
|
|
5335 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
|
|
|
5336 .align 1
|
|
|
5337 .global HAL_I2C_Mem_Write_IT
|
|
|
5338 .syntax unified
|
|
|
5339 .code 16
|
|
|
5340 .thumb_func
|
|
|
5341 .fpu softvfp
|
|
|
5343 HAL_I2C_Mem_Write_IT:
|
|
|
5344 .LFB57:
|
|
|
2037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
5345 .loc 1 2037 0
|
|
|
5346 .cfi_startproc
|
|
|
5347 @ args = 8, pretend = 0, frame = 8
|
|
|
5348 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5349 .LVL478:
|
|
|
5350 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
5351 .LCFI34:
|
|
|
5352 .cfi_def_cfa_offset 20
|
|
|
5353 .cfi_offset 4, -20
|
|
|
5354 .cfi_offset 5, -16
|
|
|
5355 .cfi_offset 6, -12
|
|
|
5356 .cfi_offset 7, -8
|
|
|
5357 .cfi_offset 14, -4
|
|
|
5358 0002 D646 mov lr, r10
|
|
|
5359 0004 4746 mov r7, r8
|
|
|
5360 0006 80B5 push {r7, lr}
|
|
|
5361 .LCFI35:
|
|
|
5362 .cfi_def_cfa_offset 28
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 193
|
|
|
|
|
|
|
|
|
5363 .cfi_offset 8, -28
|
|
|
5364 .cfi_offset 10, -24
|
|
|
5365 0008 85B0 sub sp, sp, #20
|
|
|
5366 .LCFI36:
|
|
|
5367 .cfi_def_cfa_offset 48
|
|
|
5368 000a 0700 movs r7, r0
|
|
|
5369 000c 0C00 movs r4, r1
|
|
|
5370 000e 0292 str r2, [sp, #8]
|
|
|
5371 0010 0393 str r3, [sp, #12]
|
|
|
5372 0012 0CAB add r3, sp, #48
|
|
|
5373 .LVL479:
|
|
|
5374 0014 40CB ldmia r3!, {r6}
|
|
|
5375 .LVL480:
|
|
|
5376 0016 1D88 ldrh r5, [r3]
|
|
|
5377 .LVL481:
|
|
|
2044:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5378 .loc 1 2044 0
|
|
|
5379 0018 4123 movs r3, #65
|
|
|
5380 .LVL482:
|
|
|
5381 001a C35C ldrb r3, [r0, r3]
|
|
|
5382 001c 202B cmp r3, #32
|
|
|
5383 001e 6DD1 bne .L378
|
|
|
2046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5384 .loc 1 2046 0
|
|
|
5385 0020 002E cmp r6, #0
|
|
|
5386 0022 00D1 bne .LCB5833
|
|
|
5387 0024 70E0 b .L379 @long jump
|
|
|
5388 .LCB5833:
|
|
|
2046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5389 .loc 1 2046 0 is_stmt 0 discriminator 1
|
|
|
5390 0026 002D cmp r5, #0
|
|
|
5391 0028 00D1 bne .LCB5835
|
|
|
5392 002a 6FE0 b .L380 @long jump
|
|
|
5393 .LCB5835:
|
|
|
2051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5394 .loc 1 2051 0 is_stmt 1
|
|
|
5395 002c 0368 ldr r3, [r0]
|
|
|
5396 002e 9B69 ldr r3, [r3, #24]
|
|
|
5397 0030 1B04 lsls r3, r3, #16
|
|
|
5398 0032 00D5 bpl .LCB5841
|
|
|
5399 0034 6CE0 b .L381 @long jump
|
|
|
5400 .LCB5841:
|
|
|
2057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5401 .loc 1 2057 0
|
|
|
5402 0036 4023 movs r3, #64
|
|
|
5403 0038 C35C ldrb r3, [r0, r3]
|
|
|
5404 003a 012B cmp r3, #1
|
|
|
5405 003c 6AD0 beq .L382
|
|
|
2057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5406 .loc 1 2057 0 is_stmt 0 discriminator 2
|
|
|
5407 003e 4023 movs r3, #64
|
|
|
5408 0040 9A46 mov r10, r3
|
|
|
5409 0042 3F3B subs r3, r3, #63
|
|
|
5410 0044 5246 mov r2, r10
|
|
|
5411 .LVL483:
|
|
|
5412 0046 8354 strb r3, [r0, r2]
|
|
|
2060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 194
|
|
|
|
|
|
|
|
|
5413 .loc 1 2060 0 is_stmt 1 discriminator 2
|
|
|
5414 0048 FFF7FEFF bl HAL_GetTick
|
|
|
5415 .LVL484:
|
|
|
2062:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
5416 .loc 1 2062 0 discriminator 2
|
|
|
5417 004c 4123 movs r3, #65
|
|
|
5418 004e 2122 movs r2, #33
|
|
|
5419 0050 FA54 strb r2, [r7, r3]
|
|
|
2063:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
5420 .loc 1 2063 0 discriminator 2
|
|
|
5421 0052 0133 adds r3, r3, #1
|
|
|
5422 0054 5246 mov r2, r10
|
|
|
5423 0056 FA54 strb r2, [r7, r3]
|
|
|
2064:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5424 .loc 1 2064 0 discriminator 2
|
|
|
5425 0058 0023 movs r3, #0
|
|
|
5426 005a 7B64 str r3, [r7, #68]
|
|
|
2067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
5427 .loc 1 2067 0 discriminator 2
|
|
|
5428 005c 7E62 str r6, [r7, #36]
|
|
|
2068:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
5429 .loc 1 2068 0 discriminator 2
|
|
|
5430 005e 7D85 strh r5, [r7, #42]
|
|
|
2069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
5431 .loc 1 2069 0 discriminator 2
|
|
|
5432 0060 2D4B ldr r3, .L386
|
|
|
5433 0062 FB62 str r3, [r7, #44]
|
|
|
2070:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5434 .loc 1 2070 0 discriminator 2
|
|
|
5435 0064 2D4B ldr r3, .L386+4
|
|
|
5436 0066 7B63 str r3, [r7, #52]
|
|
|
2072:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5437 .loc 1 2072 0 discriminator 2
|
|
|
5438 0068 7B8D ldrh r3, [r7, #42]
|
|
|
5439 006a 9BB2 uxth r3, r3
|
|
|
5440 006c FF2B cmp r3, #255
|
|
|
5441 006e 17D9 bls .L373
|
|
|
2074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
5442 .loc 1 2074 0
|
|
|
5443 0070 FF23 movs r3, #255
|
|
|
5444 0072 3B85 strh r3, [r7, #40]
|
|
|
5445 .LVL485:
|
|
|
2075:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5446 .loc 1 2075 0
|
|
|
5447 0074 8023 movs r3, #128
|
|
|
5448 0076 5B04 lsls r3, r3, #17
|
|
|
5449 0078 9846 mov r8, r3
|
|
|
5450 .LVL486:
|
|
|
5451 .L374:
|
|
|
2084:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5452 .loc 1 2084 0
|
|
|
5453 007a 0190 str r0, [sp, #4]
|
|
|
5454 007c 1923 movs r3, #25
|
|
|
5455 007e 0093 str r3, [sp]
|
|
|
5456 0080 039B ldr r3, [sp, #12]
|
|
|
5457 0082 029A ldr r2, [sp, #8]
|
|
|
5458 0084 2100 movs r1, r4
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 195
|
|
|
|
|
|
|
|
|
5459 0086 3800 movs r0, r7
|
|
|
5460 .LVL487:
|
|
|
5461 0088 FFF7FEFF bl I2C_RequestMemoryWrite
|
|
|
5462 .LVL488:
|
|
|
5463 008c 0028 cmp r0, #0
|
|
|
5464 008e 12D0 beq .L375
|
|
|
2086:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5465 .loc 1 2086 0
|
|
|
5466 0090 7B6C ldr r3, [r7, #68]
|
|
|
5467 0092 042B cmp r3, #4
|
|
|
5468 0094 0AD1 bne .L376
|
|
|
2089:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
5469 .loc 1 2089 0
|
|
|
5470 0096 3C33 adds r3, r3, #60
|
|
|
5471 0098 0022 movs r2, #0
|
|
|
5472 009a FA54 strb r2, [r7, r3]
|
|
|
2090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5473 .loc 1 2090 0
|
|
|
5474 009c 0120 movs r0, #1
|
|
|
5475 009e 2EE0 b .L372
|
|
|
5476 .LVL489:
|
|
|
5477 .L373:
|
|
|
2079:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
5478 .loc 1 2079 0
|
|
|
5479 00a0 7B8D ldrh r3, [r7, #42]
|
|
|
5480 00a2 3B85 strh r3, [r7, #40]
|
|
|
5481 .LVL490:
|
|
|
2080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5482 .loc 1 2080 0
|
|
|
5483 00a4 8023 movs r3, #128
|
|
|
5484 00a6 9B04 lsls r3, r3, #18
|
|
|
5485 00a8 9846 mov r8, r3
|
|
|
5486 00aa E6E7 b .L374
|
|
|
5487 .LVL491:
|
|
|
5488 .L376:
|
|
|
2095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
5489 .loc 1 2095 0
|
|
|
5490 00ac 4023 movs r3, #64
|
|
|
5491 00ae 0022 movs r2, #0
|
|
|
5492 00b0 FA54 strb r2, [r7, r3]
|
|
|
2096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5493 .loc 1 2096 0
|
|
|
5494 00b2 0320 movs r0, #3
|
|
|
5495 00b4 23E0 b .L372
|
|
|
5496 .L375:
|
|
|
2101:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5497 .loc 1 2101 0
|
|
|
5498 00b6 3A8D ldrh r2, [r7, #40]
|
|
|
5499 00b8 D2B2 uxtb r2, r2
|
|
|
5500 .LVL492:
|
|
|
5501 .LBB248:
|
|
|
5502 .LBB249:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5503 .loc 1 4713 0
|
|
|
5504 00ba 3968 ldr r1, [r7]
|
|
|
5505 00bc 4B68 ldr r3, [r1, #4]
|
|
|
5506 00be 184D ldr r5, .L386+8
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 196
|
|
|
|
|
|
|
|
|
5507 00c0 2B40 ands r3, r5
|
|
|
5508 00c2 A405 lsls r4, r4, #22
|
|
|
5509 .LVL493:
|
|
|
5510 00c4 A40D lsrs r4, r4, #22
|
|
|
5511 00c6 1204 lsls r2, r2, #16
|
|
|
5512 .LVL494:
|
|
|
5513 00c8 1443 orrs r4, r2
|
|
|
5514 00ca 4246 mov r2, r8
|
|
|
5515 00cc 2243 orrs r2, r4
|
|
|
5516 00ce 1400 movs r4, r2
|
|
|
5517 00d0 1C43 orrs r4, r3
|
|
|
5518 00d2 4C60 str r4, [r1, #4]
|
|
|
5519 .LVL495:
|
|
|
5520 .LBE249:
|
|
|
5521 .LBE248:
|
|
|
2104:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5522 .loc 1 2104 0
|
|
|
5523 00d4 4023 movs r3, #64
|
|
|
5524 00d6 0022 movs r2, #0
|
|
|
5525 00d8 FA54 strb r2, [r7, r3]
|
|
|
5526 .LVL496:
|
|
|
5527 .LBB250:
|
|
|
5528 .LBB251:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
5529 .loc 1 4728 0
|
|
|
5530 00da 7B6B ldr r3, [r7, #52]
|
|
|
5531 00dc 114A ldr r2, .L386+12
|
|
|
5532 00de 9342 cmp r3, r2
|
|
|
5533 00e0 0AD0 beq .L383
|
|
|
5534 00e2 114A ldr r2, .L386+16
|
|
|
5535 00e4 9342 cmp r3, r2
|
|
|
5536 00e6 05D0 beq .L385
|
|
|
5537 00e8 F221 movs r1, #242
|
|
|
5538 .L377:
|
|
|
5539 .LVL497:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5540 .loc 1 4785 0
|
|
|
5541 00ea 3A68 ldr r2, [r7]
|
|
|
5542 00ec 1368 ldr r3, [r2]
|
|
|
5543 00ee 0B43 orrs r3, r1
|
|
|
5544 00f0 1360 str r3, [r2]
|
|
|
5545 .LVL498:
|
|
|
5546 .LBE251:
|
|
|
5547 .LBE250:
|
|
|
2115:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5548 .loc 1 2115 0
|
|
|
5549 00f2 04E0 b .L372
|
|
|
5550 .LVL499:
|
|
|
5551 .L385:
|
|
|
5552 .LBB253:
|
|
|
5553 .LBB252:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
5554 .loc 1 4728 0
|
|
|
5555 00f4 0021 movs r1, #0
|
|
|
5556 00f6 F8E7 b .L377
|
|
|
5557 .L383:
|
|
|
5558 00f8 0021 movs r1, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 197
|
|
|
|
|
|
|
|
|
5559 00fa F6E7 b .L377
|
|
|
5560 .LVL500:
|
|
|
5561 .L378:
|
|
|
5562 .LBE252:
|
|
|
5563 .LBE253:
|
|
|
2119:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5564 .loc 1 2119 0
|
|
|
5565 00fc 0220 movs r0, #2
|
|
|
5566 .LVL501:
|
|
|
5567 .L372:
|
|
|
2121:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5568 .loc 1 2121 0
|
|
|
5569 00fe 05B0 add sp, sp, #20
|
|
|
5570 @ sp needed
|
|
|
5571 .LVL502:
|
|
|
5572 0100 0CBC pop {r2, r3}
|
|
|
5573 0102 9046 mov r8, r2
|
|
|
5574 0104 9A46 mov r10, r3
|
|
|
5575 0106 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
5576 .LVL503:
|
|
|
5577 .L379:
|
|
|
2048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5578 .loc 1 2048 0
|
|
|
5579 0108 0120 movs r0, #1
|
|
|
5580 .LVL504:
|
|
|
5581 010a F8E7 b .L372
|
|
|
5582 .LVL505:
|
|
|
5583 .L380:
|
|
|
5584 010c 0120 movs r0, #1
|
|
|
5585 .LVL506:
|
|
|
5586 010e F6E7 b .L372
|
|
|
5587 .LVL507:
|
|
|
5588 .L381:
|
|
|
2053:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5589 .loc 1 2053 0
|
|
|
5590 0110 0220 movs r0, #2
|
|
|
5591 .LVL508:
|
|
|
5592 0112 F4E7 b .L372
|
|
|
5593 .LVL509:
|
|
|
5594 .L382:
|
|
|
2057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5595 .loc 1 2057 0
|
|
|
5596 0114 0220 movs r0, #2
|
|
|
5597 .LVL510:
|
|
|
5598 0116 F2E7 b .L372
|
|
|
5599 .L387:
|
|
|
5600 .align 2
|
|
|
5601 .L386:
|
|
|
5602 0118 0000FFFF .word -65536
|
|
|
5603 011c 00000000 .word I2C_Master_ISR_IT
|
|
|
5604 0120 009C00FC .word -67068928
|
|
|
5605 0124 00000000 .word I2C_Master_ISR_DMA
|
|
|
5606 0128 00000000 .word I2C_Slave_ISR_DMA
|
|
|
5607 .cfi_endproc
|
|
|
5608 .LFE57:
|
|
|
5610 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
|
|
|
5611 .align 1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 198
|
|
|
|
|
|
|
|
|
5612 .global HAL_I2C_Mem_Read_IT
|
|
|
5613 .syntax unified
|
|
|
5614 .code 16
|
|
|
5615 .thumb_func
|
|
|
5616 .fpu softvfp
|
|
|
5618 HAL_I2C_Mem_Read_IT:
|
|
|
5619 .LFB58:
|
|
|
2136:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
5620 .loc 1 2136 0
|
|
|
5621 .cfi_startproc
|
|
|
5622 @ args = 8, pretend = 0, frame = 8
|
|
|
5623 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5624 .LVL511:
|
|
|
5625 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
5626 .LCFI37:
|
|
|
5627 .cfi_def_cfa_offset 20
|
|
|
5628 .cfi_offset 4, -20
|
|
|
5629 .cfi_offset 5, -16
|
|
|
5630 .cfi_offset 6, -12
|
|
|
5631 .cfi_offset 7, -8
|
|
|
5632 .cfi_offset 14, -4
|
|
|
5633 0002 D646 mov lr, r10
|
|
|
5634 0004 4746 mov r7, r8
|
|
|
5635 0006 80B5 push {r7, lr}
|
|
|
5636 .LCFI38:
|
|
|
5637 .cfi_def_cfa_offset 28
|
|
|
5638 .cfi_offset 8, -28
|
|
|
5639 .cfi_offset 10, -24
|
|
|
5640 0008 85B0 sub sp, sp, #20
|
|
|
5641 .LCFI39:
|
|
|
5642 .cfi_def_cfa_offset 48
|
|
|
5643 000a 0700 movs r7, r0
|
|
|
5644 000c 0C00 movs r4, r1
|
|
|
5645 000e 0292 str r2, [sp, #8]
|
|
|
5646 0010 0393 str r3, [sp, #12]
|
|
|
5647 0012 0CAB add r3, sp, #48
|
|
|
5648 .LVL512:
|
|
|
5649 0014 40CB ldmia r3!, {r6}
|
|
|
5650 .LVL513:
|
|
|
5651 0016 1D88 ldrh r5, [r3]
|
|
|
5652 .LVL514:
|
|
|
2143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5653 .loc 1 2143 0
|
|
|
5654 0018 4123 movs r3, #65
|
|
|
5655 .LVL515:
|
|
|
5656 001a C35C ldrb r3, [r0, r3]
|
|
|
5657 001c 202B cmp r3, #32
|
|
|
5658 001e 70D1 bne .L395
|
|
|
2145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5659 .loc 1 2145 0
|
|
|
5660 0020 002E cmp r6, #0
|
|
|
5661 0022 00D1 bne .LCB6150
|
|
|
5662 0024 73E0 b .L396 @long jump
|
|
|
5663 .LCB6150:
|
|
|
2145:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5664 .loc 1 2145 0 is_stmt 0 discriminator 1
|
|
|
5665 0026 002D cmp r5, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 199
|
|
|
|
|
|
|
|
|
5666 0028 00D1 bne .LCB6152
|
|
|
5667 002a 72E0 b .L397 @long jump
|
|
|
5668 .LCB6152:
|
|
|
2150:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5669 .loc 1 2150 0 is_stmt 1
|
|
|
5670 002c 0368 ldr r3, [r0]
|
|
|
5671 002e 9B69 ldr r3, [r3, #24]
|
|
|
5672 0030 1B04 lsls r3, r3, #16
|
|
|
5673 0032 00D5 bpl .LCB6158
|
|
|
5674 0034 6FE0 b .L398 @long jump
|
|
|
5675 .LCB6158:
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5676 .loc 1 2156 0
|
|
|
5677 0036 4023 movs r3, #64
|
|
|
5678 0038 C35C ldrb r3, [r0, r3]
|
|
|
5679 003a 012B cmp r3, #1
|
|
|
5680 003c 00D1 bne .LCB6162
|
|
|
5681 003e 6CE0 b .L399 @long jump
|
|
|
5682 .LCB6162:
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5683 .loc 1 2156 0 is_stmt 0 discriminator 2
|
|
|
5684 0040 4023 movs r3, #64
|
|
|
5685 0042 9A46 mov r10, r3
|
|
|
5686 0044 3F3B subs r3, r3, #63
|
|
|
5687 0046 5246 mov r2, r10
|
|
|
5688 .LVL516:
|
|
|
5689 0048 8354 strb r3, [r0, r2]
|
|
|
2159:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5690 .loc 1 2159 0 is_stmt 1 discriminator 2
|
|
|
5691 004a FFF7FEFF bl HAL_GetTick
|
|
|
5692 .LVL517:
|
|
|
2161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
5693 .loc 1 2161 0 discriminator 2
|
|
|
5694 004e 4123 movs r3, #65
|
|
|
5695 0050 2222 movs r2, #34
|
|
|
5696 0052 FA54 strb r2, [r7, r3]
|
|
|
2162:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
5697 .loc 1 2162 0 discriminator 2
|
|
|
5698 0054 0133 adds r3, r3, #1
|
|
|
5699 0056 5246 mov r2, r10
|
|
|
5700 0058 FA54 strb r2, [r7, r3]
|
|
|
2163:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5701 .loc 1 2163 0 discriminator 2
|
|
|
5702 005a 0023 movs r3, #0
|
|
|
5703 005c 7B64 str r3, [r7, #68]
|
|
|
2166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
5704 .loc 1 2166 0 discriminator 2
|
|
|
5705 005e 7E62 str r6, [r7, #36]
|
|
|
2167:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
5706 .loc 1 2167 0 discriminator 2
|
|
|
5707 0060 7D85 strh r5, [r7, #42]
|
|
|
2168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
5708 .loc 1 2168 0 discriminator 2
|
|
|
5709 0062 2F4B ldr r3, .L403
|
|
|
5710 0064 FB62 str r3, [r7, #44]
|
|
|
2169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5711 .loc 1 2169 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 200
|
|
|
|
|
|
|
|
|
5712 0066 2F4B ldr r3, .L403+4
|
|
|
5713 0068 7B63 str r3, [r7, #52]
|
|
|
2171:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5714 .loc 1 2171 0 discriminator 2
|
|
|
5715 006a 7B8D ldrh r3, [r7, #42]
|
|
|
5716 006c 9BB2 uxth r3, r3
|
|
|
5717 006e FF2B cmp r3, #255
|
|
|
5718 0070 17D9 bls .L390
|
|
|
2173:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
5719 .loc 1 2173 0
|
|
|
5720 0072 FF23 movs r3, #255
|
|
|
5721 0074 3B85 strh r3, [r7, #40]
|
|
|
5722 .LVL518:
|
|
|
2174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5723 .loc 1 2174 0
|
|
|
5724 0076 8023 movs r3, #128
|
|
|
5725 0078 5B04 lsls r3, r3, #17
|
|
|
5726 007a 9846 mov r8, r3
|
|
|
5727 .LVL519:
|
|
|
5728 .L391:
|
|
|
2183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5729 .loc 1 2183 0
|
|
|
5730 007c 0190 str r0, [sp, #4]
|
|
|
5731 007e 1923 movs r3, #25
|
|
|
5732 0080 0093 str r3, [sp]
|
|
|
5733 0082 039B ldr r3, [sp, #12]
|
|
|
5734 0084 029A ldr r2, [sp, #8]
|
|
|
5735 0086 2100 movs r1, r4
|
|
|
5736 0088 3800 movs r0, r7
|
|
|
5737 .LVL520:
|
|
|
5738 008a FFF7FEFF bl I2C_RequestMemoryRead
|
|
|
5739 .LVL521:
|
|
|
5740 008e 0028 cmp r0, #0
|
|
|
5741 0090 12D0 beq .L392
|
|
|
2185:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5742 .loc 1 2185 0
|
|
|
5743 0092 7B6C ldr r3, [r7, #68]
|
|
|
5744 0094 042B cmp r3, #4
|
|
|
5745 0096 0AD1 bne .L393
|
|
|
2188:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
5746 .loc 1 2188 0
|
|
|
5747 0098 3C33 adds r3, r3, #60
|
|
|
5748 009a 0022 movs r2, #0
|
|
|
5749 009c FA54 strb r2, [r7, r3]
|
|
|
2189:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5750 .loc 1 2189 0
|
|
|
5751 009e 0120 movs r0, #1
|
|
|
5752 00a0 30E0 b .L389
|
|
|
5753 .LVL522:
|
|
|
5754 .L390:
|
|
|
2178:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
5755 .loc 1 2178 0
|
|
|
5756 00a2 7B8D ldrh r3, [r7, #42]
|
|
|
5757 00a4 3B85 strh r3, [r7, #40]
|
|
|
5758 .LVL523:
|
|
|
2179:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5759 .loc 1 2179 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 201
|
|
|
|
|
|
|
|
|
5760 00a6 8023 movs r3, #128
|
|
|
5761 00a8 9B04 lsls r3, r3, #18
|
|
|
5762 00aa 9846 mov r8, r3
|
|
|
5763 00ac E6E7 b .L391
|
|
|
5764 .LVL524:
|
|
|
5765 .L393:
|
|
|
2194:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
5766 .loc 1 2194 0
|
|
|
5767 00ae 4023 movs r3, #64
|
|
|
5768 00b0 0022 movs r2, #0
|
|
|
5769 00b2 FA54 strb r2, [r7, r3]
|
|
|
2195:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5770 .loc 1 2195 0
|
|
|
5771 00b4 0320 movs r0, #3
|
|
|
5772 00b6 25E0 b .L389
|
|
|
5773 .L392:
|
|
|
2200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5774 .loc 1 2200 0
|
|
|
5775 00b8 3B8D ldrh r3, [r7, #40]
|
|
|
5776 00ba DBB2 uxtb r3, r3
|
|
|
5777 .LVL525:
|
|
|
5778 .LBB254:
|
|
|
5779 .LBB255:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
5780 .loc 1 4713 0
|
|
|
5781 00bc 3968 ldr r1, [r7]
|
|
|
5782 00be 4D68 ldr r5, [r1, #4]
|
|
|
5783 00c0 194A ldr r2, .L403+8
|
|
|
5784 00c2 2A40 ands r2, r5
|
|
|
5785 00c4 A405 lsls r4, r4, #22
|
|
|
5786 .LVL526:
|
|
|
5787 00c6 A40D lsrs r4, r4, #22
|
|
|
5788 00c8 1B04 lsls r3, r3, #16
|
|
|
5789 .LVL527:
|
|
|
5790 00ca 1C43 orrs r4, r3
|
|
|
5791 00cc 4346 mov r3, r8
|
|
|
5792 00ce 2343 orrs r3, r4
|
|
|
5793 00d0 1C00 movs r4, r3
|
|
|
5794 00d2 164B ldr r3, .L403+12
|
|
|
5795 00d4 1C43 orrs r4, r3
|
|
|
5796 00d6 1443 orrs r4, r2
|
|
|
5797 00d8 4C60 str r4, [r1, #4]
|
|
|
5798 .LVL528:
|
|
|
5799 .LBE255:
|
|
|
5800 .LBE254:
|
|
|
2203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5801 .loc 1 2203 0
|
|
|
5802 00da 4023 movs r3, #64
|
|
|
5803 00dc 0022 movs r2, #0
|
|
|
5804 00de FA54 strb r2, [r7, r3]
|
|
|
5805 .LVL529:
|
|
|
5806 .LBB256:
|
|
|
5807 .LBB257:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
5808 .loc 1 4728 0
|
|
|
5809 00e0 7B6B ldr r3, [r7, #52]
|
|
|
5810 00e2 134A ldr r2, .L403+16
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 202
|
|
|
|
|
|
|
|
|
5811 00e4 9342 cmp r3, r2
|
|
|
5812 00e6 0AD0 beq .L400
|
|
|
5813 00e8 124A ldr r2, .L403+20
|
|
|
5814 00ea 9342 cmp r3, r2
|
|
|
5815 00ec 05D0 beq .L402
|
|
|
5816 00ee F421 movs r1, #244
|
|
|
5817 .L394:
|
|
|
5818 .LVL530:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5819 .loc 1 4785 0
|
|
|
5820 00f0 3A68 ldr r2, [r7]
|
|
|
5821 00f2 1368 ldr r3, [r2]
|
|
|
5822 00f4 0B43 orrs r3, r1
|
|
|
5823 00f6 1360 str r3, [r2]
|
|
|
5824 .LVL531:
|
|
|
5825 .LBE257:
|
|
|
5826 .LBE256:
|
|
|
2214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5827 .loc 1 2214 0
|
|
|
5828 00f8 04E0 b .L389
|
|
|
5829 .LVL532:
|
|
|
5830 .L402:
|
|
|
5831 .LBB259:
|
|
|
5832 .LBB258:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
5833 .loc 1 4728 0
|
|
|
5834 00fa 0021 movs r1, #0
|
|
|
5835 00fc F8E7 b .L394
|
|
|
5836 .L400:
|
|
|
5837 00fe 0021 movs r1, #0
|
|
|
5838 0100 F6E7 b .L394
|
|
|
5839 .LVL533:
|
|
|
5840 .L395:
|
|
|
5841 .LBE258:
|
|
|
5842 .LBE259:
|
|
|
2218:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5843 .loc 1 2218 0
|
|
|
5844 0102 0220 movs r0, #2
|
|
|
5845 .LVL534:
|
|
|
5846 .L389:
|
|
|
2220:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /**
|
|
|
5847 .loc 1 2220 0
|
|
|
5848 0104 05B0 add sp, sp, #20
|
|
|
5849 @ sp needed
|
|
|
5850 .LVL535:
|
|
|
5851 0106 0CBC pop {r2, r3}
|
|
|
5852 0108 9046 mov r8, r2
|
|
|
5853 010a 9A46 mov r10, r3
|
|
|
5854 010c F0BD pop {r4, r5, r6, r7, pc}
|
|
|
5855 .LVL536:
|
|
|
5856 .L396:
|
|
|
2147:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5857 .loc 1 2147 0
|
|
|
5858 010e 0120 movs r0, #1
|
|
|
5859 .LVL537:
|
|
|
5860 0110 F8E7 b .L389
|
|
|
5861 .LVL538:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 203
|
|
|
|
|
|
|
|
|
5862 .L397:
|
|
|
5863 0112 0120 movs r0, #1
|
|
|
5864 .LVL539:
|
|
|
5865 0114 F6E7 b .L389
|
|
|
5866 .LVL540:
|
|
|
5867 .L398:
|
|
|
2152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5868 .loc 1 2152 0
|
|
|
5869 0116 0220 movs r0, #2
|
|
|
5870 .LVL541:
|
|
|
5871 0118 F4E7 b .L389
|
|
|
5872 .LVL542:
|
|
|
5873 .L399:
|
|
|
2156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5874 .loc 1 2156 0
|
|
|
5875 011a 0220 movs r0, #2
|
|
|
5876 .LVL543:
|
|
|
5877 011c F2E7 b .L389
|
|
|
5878 .L404:
|
|
|
5879 011e C046 .align 2
|
|
|
5880 .L403:
|
|
|
5881 0120 0000FFFF .word -65536
|
|
|
5882 0124 00000000 .word I2C_Master_ISR_IT
|
|
|
5883 0128 009800FC .word -67069952
|
|
|
5884 012c 00240080 .word -2147474432
|
|
|
5885 0130 00000000 .word I2C_Master_ISR_DMA
|
|
|
5886 0134 00000000 .word I2C_Slave_ISR_DMA
|
|
|
5887 .cfi_endproc
|
|
|
5888 .LFE58:
|
|
|
5890 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
|
|
|
5891 .align 1
|
|
|
5892 .global HAL_I2C_Mem_Write_DMA
|
|
|
5893 .syntax unified
|
|
|
5894 .code 16
|
|
|
5895 .thumb_func
|
|
|
5896 .fpu softvfp
|
|
|
5898 HAL_I2C_Mem_Write_DMA:
|
|
|
5899 .LFB59:
|
|
|
2234:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
5900 .loc 1 2234 0
|
|
|
5901 .cfi_startproc
|
|
|
5902 @ args = 8, pretend = 0, frame = 16
|
|
|
5903 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
5904 .LVL544:
|
|
|
5905 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
5906 .LCFI40:
|
|
|
5907 .cfi_def_cfa_offset 20
|
|
|
5908 .cfi_offset 4, -20
|
|
|
5909 .cfi_offset 5, -16
|
|
|
5910 .cfi_offset 6, -12
|
|
|
5911 .cfi_offset 7, -8
|
|
|
5912 .cfi_offset 14, -4
|
|
|
5913 0002 CE46 mov lr, r9
|
|
|
5914 0004 00B5 push {lr}
|
|
|
5915 .LCFI41:
|
|
|
5916 .cfi_def_cfa_offset 24
|
|
|
5917 .cfi_offset 9, -24
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 204
|
|
|
|
|
|
|
|
|
5918 0006 86B0 sub sp, sp, #24
|
|
|
5919 .LCFI42:
|
|
|
5920 .cfi_def_cfa_offset 48
|
|
|
5921 0008 0400 movs r4, r0
|
|
|
5922 000a 0391 str r1, [sp, #12]
|
|
|
5923 000c 0492 str r2, [sp, #16]
|
|
|
5924 000e 0593 str r3, [sp, #20]
|
|
|
5925 0010 0CAB add r3, sp, #48
|
|
|
5926 .LVL545:
|
|
|
5927 0012 20CB ldmia r3!, {r5}
|
|
|
5928 .LVL546:
|
|
|
5929 0014 1E88 ldrh r6, [r3]
|
|
|
5930 .LVL547:
|
|
|
2241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5931 .loc 1 2241 0
|
|
|
5932 0016 4123 movs r3, #65
|
|
|
5933 .LVL548:
|
|
|
5934 0018 C35C ldrb r3, [r0, r3]
|
|
|
5935 001a 202B cmp r3, #32
|
|
|
5936 001c 00D0 beq .LCB6466
|
|
|
5937 001e 88E0 b .L412 @long jump
|
|
|
5938 .LCB6466:
|
|
|
2243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5939 .loc 1 2243 0
|
|
|
5940 0020 002D cmp r5, #0
|
|
|
5941 0022 00D1 bne .LCB6468
|
|
|
5942 0024 8BE0 b .L413 @long jump
|
|
|
5943 .LCB6468:
|
|
|
2243:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5944 .loc 1 2243 0 is_stmt 0 discriminator 1
|
|
|
5945 0026 002E cmp r6, #0
|
|
|
5946 0028 00D1 bne .LCB6470
|
|
|
5947 002a 8AE0 b .L414 @long jump
|
|
|
5948 .LCB6470:
|
|
|
2248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5949 .loc 1 2248 0 is_stmt 1
|
|
|
5950 002c 0368 ldr r3, [r0]
|
|
|
5951 002e 9B69 ldr r3, [r3, #24]
|
|
|
5952 0030 1B04 lsls r3, r3, #16
|
|
|
5953 0032 00D5 bpl .LCB6476
|
|
|
5954 0034 87E0 b .L415 @long jump
|
|
|
5955 .LCB6476:
|
|
|
2254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5956 .loc 1 2254 0
|
|
|
5957 0036 4023 movs r3, #64
|
|
|
5958 0038 C35C ldrb r3, [r0, r3]
|
|
|
5959 003a 012B cmp r3, #1
|
|
|
5960 003c 00D1 bne .LCB6480
|
|
|
5961 003e 84E0 b .L416 @long jump
|
|
|
5962 .LCB6480:
|
|
|
2254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5963 .loc 1 2254 0 is_stmt 0 discriminator 2
|
|
|
5964 0040 4027 movs r7, #64
|
|
|
5965 0042 0123 movs r3, #1
|
|
|
5966 0044 C355 strb r3, [r0, r7]
|
|
|
2257:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5967 .loc 1 2257 0 is_stmt 1 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 205
|
|
|
|
|
|
|
|
|
5968 0046 FFF7FEFF bl HAL_GetTick
|
|
|
5969 .LVL549:
|
|
|
2259:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
5970 .loc 1 2259 0 discriminator 2
|
|
|
5971 004a 4123 movs r3, #65
|
|
|
5972 004c 2122 movs r2, #33
|
|
|
5973 004e E254 strb r2, [r4, r3]
|
|
|
2260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
5974 .loc 1 2260 0 discriminator 2
|
|
|
5975 0050 0133 adds r3, r3, #1
|
|
|
5976 0052 E754 strb r7, [r4, r3]
|
|
|
2261:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5977 .loc 1 2261 0 discriminator 2
|
|
|
5978 0054 0023 movs r3, #0
|
|
|
5979 0056 6364 str r3, [r4, #68]
|
|
|
2264:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
5980 .loc 1 2264 0 discriminator 2
|
|
|
5981 0058 6562 str r5, [r4, #36]
|
|
|
2265:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
5982 .loc 1 2265 0 discriminator 2
|
|
|
5983 005a 6685 strh r6, [r4, #42]
|
|
|
2266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
5984 .loc 1 2266 0 discriminator 2
|
|
|
5985 005c 3C4B ldr r3, .L420
|
|
|
5986 005e E362 str r3, [r4, #44]
|
|
|
2267:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
5987 .loc 1 2267 0 discriminator 2
|
|
|
5988 0060 3C4B ldr r3, .L420+4
|
|
|
5989 0062 6363 str r3, [r4, #52]
|
|
|
2269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
5990 .loc 1 2269 0 discriminator 2
|
|
|
5991 0064 638D ldrh r3, [r4, #42]
|
|
|
5992 0066 9BB2 uxth r3, r3
|
|
|
5993 0068 FF2B cmp r3, #255
|
|
|
5994 006a 17D9 bls .L407
|
|
|
2271:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
5995 .loc 1 2271 0
|
|
|
5996 006c FF23 movs r3, #255
|
|
|
5997 006e 2385 strh r3, [r4, #40]
|
|
|
5998 .LVL550:
|
|
|
2272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
5999 .loc 1 2272 0
|
|
|
6000 0070 8023 movs r3, #128
|
|
|
6001 0072 5B04 lsls r3, r3, #17
|
|
|
6002 0074 9946 mov r9, r3
|
|
|
6003 .LVL551:
|
|
|
6004 .L408:
|
|
|
2281:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6005 .loc 1 2281 0
|
|
|
6006 0076 0190 str r0, [sp, #4]
|
|
|
6007 0078 1923 movs r3, #25
|
|
|
6008 007a 0093 str r3, [sp]
|
|
|
6009 007c 059B ldr r3, [sp, #20]
|
|
|
6010 007e 049A ldr r2, [sp, #16]
|
|
|
6011 0080 0399 ldr r1, [sp, #12]
|
|
|
6012 0082 2000 movs r0, r4
|
|
|
6013 .LVL552:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 206
|
|
|
|
|
|
|
|
|
6014 0084 FFF7FEFF bl I2C_RequestMemoryWrite
|
|
|
6015 .LVL553:
|
|
|
6016 0088 061E subs r6, r0, #0
|
|
|
6017 008a 12D0 beq .L409
|
|
|
2283:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6018 .loc 1 2283 0
|
|
|
6019 008c 636C ldr r3, [r4, #68]
|
|
|
6020 008e 042B cmp r3, #4
|
|
|
6021 0090 0AD1 bne .L410
|
|
|
2286:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
6022 .loc 1 2286 0
|
|
|
6023 0092 3C33 adds r3, r3, #60
|
|
|
6024 0094 0022 movs r2, #0
|
|
|
6025 0096 E254 strb r2, [r4, r3]
|
|
|
2287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6026 .loc 1 2287 0
|
|
|
6027 0098 0126 movs r6, #1
|
|
|
6028 009a 4BE0 b .L406
|
|
|
6029 .LVL554:
|
|
|
6030 .L407:
|
|
|
2276:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
6031 .loc 1 2276 0
|
|
|
6032 009c 638D ldrh r3, [r4, #42]
|
|
|
6033 009e 2385 strh r3, [r4, #40]
|
|
|
6034 .LVL555:
|
|
|
2277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6035 .loc 1 2277 0
|
|
|
6036 00a0 8023 movs r3, #128
|
|
|
6037 00a2 9B04 lsls r3, r3, #18
|
|
|
6038 00a4 9946 mov r9, r3
|
|
|
6039 00a6 E6E7 b .L408
|
|
|
6040 .LVL556:
|
|
|
6041 .L410:
|
|
|
2292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
6042 .loc 1 2292 0
|
|
|
6043 00a8 4023 movs r3, #64
|
|
|
6044 00aa 0022 movs r2, #0
|
|
|
6045 00ac E254 strb r2, [r4, r3]
|
|
|
2293:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6046 .loc 1 2293 0
|
|
|
6047 00ae 0326 movs r6, #3
|
|
|
6048 00b0 40E0 b .L406
|
|
|
6049 .L409:
|
|
|
2298:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6050 .loc 1 2298 0
|
|
|
6051 00b2 A36B ldr r3, [r4, #56]
|
|
|
6052 00b4 284A ldr r2, .L420+8
|
|
|
6053 00b6 DA62 str r2, [r3, #44]
|
|
|
2301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6054 .loc 1 2301 0
|
|
|
6055 00b8 A36B ldr r3, [r4, #56]
|
|
|
6056 00ba 284A ldr r2, .L420+12
|
|
|
6057 00bc 5A63 str r2, [r3, #52]
|
|
|
2304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
|
|
|
6058 .loc 1 2304 0
|
|
|
6059 00be A36B ldr r3, [r4, #56]
|
|
|
6060 00c0 0027 movs r7, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 207
|
|
|
|
|
|
|
|
|
6061 00c2 1F63 str r7, [r3, #48]
|
|
|
2305:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6062 .loc 1 2305 0
|
|
|
6063 00c4 A36B ldr r3, [r4, #56]
|
|
|
6064 00c6 9F63 str r7, [r3, #56]
|
|
|
2308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6065 .loc 1 2308 0
|
|
|
6066 00c8 2268 ldr r2, [r4]
|
|
|
6067 00ca 2832 adds r2, r2, #40
|
|
|
6068 00cc 238D ldrh r3, [r4, #40]
|
|
|
6069 00ce 2900 movs r1, r5
|
|
|
6070 00d0 A06B ldr r0, [r4, #56]
|
|
|
6071 00d2 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
6072 .LVL557:
|
|
|
2312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6073 .loc 1 2312 0
|
|
|
6074 00d6 218D ldrh r1, [r4, #40]
|
|
|
6075 00d8 C9B2 uxtb r1, r1
|
|
|
6076 .LVL558:
|
|
|
6077 .LBB260:
|
|
|
6078 .LBB261:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
6079 .loc 1 4713 0
|
|
|
6080 00da 2268 ldr r2, [r4]
|
|
|
6081 00dc 5368 ldr r3, [r2, #4]
|
|
|
6082 00de 2048 ldr r0, .L420+16
|
|
|
6083 00e0 0340 ands r3, r0
|
|
|
6084 00e2 0398 ldr r0, [sp, #12]
|
|
|
6085 00e4 8505 lsls r5, r0, #22
|
|
|
6086 00e6 AD0D lsrs r5, r5, #22
|
|
|
6087 00e8 0904 lsls r1, r1, #16
|
|
|
6088 .LVL559:
|
|
|
6089 00ea 0D43 orrs r5, r1
|
|
|
6090 00ec 4946 mov r1, r9
|
|
|
6091 00ee 2943 orrs r1, r5
|
|
|
6092 00f0 0D00 movs r5, r1
|
|
|
6093 00f2 1D43 orrs r5, r3
|
|
|
6094 00f4 5560 str r5, [r2, #4]
|
|
|
6095 .LVL560:
|
|
|
6096 .LBE261:
|
|
|
6097 .LBE260:
|
|
|
2315:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6098 .loc 1 2315 0
|
|
|
6099 00f6 638D ldrh r3, [r4, #42]
|
|
|
6100 00f8 228D ldrh r2, [r4, #40]
|
|
|
6101 00fa 9B1A subs r3, r3, r2
|
|
|
6102 00fc 9BB2 uxth r3, r3
|
|
|
6103 00fe 6385 strh r3, [r4, #42]
|
|
|
2318:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6104 .loc 1 2318 0
|
|
|
6105 0100 4023 movs r3, #64
|
|
|
6106 0102 E754 strb r7, [r4, r3]
|
|
|
6107 .LVL561:
|
|
|
6108 .LBB262:
|
|
|
6109 .LBB263:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6110 .loc 1 4728 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 208
|
|
|
|
|
|
|
|
|
6111 0104 636B ldr r3, [r4, #52]
|
|
|
6112 0106 134A ldr r2, .L420+4
|
|
|
6113 0108 9342 cmp r3, r2
|
|
|
6114 010a 10D0 beq .L417
|
|
|
6115 010c 154A ldr r2, .L420+20
|
|
|
6116 010e 9342 cmp r3, r2
|
|
|
6117 0110 0BD0 beq .L419
|
|
|
6118 0112 F221 movs r1, #242
|
|
|
6119 .L411:
|
|
|
6120 .LVL562:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6121 .loc 1 4785 0
|
|
|
6122 0114 2268 ldr r2, [r4]
|
|
|
6123 0116 1368 ldr r3, [r2]
|
|
|
6124 0118 0B43 orrs r3, r1
|
|
|
6125 011a 1360 str r3, [r2]
|
|
|
6126 .LVL563:
|
|
|
6127 .LBE263:
|
|
|
6128 .LBE262:
|
|
|
2327:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6129 .loc 1 2327 0
|
|
|
6130 011c 2268 ldr r2, [r4]
|
|
|
6131 011e 1168 ldr r1, [r2]
|
|
|
6132 0120 8023 movs r3, #128
|
|
|
6133 0122 DB01 lsls r3, r3, #7
|
|
|
6134 0124 0B43 orrs r3, r1
|
|
|
6135 0126 1360 str r3, [r2]
|
|
|
2329:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6136 .loc 1 2329 0
|
|
|
6137 0128 04E0 b .L406
|
|
|
6138 .LVL564:
|
|
|
6139 .L419:
|
|
|
6140 .LBB265:
|
|
|
6141 .LBB264:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6142 .loc 1 4728 0
|
|
|
6143 012a 9021 movs r1, #144
|
|
|
6144 012c F2E7 b .L411
|
|
|
6145 .L417:
|
|
|
6146 012e 9021 movs r1, #144
|
|
|
6147 0130 F0E7 b .L411
|
|
|
6148 .LVL565:
|
|
|
6149 .L412:
|
|
|
6150 .LBE264:
|
|
|
6151 .LBE265:
|
|
|
2333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6152 .loc 1 2333 0
|
|
|
6153 0132 0226 movs r6, #2
|
|
|
6154 .LVL566:
|
|
|
6155 .L406:
|
|
|
2335:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6156 .loc 1 2335 0
|
|
|
6157 0134 3000 movs r0, r6
|
|
|
6158 0136 06B0 add sp, sp, #24
|
|
|
6159 @ sp needed
|
|
|
6160 .LVL567:
|
|
|
6161 0138 04BC pop {r2}
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 209
|
|
|
|
|
|
|
|
|
6162 013a 9146 mov r9, r2
|
|
|
6163 013c F0BD pop {r4, r5, r6, r7, pc}
|
|
|
6164 .LVL568:
|
|
|
6165 .L413:
|
|
|
2245:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6166 .loc 1 2245 0
|
|
|
6167 013e 0126 movs r6, #1
|
|
|
6168 0140 F8E7 b .L406
|
|
|
6169 .L414:
|
|
|
6170 0142 0126 movs r6, #1
|
|
|
6171 0144 F6E7 b .L406
|
|
|
6172 .L415:
|
|
|
2250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6173 .loc 1 2250 0
|
|
|
6174 0146 0226 movs r6, #2
|
|
|
6175 0148 F4E7 b .L406
|
|
|
6176 .L416:
|
|
|
2254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6177 .loc 1 2254 0
|
|
|
6178 014a 0226 movs r6, #2
|
|
|
6179 014c F2E7 b .L406
|
|
|
6180 .L421:
|
|
|
6181 014e C046 .align 2
|
|
|
6182 .L420:
|
|
|
6183 0150 0000FFFF .word -65536
|
|
|
6184 0154 00000000 .word I2C_Master_ISR_DMA
|
|
|
6185 0158 00000000 .word I2C_DMAMasterTransmitCplt
|
|
|
6186 015c 00000000 .word I2C_DMAError
|
|
|
6187 0160 009C00FC .word -67068928
|
|
|
6188 0164 00000000 .word I2C_Slave_ISR_DMA
|
|
|
6189 .cfi_endproc
|
|
|
6190 .LFE59:
|
|
|
6192 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
|
|
|
6193 .align 1
|
|
|
6194 .global HAL_I2C_Mem_Read_DMA
|
|
|
6195 .syntax unified
|
|
|
6196 .code 16
|
|
|
6197 .thumb_func
|
|
|
6198 .fpu softvfp
|
|
|
6200 HAL_I2C_Mem_Read_DMA:
|
|
|
6201 .LFB60:
|
|
|
2350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
6202 .loc 1 2350 0
|
|
|
6203 .cfi_startproc
|
|
|
6204 @ args = 8, pretend = 0, frame = 16
|
|
|
6205 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
6206 .LVL569:
|
|
|
6207 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
6208 .LCFI43:
|
|
|
6209 .cfi_def_cfa_offset 20
|
|
|
6210 .cfi_offset 4, -20
|
|
|
6211 .cfi_offset 5, -16
|
|
|
6212 .cfi_offset 6, -12
|
|
|
6213 .cfi_offset 7, -8
|
|
|
6214 .cfi_offset 14, -4
|
|
|
6215 0002 CE46 mov lr, r9
|
|
|
6216 0004 00B5 push {lr}
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 210
|
|
|
|
|
|
|
|
|
6217 .LCFI44:
|
|
|
6218 .cfi_def_cfa_offset 24
|
|
|
6219 .cfi_offset 9, -24
|
|
|
6220 0006 86B0 sub sp, sp, #24
|
|
|
6221 .LCFI45:
|
|
|
6222 .cfi_def_cfa_offset 48
|
|
|
6223 0008 0400 movs r4, r0
|
|
|
6224 000a 0391 str r1, [sp, #12]
|
|
|
6225 000c 0492 str r2, [sp, #16]
|
|
|
6226 000e 0593 str r3, [sp, #20]
|
|
|
6227 0010 0CAB add r3, sp, #48
|
|
|
6228 .LVL570:
|
|
|
6229 0012 20CB ldmia r3!, {r5}
|
|
|
6230 .LVL571:
|
|
|
6231 0014 1E88 ldrh r6, [r3]
|
|
|
6232 .LVL572:
|
|
|
2357:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6233 .loc 1 2357 0
|
|
|
6234 0016 4123 movs r3, #65
|
|
|
6235 .LVL573:
|
|
|
6236 0018 C35C ldrb r3, [r0, r3]
|
|
|
6237 001a 202B cmp r3, #32
|
|
|
6238 001c 00D0 beq .LCB6804
|
|
|
6239 001e 8AE0 b .L429 @long jump
|
|
|
6240 .LCB6804:
|
|
|
2359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6241 .loc 1 2359 0
|
|
|
6242 0020 002D cmp r5, #0
|
|
|
6243 0022 00D1 bne .LCB6806
|
|
|
6244 0024 8DE0 b .L430 @long jump
|
|
|
6245 .LCB6806:
|
|
|
2359:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6246 .loc 1 2359 0 is_stmt 0 discriminator 1
|
|
|
6247 0026 002E cmp r6, #0
|
|
|
6248 0028 00D1 bne .LCB6808
|
|
|
6249 002a 8CE0 b .L431 @long jump
|
|
|
6250 .LCB6808:
|
|
|
2364:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6251 .loc 1 2364 0 is_stmt 1
|
|
|
6252 002c 0368 ldr r3, [r0]
|
|
|
6253 002e 9B69 ldr r3, [r3, #24]
|
|
|
6254 0030 1B04 lsls r3, r3, #16
|
|
|
6255 0032 00D5 bpl .LCB6814
|
|
|
6256 0034 89E0 b .L432 @long jump
|
|
|
6257 .LCB6814:
|
|
|
2370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6258 .loc 1 2370 0
|
|
|
6259 0036 4023 movs r3, #64
|
|
|
6260 0038 C35C ldrb r3, [r0, r3]
|
|
|
6261 003a 012B cmp r3, #1
|
|
|
6262 003c 00D1 bne .LCB6818
|
|
|
6263 003e 86E0 b .L433 @long jump
|
|
|
6264 .LCB6818:
|
|
|
2370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6265 .loc 1 2370 0 is_stmt 0 discriminator 2
|
|
|
6266 0040 4027 movs r7, #64
|
|
|
6267 0042 0123 movs r3, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 211
|
|
|
|
|
|
|
|
|
6268 0044 C355 strb r3, [r0, r7]
|
|
|
2373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6269 .loc 1 2373 0 is_stmt 1 discriminator 2
|
|
|
6270 0046 FFF7FEFF bl HAL_GetTick
|
|
|
6271 .LVL574:
|
|
|
2375:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
|
|
|
6272 .loc 1 2375 0 discriminator 2
|
|
|
6273 004a 4123 movs r3, #65
|
|
|
6274 004c 2222 movs r2, #34
|
|
|
6275 004e E254 strb r2, [r4, r3]
|
|
|
2376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
6276 .loc 1 2376 0 discriminator 2
|
|
|
6277 0050 0133 adds r3, r3, #1
|
|
|
6278 0052 E754 strb r7, [r4, r3]
|
|
|
2377:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6279 .loc 1 2377 0 discriminator 2
|
|
|
6280 0054 0023 movs r3, #0
|
|
|
6281 0056 6364 str r3, [r4, #68]
|
|
|
2380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
6282 .loc 1 2380 0 discriminator 2
|
|
|
6283 0058 6562 str r5, [r4, #36]
|
|
|
2381:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
6284 .loc 1 2381 0 discriminator 2
|
|
|
6285 005a 6685 strh r6, [r4, #42]
|
|
|
2382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
|
|
|
6286 .loc 1 2382 0 discriminator 2
|
|
|
6287 005c 3D4B ldr r3, .L437
|
|
|
6288 005e E362 str r3, [r4, #44]
|
|
|
2383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6289 .loc 1 2383 0 discriminator 2
|
|
|
6290 0060 3D4B ldr r3, .L437+4
|
|
|
6291 0062 6363 str r3, [r4, #52]
|
|
|
2385:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6292 .loc 1 2385 0 discriminator 2
|
|
|
6293 0064 638D ldrh r3, [r4, #42]
|
|
|
6294 0066 9BB2 uxth r3, r3
|
|
|
6295 0068 FF2B cmp r3, #255
|
|
|
6296 006a 17D9 bls .L424
|
|
|
2387:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
6297 .loc 1 2387 0
|
|
|
6298 006c FF23 movs r3, #255
|
|
|
6299 006e 2385 strh r3, [r4, #40]
|
|
|
6300 .LVL575:
|
|
|
2388:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6301 .loc 1 2388 0
|
|
|
6302 0070 8023 movs r3, #128
|
|
|
6303 0072 5B04 lsls r3, r3, #17
|
|
|
6304 0074 9946 mov r9, r3
|
|
|
6305 .LVL576:
|
|
|
6306 .L425:
|
|
|
2397:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6307 .loc 1 2397 0
|
|
|
6308 0076 0190 str r0, [sp, #4]
|
|
|
6309 0078 1923 movs r3, #25
|
|
|
6310 007a 0093 str r3, [sp]
|
|
|
6311 007c 059B ldr r3, [sp, #20]
|
|
|
6312 007e 049A ldr r2, [sp, #16]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 212
|
|
|
|
|
|
|
|
|
6313 0080 0399 ldr r1, [sp, #12]
|
|
|
6314 0082 2000 movs r0, r4
|
|
|
6315 .LVL577:
|
|
|
6316 0084 FFF7FEFF bl I2C_RequestMemoryRead
|
|
|
6317 .LVL578:
|
|
|
6318 0088 061E subs r6, r0, #0
|
|
|
6319 008a 12D0 beq .L426
|
|
|
2399:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6320 .loc 1 2399 0
|
|
|
6321 008c 636C ldr r3, [r4, #68]
|
|
|
6322 008e 042B cmp r3, #4
|
|
|
6323 0090 0AD1 bne .L427
|
|
|
2402:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_ERROR;
|
|
|
6324 .loc 1 2402 0
|
|
|
6325 0092 3C33 adds r3, r3, #60
|
|
|
6326 0094 0022 movs r2, #0
|
|
|
6327 0096 E254 strb r2, [r4, r3]
|
|
|
2403:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6328 .loc 1 2403 0
|
|
|
6329 0098 0126 movs r6, #1
|
|
|
6330 009a 4DE0 b .L423
|
|
|
6331 .LVL579:
|
|
|
6332 .L424:
|
|
|
2392:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
6333 .loc 1 2392 0
|
|
|
6334 009c 638D ldrh r3, [r4, #42]
|
|
|
6335 009e 2385 strh r3, [r4, #40]
|
|
|
6336 .LVL580:
|
|
|
2393:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6337 .loc 1 2393 0
|
|
|
6338 00a0 8023 movs r3, #128
|
|
|
6339 00a2 9B04 lsls r3, r3, #18
|
|
|
6340 00a4 9946 mov r9, r3
|
|
|
6341 00a6 E6E7 b .L425
|
|
|
6342 .LVL581:
|
|
|
6343 .L427:
|
|
|
2408:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
6344 .loc 1 2408 0
|
|
|
6345 00a8 4023 movs r3, #64
|
|
|
6346 00aa 0022 movs r2, #0
|
|
|
6347 00ac E254 strb r2, [r4, r3]
|
|
|
2409:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6348 .loc 1 2409 0
|
|
|
6349 00ae 0326 movs r6, #3
|
|
|
6350 00b0 42E0 b .L423
|
|
|
6351 .L426:
|
|
|
2414:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6352 .loc 1 2414 0
|
|
|
6353 00b2 E36B ldr r3, [r4, #60]
|
|
|
6354 00b4 294A ldr r2, .L437+8
|
|
|
6355 00b6 DA62 str r2, [r3, #44]
|
|
|
2417:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6356 .loc 1 2417 0
|
|
|
6357 00b8 E36B ldr r3, [r4, #60]
|
|
|
6358 00ba 294A ldr r2, .L437+12
|
|
|
6359 00bc 5A63 str r2, [r3, #52]
|
|
|
2420:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 213
|
|
|
|
|
|
|
|
|
6360 .loc 1 2420 0
|
|
|
6361 00be E36B ldr r3, [r4, #60]
|
|
|
6362 00c0 0027 movs r7, #0
|
|
|
6363 00c2 1F63 str r7, [r3, #48]
|
|
|
2421:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6364 .loc 1 2421 0
|
|
|
6365 00c4 E36B ldr r3, [r4, #60]
|
|
|
6366 00c6 9F63 str r7, [r3, #56]
|
|
|
2424:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6367 .loc 1 2424 0
|
|
|
6368 00c8 2168 ldr r1, [r4]
|
|
|
6369 00ca 2431 adds r1, r1, #36
|
|
|
6370 00cc 238D ldrh r3, [r4, #40]
|
|
|
6371 00ce 2A00 movs r2, r5
|
|
|
6372 00d0 E06B ldr r0, [r4, #60]
|
|
|
6373 00d2 FFF7FEFF bl HAL_DMA_Start_IT
|
|
|
6374 .LVL582:
|
|
|
2427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6375 .loc 1 2427 0
|
|
|
6376 00d6 238D ldrh r3, [r4, #40]
|
|
|
6377 00d8 DBB2 uxtb r3, r3
|
|
|
6378 .LVL583:
|
|
|
6379 .LBB266:
|
|
|
6380 .LBB267:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
6381 .loc 1 4713 0
|
|
|
6382 00da 2268 ldr r2, [r4]
|
|
|
6383 00dc 5068 ldr r0, [r2, #4]
|
|
|
6384 00de 2149 ldr r1, .L437+16
|
|
|
6385 00e0 0140 ands r1, r0
|
|
|
6386 00e2 0398 ldr r0, [sp, #12]
|
|
|
6387 00e4 8505 lsls r5, r0, #22
|
|
|
6388 00e6 AD0D lsrs r5, r5, #22
|
|
|
6389 00e8 1B04 lsls r3, r3, #16
|
|
|
6390 .LVL584:
|
|
|
6391 00ea 1D43 orrs r5, r3
|
|
|
6392 00ec 4B46 mov r3, r9
|
|
|
6393 00ee 2B43 orrs r3, r5
|
|
|
6394 00f0 1D00 movs r5, r3
|
|
|
6395 00f2 1D4B ldr r3, .L437+20
|
|
|
6396 00f4 1D43 orrs r5, r3
|
|
|
6397 00f6 0D43 orrs r5, r1
|
|
|
6398 00f8 5560 str r5, [r2, #4]
|
|
|
6399 .LVL585:
|
|
|
6400 .LBE267:
|
|
|
6401 .LBE266:
|
|
|
2430:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6402 .loc 1 2430 0
|
|
|
6403 00fa 638D ldrh r3, [r4, #42]
|
|
|
6404 00fc 228D ldrh r2, [r4, #40]
|
|
|
6405 00fe 9B1A subs r3, r3, r2
|
|
|
6406 0100 9BB2 uxth r3, r3
|
|
|
6407 0102 6385 strh r3, [r4, #42]
|
|
|
2433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6408 .loc 1 2433 0
|
|
|
6409 0104 4023 movs r3, #64
|
|
|
6410 0106 E754 strb r7, [r4, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 214
|
|
|
|
|
|
|
|
|
2436:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6411 .loc 1 2436 0
|
|
|
6412 0108 2268 ldr r2, [r4]
|
|
|
6413 010a 1168 ldr r1, [r2]
|
|
|
6414 010c 8023 movs r3, #128
|
|
|
6415 010e 1B02 lsls r3, r3, #8
|
|
|
6416 0110 0B43 orrs r3, r1
|
|
|
6417 0112 1360 str r3, [r2]
|
|
|
6418 .LVL586:
|
|
|
6419 .LBB268:
|
|
|
6420 .LBB269:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6421 .loc 1 4728 0
|
|
|
6422 0114 636B ldr r3, [r4, #52]
|
|
|
6423 0116 104A ldr r2, .L437+4
|
|
|
6424 0118 9342 cmp r3, r2
|
|
|
6425 011a 0AD0 beq .L434
|
|
|
6426 011c 134A ldr r2, .L437+24
|
|
|
6427 011e 9342 cmp r3, r2
|
|
|
6428 0120 05D0 beq .L436
|
|
|
6429 0122 F221 movs r1, #242
|
|
|
6430 .L428:
|
|
|
6431 .LVL587:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6432 .loc 1 4785 0
|
|
|
6433 0124 2268 ldr r2, [r4]
|
|
|
6434 0126 1368 ldr r3, [r2]
|
|
|
6435 0128 0B43 orrs r3, r1
|
|
|
6436 012a 1360 str r3, [r2]
|
|
|
6437 .LVL588:
|
|
|
6438 .LBE269:
|
|
|
6439 .LBE268:
|
|
|
2444:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6440 .loc 1 2444 0
|
|
|
6441 012c 04E0 b .L423
|
|
|
6442 .LVL589:
|
|
|
6443 .L436:
|
|
|
6444 .LBB271:
|
|
|
6445 .LBB270:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6446 .loc 1 4728 0
|
|
|
6447 012e 9021 movs r1, #144
|
|
|
6448 0130 F8E7 b .L428
|
|
|
6449 .L434:
|
|
|
6450 0132 9021 movs r1, #144
|
|
|
6451 0134 F6E7 b .L428
|
|
|
6452 .LVL590:
|
|
|
6453 .L429:
|
|
|
6454 .LBE270:
|
|
|
6455 .LBE271:
|
|
|
2448:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6456 .loc 1 2448 0
|
|
|
6457 0136 0226 movs r6, #2
|
|
|
6458 .LVL591:
|
|
|
6459 .L423:
|
|
|
2450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6460 .loc 1 2450 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 215
|
|
|
|
|
|
|
|
|
6461 0138 3000 movs r0, r6
|
|
|
6462 013a 06B0 add sp, sp, #24
|
|
|
6463 @ sp needed
|
|
|
6464 .LVL592:
|
|
|
6465 013c 04BC pop {r2}
|
|
|
6466 013e 9146 mov r9, r2
|
|
|
6467 0140 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
6468 .LVL593:
|
|
|
6469 .L430:
|
|
|
2361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6470 .loc 1 2361 0
|
|
|
6471 0142 0126 movs r6, #1
|
|
|
6472 0144 F8E7 b .L423
|
|
|
6473 .L431:
|
|
|
6474 0146 0126 movs r6, #1
|
|
|
6475 0148 F6E7 b .L423
|
|
|
6476 .L432:
|
|
|
2366:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6477 .loc 1 2366 0
|
|
|
6478 014a 0226 movs r6, #2
|
|
|
6479 014c F4E7 b .L423
|
|
|
6480 .L433:
|
|
|
2370:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6481 .loc 1 2370 0
|
|
|
6482 014e 0226 movs r6, #2
|
|
|
6483 0150 F2E7 b .L423
|
|
|
6484 .L438:
|
|
|
6485 0152 C046 .align 2
|
|
|
6486 .L437:
|
|
|
6487 0154 0000FFFF .word -65536
|
|
|
6488 0158 00000000 .word I2C_Master_ISR_DMA
|
|
|
6489 015c 00000000 .word I2C_DMAMasterReceiveCplt
|
|
|
6490 0160 00000000 .word I2C_DMAError
|
|
|
6491 0164 009800FC .word -67069952
|
|
|
6492 0168 00240080 .word -2147474432
|
|
|
6493 016c 00000000 .word I2C_Slave_ISR_DMA
|
|
|
6494 .cfi_endproc
|
|
|
6495 .LFE60:
|
|
|
6497 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
|
|
|
6498 .align 1
|
|
|
6499 .global HAL_I2C_IsDeviceReady
|
|
|
6500 .syntax unified
|
|
|
6501 .code 16
|
|
|
6502 .thumb_func
|
|
|
6503 .fpu softvfp
|
|
|
6505 HAL_I2C_IsDeviceReady:
|
|
|
6506 .LFB61:
|
|
|
2464:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t tickstart = 0U;
|
|
|
6507 .loc 1 2464 0
|
|
|
6508 .cfi_startproc
|
|
|
6509 @ args = 0, pretend = 0, frame = 8
|
|
|
6510 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
6511 .LVL594:
|
|
|
6512 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
6513 .LCFI46:
|
|
|
6514 .cfi_def_cfa_offset 20
|
|
|
6515 .cfi_offset 4, -20
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 216
|
|
|
|
|
|
|
|
|
6516 .cfi_offset 5, -16
|
|
|
6517 .cfi_offset 6, -12
|
|
|
6518 .cfi_offset 7, -8
|
|
|
6519 .cfi_offset 14, -4
|
|
|
6520 0002 C646 mov lr, r8
|
|
|
6521 0004 00B5 push {lr}
|
|
|
6522 .LCFI47:
|
|
|
6523 .cfi_def_cfa_offset 24
|
|
|
6524 .cfi_offset 8, -24
|
|
|
6525 0006 84B0 sub sp, sp, #16
|
|
|
6526 .LCFI48:
|
|
|
6527 .cfi_def_cfa_offset 40
|
|
|
6528 0008 0400 movs r4, r0
|
|
|
6529 000a 8846 mov r8, r1
|
|
|
6530 000c 1700 movs r7, r2
|
|
|
6531 000e 1D00 movs r5, r3
|
|
|
6532 .LVL595:
|
|
|
2467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6533 .loc 1 2467 0
|
|
|
6534 0010 0023 movs r3, #0
|
|
|
6535 .LVL596:
|
|
|
6536 0012 0393 str r3, [sp, #12]
|
|
|
2469:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6537 .loc 1 2469 0
|
|
|
6538 0014 4133 adds r3, r3, #65
|
|
|
6539 0016 C35C ldrb r3, [r0, r3]
|
|
|
6540 0018 202B cmp r3, #32
|
|
|
6541 001a 00D0 beq .LCB7135
|
|
|
6542 001c 8BE0 b .L451 @long jump
|
|
|
6543 .LCB7135:
|
|
|
2471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6544 .loc 1 2471 0
|
|
|
6545 001e 0368 ldr r3, [r0]
|
|
|
6546 0020 9B69 ldr r3, [r3, #24]
|
|
|
6547 0022 1B04 lsls r3, r3, #16
|
|
|
6548 0024 00D5 bpl .LCB7141
|
|
|
6549 0026 8BE0 b .L452 @long jump
|
|
|
6550 .LCB7141:
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6551 .loc 1 2477 0
|
|
|
6552 0028 4023 movs r3, #64
|
|
|
6553 002a C35C ldrb r3, [r0, r3]
|
|
|
6554 002c 012B cmp r3, #1
|
|
|
6555 002e 00D1 bne .LCB7145
|
|
|
6556 0030 88E0 b .L453 @long jump
|
|
|
6557 .LCB7145:
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6558 .loc 1 2477 0 is_stmt 0 discriminator 2
|
|
|
6559 0032 4023 movs r3, #64
|
|
|
6560 0034 0122 movs r2, #1
|
|
|
6561 .LVL597:
|
|
|
6562 0036 C254 strb r2, [r0, r3]
|
|
|
2479:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
6563 .loc 1 2479 0 is_stmt 1 discriminator 2
|
|
|
6564 0038 0133 adds r3, r3, #1
|
|
|
6565 003a 2332 adds r2, r2, #35
|
|
|
6566 003c C254 strb r2, [r0, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 217
|
|
|
|
|
|
|
|
|
2480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6567 .loc 1 2480 0 discriminator 2
|
|
|
6568 003e 0023 movs r3, #0
|
|
|
6569 0040 4364 str r3, [r0, #68]
|
|
|
6570 0042 20E0 b .L450
|
|
|
6571 .LVL598:
|
|
|
6572 .L460:
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6573 .loc 1 2485 0 discriminator 1
|
|
|
6574 0044 4346 mov r3, r8
|
|
|
6575 0046 9A05 lsls r2, r3, #22
|
|
|
6576 0048 920D lsrs r2, r2, #22
|
|
|
6577 004a 424B ldr r3, .L461
|
|
|
6578 004c 1343 orrs r3, r2
|
|
|
6579 004e 23E0 b .L442
|
|
|
6580 .LVL599:
|
|
|
6581 .L446:
|
|
|
2506:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6582 .loc 1 2506 0
|
|
|
6583 0050 9369 ldr r3, [r2, #24]
|
|
|
6584 0052 DB06 lsls r3, r3, #27
|
|
|
6585 0054 42D5 bpl .L457
|
|
|
2528:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6586 .loc 1 2528 0
|
|
|
6587 0056 0096 str r6, [sp]
|
|
|
6588 0058 2B00 movs r3, r5
|
|
|
6589 005a 0022 movs r2, #0
|
|
|
6590 005c 2021 movs r1, #32
|
|
|
6591 005e 2000 movs r0, r4
|
|
|
6592 0060 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
6593 .LVL600:
|
|
|
6594 0064 0028 cmp r0, #0
|
|
|
6595 0066 00D0 beq .LCB7187
|
|
|
6596 0068 70E0 b .L455 @long jump
|
|
|
6597 .LCB7187:
|
|
|
2534:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6598 .loc 1 2534 0
|
|
|
6599 006a 2368 ldr r3, [r4]
|
|
|
6600 006c 1022 movs r2, #16
|
|
|
6601 006e DA61 str r2, [r3, #28]
|
|
|
2537:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6602 .loc 1 2537 0
|
|
|
6603 0070 2368 ldr r3, [r4]
|
|
|
6604 0072 1032 adds r2, r2, #16
|
|
|
6605 0074 DA61 str r2, [r3, #28]
|
|
|
2541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6606 .loc 1 2541 0
|
|
|
6607 0076 039B ldr r3, [sp, #12]
|
|
|
6608 0078 5A1C adds r2, r3, #1
|
|
|
6609 007a 0392 str r2, [sp, #12]
|
|
|
6610 007c BB42 cmp r3, r7
|
|
|
6611 007e 3FD0 beq .L458
|
|
|
6612 .L449:
|
|
|
2556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6613 .loc 1 2556 0
|
|
|
6614 0080 039B ldr r3, [sp, #12]
|
|
|
6615 0082 BB42 cmp r3, r7
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 218
|
|
|
|
|
|
|
|
|
6616 0084 4FD2 bcs .L459
|
|
|
6617 .LVL601:
|
|
|
6618 .L450:
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6619 .loc 1 2485 0
|
|
|
6620 0086 E368 ldr r3, [r4, #12]
|
|
|
6621 0088 012B cmp r3, #1
|
|
|
6622 008a DBD0 beq .L460
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6623 .loc 1 2485 0 is_stmt 0 discriminator 2
|
|
|
6624 008c 4346 mov r3, r8
|
|
|
6625 008e 9A05 lsls r2, r3, #22
|
|
|
6626 0090 920D lsrs r2, r2, #22
|
|
|
6627 0092 A023 movs r3, #160
|
|
|
6628 0094 9B01 lsls r3, r3, #6
|
|
|
6629 0096 1343 orrs r3, r2
|
|
|
6630 .L442:
|
|
|
2485:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6631 .loc 1 2485 0 discriminator 4
|
|
|
6632 0098 2268 ldr r2, [r4]
|
|
|
6633 009a 5360 str r3, [r2, #4]
|
|
|
2489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (__HAL_I2C_GET_FLAG(hi2c, I2C_F
|
|
|
6634 .loc 1 2489 0 is_stmt 1 discriminator 4
|
|
|
6635 009c FFF7FEFF bl HAL_GetTick
|
|
|
6636 .LVL602:
|
|
|
6637 00a0 0600 movs r6, r0
|
|
|
6638 .LVL603:
|
|
|
6639 .L444:
|
|
|
2490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6640 .loc 1 2490 0
|
|
|
6641 00a2 2268 ldr r2, [r4]
|
|
|
6642 00a4 9369 ldr r3, [r2, #24]
|
|
|
6643 00a6 9B06 lsls r3, r3, #26
|
|
|
6644 00a8 D2D4 bmi .L446
|
|
|
2490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6645 .loc 1 2490 0 is_stmt 0 discriminator 1
|
|
|
6646 00aa 9369 ldr r3, [r2, #24]
|
|
|
6647 00ac DB06 lsls r3, r3, #27
|
|
|
6648 00ae CFD4 bmi .L446
|
|
|
2490:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6649 .loc 1 2490 0 discriminator 2
|
|
|
6650 00b0 4123 movs r3, #65
|
|
|
6651 00b2 E35C ldrb r3, [r4, r3]
|
|
|
6652 00b4 DBB2 uxtb r3, r3
|
|
|
6653 00b6 A02B cmp r3, #160
|
|
|
6654 00b8 CAD0 beq .L446
|
|
|
2492:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6655 .loc 1 2492 0 is_stmt 1
|
|
|
6656 00ba 6B1C adds r3, r5, #1
|
|
|
6657 00bc F1D0 beq .L444
|
|
|
2494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6658 .loc 1 2494 0
|
|
|
6659 00be 002D cmp r5, #0
|
|
|
6660 00c0 04D0 beq .L445
|
|
|
2494:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6661 .loc 1 2494 0 is_stmt 0 discriminator 1
|
|
|
6662 00c2 FFF7FEFF bl HAL_GetTick
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 219
|
|
|
|
|
|
|
|
|
6663 .LVL604:
|
|
|
6664 00c6 801B subs r0, r0, r6
|
|
|
6665 00c8 A842 cmp r0, r5
|
|
|
6666 00ca EAD9 bls .L444
|
|
|
6667 .L445:
|
|
|
2497:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process Unlocked */
|
|
|
6668 .loc 1 2497 0 is_stmt 1
|
|
|
6669 00cc 4123 movs r3, #65
|
|
|
6670 00ce 2022 movs r2, #32
|
|
|
6671 00d0 E254 strb r2, [r4, r3]
|
|
|
2499:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return HAL_TIMEOUT;
|
|
|
6672 .loc 1 2499 0
|
|
|
6673 00d2 013B subs r3, r3, #1
|
|
|
6674 00d4 0022 movs r2, #0
|
|
|
6675 00d6 E254 strb r2, [r4, r3]
|
|
|
2500:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6676 .loc 1 2500 0
|
|
|
6677 00d8 0320 movs r0, #3
|
|
|
6678 00da 2DE0 b .L440
|
|
|
6679 .L457:
|
|
|
2509:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6680 .loc 1 2509 0
|
|
|
6681 00dc 0096 str r6, [sp]
|
|
|
6682 00de 2B00 movs r3, r5
|
|
|
6683 00e0 0022 movs r2, #0
|
|
|
6684 00e2 2021 movs r1, #32
|
|
|
6685 00e4 2000 movs r0, r4
|
|
|
6686 00e6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
6687 .LVL605:
|
|
|
6688 00ea 0028 cmp r0, #0
|
|
|
6689 00ec 2CD1 bne .L454
|
|
|
2515:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6690 .loc 1 2515 0
|
|
|
6691 00ee 2268 ldr r2, [r4]
|
|
|
6692 00f0 2023 movs r3, #32
|
|
|
6693 00f2 D361 str r3, [r2, #28]
|
|
|
2518:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6694 .loc 1 2518 0
|
|
|
6695 00f4 4122 movs r2, #65
|
|
|
6696 00f6 A354 strb r3, [r4, r2]
|
|
|
2521:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6697 .loc 1 2521 0
|
|
|
6698 00f8 2033 adds r3, r3, #32
|
|
|
6699 00fa 0022 movs r2, #0
|
|
|
6700 00fc E254 strb r2, [r4, r3]
|
|
|
2523:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6701 .loc 1 2523 0
|
|
|
6702 00fe 1BE0 b .L440
|
|
|
6703 .L458:
|
|
|
2544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6704 .loc 1 2544 0
|
|
|
6705 0100 2268 ldr r2, [r4]
|
|
|
6706 0102 5168 ldr r1, [r2, #4]
|
|
|
6707 0104 8023 movs r3, #128
|
|
|
6708 0106 DB01 lsls r3, r3, #7
|
|
|
6709 0108 0B43 orrs r3, r1
|
|
|
6710 010a 5360 str r3, [r2, #4]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 220
|
|
|
|
|
|
|
|
|
2547:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6711 .loc 1 2547 0
|
|
|
6712 010c 0096 str r6, [sp]
|
|
|
6713 010e 2B00 movs r3, r5
|
|
|
6714 0110 0022 movs r2, #0
|
|
|
6715 0112 2021 movs r1, #32
|
|
|
6716 0114 2000 movs r0, r4
|
|
|
6717 0116 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
|
|
|
6718 .LVL606:
|
|
|
6719 011a 0028 cmp r0, #0
|
|
|
6720 011c 18D1 bne .L456
|
|
|
2553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6721 .loc 1 2553 0
|
|
|
6722 011e 2368 ldr r3, [r4]
|
|
|
6723 0120 2022 movs r2, #32
|
|
|
6724 0122 DA61 str r2, [r3, #28]
|
|
|
6725 0124 ACE7 b .L449
|
|
|
6726 .L459:
|
|
|
2558:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6727 .loc 1 2558 0
|
|
|
6728 0126 4123 movs r3, #65
|
|
|
6729 0128 2022 movs r2, #32
|
|
|
6730 012a E254 strb r2, [r4, r3]
|
|
|
2561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6731 .loc 1 2561 0
|
|
|
6732 012c 013B subs r3, r3, #1
|
|
|
6733 012e 0022 movs r2, #0
|
|
|
6734 0130 E254 strb r2, [r4, r3]
|
|
|
2563:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6735 .loc 1 2563 0
|
|
|
6736 0132 0320 movs r0, #3
|
|
|
6737 0134 00E0 b .L440
|
|
|
6738 .LVL607:
|
|
|
6739 .L451:
|
|
|
2567:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6740 .loc 1 2567 0
|
|
|
6741 0136 0220 movs r0, #2
|
|
|
6742 .LVL608:
|
|
|
6743 .L440:
|
|
|
2569:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6744 .loc 1 2569 0
|
|
|
6745 0138 04B0 add sp, sp, #16
|
|
|
6746 @ sp needed
|
|
|
6747 .LVL609:
|
|
|
6748 .LVL610:
|
|
|
6749 .LVL611:
|
|
|
6750 013a 04BC pop {r2}
|
|
|
6751 013c 9046 mov r8, r2
|
|
|
6752 013e F0BD pop {r4, r5, r6, r7, pc}
|
|
|
6753 .LVL612:
|
|
|
6754 .L452:
|
|
|
2473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6755 .loc 1 2473 0
|
|
|
6756 0140 0220 movs r0, #2
|
|
|
6757 .LVL613:
|
|
|
6758 0142 F9E7 b .L440
|
|
|
6759 .LVL614:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 221
|
|
|
|
|
|
|
|
|
6760 .L453:
|
|
|
2477:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6761 .loc 1 2477 0
|
|
|
6762 0144 0220 movs r0, #2
|
|
|
6763 .LVL615:
|
|
|
6764 0146 F7E7 b .L440
|
|
|
6765 .LVL616:
|
|
|
6766 .L454:
|
|
|
2511:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6767 .loc 1 2511 0
|
|
|
6768 0148 0320 movs r0, #3
|
|
|
6769 014a F5E7 b .L440
|
|
|
6770 .L455:
|
|
|
2530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6771 .loc 1 2530 0
|
|
|
6772 014c 0320 movs r0, #3
|
|
|
6773 014e F3E7 b .L440
|
|
|
6774 .L456:
|
|
|
2549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6775 .loc 1 2549 0
|
|
|
6776 0150 0320 movs r0, #3
|
|
|
6777 0152 F1E7 b .L440
|
|
|
6778 .L462:
|
|
|
6779 .align 2
|
|
|
6780 .L461:
|
|
|
6781 0154 00200002 .word 33562624
|
|
|
6782 .cfi_endproc
|
|
|
6783 .LFE61:
|
|
|
6785 .section .text.HAL_I2C_Master_Sequential_Transmit_IT,"ax",%progbits
|
|
|
6786 .align 1
|
|
|
6787 .global HAL_I2C_Master_Sequential_Transmit_IT
|
|
|
6788 .syntax unified
|
|
|
6789 .code 16
|
|
|
6790 .thumb_func
|
|
|
6791 .fpu softvfp
|
|
|
6793 HAL_I2C_Master_Sequential_Transmit_IT:
|
|
|
6794 .LFB62:
|
|
|
2584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
6795 .loc 1 2584 0
|
|
|
6796 .cfi_startproc
|
|
|
6797 @ args = 4, pretend = 0, frame = 0
|
|
|
6798 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
6799 .LVL617:
|
|
|
6800 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
6801 .LCFI49:
|
|
|
6802 .cfi_def_cfa_offset 20
|
|
|
6803 .cfi_offset 4, -20
|
|
|
6804 .cfi_offset 5, -16
|
|
|
6805 .cfi_offset 6, -12
|
|
|
6806 .cfi_offset 7, -8
|
|
|
6807 .cfi_offset 14, -4
|
|
|
6808 0002 C646 mov lr, r8
|
|
|
6809 0004 00B5 push {lr}
|
|
|
6810 .LCFI50:
|
|
|
6811 .cfi_def_cfa_offset 24
|
|
|
6812 .cfi_offset 8, -24
|
|
|
6813 .LVL618:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 222
|
|
|
|
|
|
|
|
|
2591:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6814 .loc 1 2591 0
|
|
|
6815 0006 4124 movs r4, #65
|
|
|
6816 0008 045D ldrb r4, [r0, r4]
|
|
|
6817 000a 202C cmp r4, #32
|
|
|
6818 000c 50D1 bne .L469
|
|
|
2594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6819 .loc 1 2594 0
|
|
|
6820 000e 2034 adds r4, r4, #32
|
|
|
6821 0010 045D ldrb r4, [r0, r4]
|
|
|
6822 0012 012C cmp r4, #1
|
|
|
6823 0014 50D0 beq .L470
|
|
|
2594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6824 .loc 1 2594 0 is_stmt 0 discriminator 2
|
|
|
6825 0016 4024 movs r4, #64
|
|
|
6826 0018 0125 movs r5, #1
|
|
|
6827 001a 0555 strb r5, [r0, r4]
|
|
|
2596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
6828 .loc 1 2596 0 is_stmt 1 discriminator 2
|
|
|
6829 001c 0134 adds r4, r4, #1
|
|
|
6830 001e 2035 adds r5, r5, #32
|
|
|
6831 0020 0555 strb r5, [r0, r4]
|
|
|
2597:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
6832 .loc 1 2597 0 discriminator 2
|
|
|
6833 0022 0134 adds r4, r4, #1
|
|
|
6834 0024 113D subs r5, r5, #17
|
|
|
6835 0026 0555 strb r5, [r0, r4]
|
|
|
2598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6836 .loc 1 2598 0 discriminator 2
|
|
|
6837 0028 0024 movs r4, #0
|
|
|
6838 002a 4464 str r4, [r0, #68]
|
|
|
2601:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
6839 .loc 1 2601 0 discriminator 2
|
|
|
6840 002c 4262 str r2, [r0, #36]
|
|
|
2602:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
6841 .loc 1 2602 0 discriminator 2
|
|
|
6842 002e 4385 strh r3, [r0, #42]
|
|
|
2603:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
6843 .loc 1 2603 0 discriminator 2
|
|
|
6844 0030 069B ldr r3, [sp, #24]
|
|
|
6845 .LVL619:
|
|
|
6846 0032 C362 str r3, [r0, #44]
|
|
|
6847 .LVL620:
|
|
|
2604:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6848 .loc 1 2604 0 discriminator 2
|
|
|
6849 0034 214B ldr r3, .L475
|
|
|
6850 0036 4363 str r3, [r0, #52]
|
|
|
2607:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6851 .loc 1 2607 0 discriminator 2
|
|
|
6852 0038 438D ldrh r3, [r0, #42]
|
|
|
6853 003a 9BB2 uxth r3, r3
|
|
|
6854 003c FF2B cmp r3, #255
|
|
|
6855 003e 2CD9 bls .L465
|
|
|
2609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
6856 .loc 1 2609 0
|
|
|
6857 0040 FF23 movs r3, #255
|
|
|
6858 0042 0385 strh r3, [r0, #40]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 223
|
|
|
|
|
|
|
|
|
6859 .LVL621:
|
|
|
2610:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6860 .loc 1 2610 0
|
|
|
6861 0044 8023 movs r3, #128
|
|
|
6862 0046 5B04 lsls r3, r3, #17
|
|
|
6863 0048 9846 mov r8, r3
|
|
|
6864 .LVL622:
|
|
|
6865 .L466:
|
|
|
2620:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
6866 .loc 1 2620 0
|
|
|
6867 004a 036B ldr r3, [r0, #48]
|
|
|
6868 004c 112B cmp r3, #17
|
|
|
6869 004e 29D0 beq .L471
|
|
|
2586:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6870 .loc 1 2586 0
|
|
|
6871 0050 1B4C ldr r4, .L475+4
|
|
|
6872 .L467:
|
|
|
6873 .LVL623:
|
|
|
2626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6874 .loc 1 2626 0
|
|
|
6875 0052 028D ldrh r2, [r0, #40]
|
|
|
6876 .LVL624:
|
|
|
6877 0054 D2B2 uxtb r2, r2
|
|
|
6878 .LVL625:
|
|
|
6879 .LBB272:
|
|
|
6880 .LBB273:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
6881 .loc 1 4713 0
|
|
|
6882 0056 0568 ldr r5, [r0]
|
|
|
6883 0058 6B68 ldr r3, [r5, #4]
|
|
|
6884 005a 670D lsrs r7, r4, #21
|
|
|
6885 005c BC46 mov ip, r7
|
|
|
6886 005e 194F ldr r7, .L475+8
|
|
|
6887 0060 6646 mov r6, ip
|
|
|
6888 0062 3743 orrs r7, r6
|
|
|
6889 0064 BB43 bics r3, r7
|
|
|
6890 0066 8905 lsls r1, r1, #22
|
|
|
6891 .LVL626:
|
|
|
6892 0068 890D lsrs r1, r1, #22
|
|
|
6893 006a 1204 lsls r2, r2, #16
|
|
|
6894 .LVL627:
|
|
|
6895 006c 1143 orrs r1, r2
|
|
|
6896 006e 4246 mov r2, r8
|
|
|
6897 0070 1143 orrs r1, r2
|
|
|
6898 0072 2143 orrs r1, r4
|
|
|
6899 0074 1943 orrs r1, r3
|
|
|
6900 0076 6960 str r1, [r5, #4]
|
|
|
6901 .LVL628:
|
|
|
6902 .LBE273:
|
|
|
6903 .LBE272:
|
|
|
2629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6904 .loc 1 2629 0
|
|
|
6905 0078 4023 movs r3, #64
|
|
|
6906 007a 0022 movs r2, #0
|
|
|
6907 007c C254 strb r2, [r0, r3]
|
|
|
6908 .LVL629:
|
|
|
6909 .LBB274:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 224
|
|
|
|
|
|
|
|
|
6910 .LBB275:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6911 .loc 1 4728 0
|
|
|
6912 007e 436B ldr r3, [r0, #52]
|
|
|
6913 0080 114A ldr r2, .L475+12
|
|
|
6914 0082 9342 cmp r3, r2
|
|
|
6915 0084 12D0 beq .L472
|
|
|
6916 0086 114A ldr r2, .L475+16
|
|
|
6917 0088 9342 cmp r3, r2
|
|
|
6918 008a 0DD0 beq .L474
|
|
|
6919 008c F221 movs r1, #242
|
|
|
6920 .L468:
|
|
|
6921 .LVL630:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6922 .loc 1 4785 0
|
|
|
6923 008e 0268 ldr r2, [r0]
|
|
|
6924 0090 1368 ldr r3, [r2]
|
|
|
6925 0092 0B43 orrs r3, r1
|
|
|
6926 0094 1360 str r3, [r2]
|
|
|
6927 .LVL631:
|
|
|
6928 .LBE275:
|
|
|
6929 .LBE274:
|
|
|
2636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6930 .loc 1 2636 0
|
|
|
6931 0096 0020 movs r0, #0
|
|
|
6932 .LVL632:
|
|
|
6933 0098 0BE0 b .L464
|
|
|
6934 .LVL633:
|
|
|
6935 .L465:
|
|
|
2614:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
|
|
|
6936 .loc 1 2614 0
|
|
|
6937 009a 438D ldrh r3, [r0, #42]
|
|
|
6938 009c 0385 strh r3, [r0, #40]
|
|
|
2615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6939 .loc 1 2615 0
|
|
|
6940 009e C36A ldr r3, [r0, #44]
|
|
|
6941 .LVL634:
|
|
|
6942 00a0 9846 mov r8, r3
|
|
|
6943 .LVL635:
|
|
|
6944 00a2 D2E7 b .L466
|
|
|
6945 .LVL636:
|
|
|
6946 .L471:
|
|
|
2622:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6947 .loc 1 2622 0
|
|
|
6948 00a4 0024 movs r4, #0
|
|
|
6949 00a6 D4E7 b .L467
|
|
|
6950 .LVL637:
|
|
|
6951 .L474:
|
|
|
6952 .LBB277:
|
|
|
6953 .LBB276:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
6954 .loc 1 4728 0
|
|
|
6955 00a8 0021 movs r1, #0
|
|
|
6956 00aa F0E7 b .L468
|
|
|
6957 .L472:
|
|
|
6958 00ac 0021 movs r1, #0
|
|
|
6959 00ae EEE7 b .L468
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 225
|
|
|
|
|
|
|
|
|
6960 .LVL638:
|
|
|
6961 .L469:
|
|
|
6962 .LBE276:
|
|
|
6963 .LBE277:
|
|
|
2640:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
6964 .loc 1 2640 0
|
|
|
6965 00b0 0220 movs r0, #2
|
|
|
6966 .LVL639:
|
|
|
6967 .L464:
|
|
|
2642:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6968 .loc 1 2642 0
|
|
|
6969 @ sp needed
|
|
|
6970 00b2 04BC pop {r2}
|
|
|
6971 00b4 9046 mov r8, r2
|
|
|
6972 00b6 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
6973 .LVL640:
|
|
|
6974 .L470:
|
|
|
2594:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
6975 .loc 1 2594 0
|
|
|
6976 00b8 0220 movs r0, #2
|
|
|
6977 .LVL641:
|
|
|
6978 00ba FAE7 b .L464
|
|
|
6979 .L476:
|
|
|
6980 .align 2
|
|
|
6981 .L475:
|
|
|
6982 00bc 00000000 .word I2C_Master_ISR_IT
|
|
|
6983 00c0 00200080 .word -2147475456
|
|
|
6984 00c4 FF63FF03 .word 67068927
|
|
|
6985 00c8 00000000 .word I2C_Master_ISR_DMA
|
|
|
6986 00cc 00000000 .word I2C_Slave_ISR_DMA
|
|
|
6987 .cfi_endproc
|
|
|
6988 .LFE62:
|
|
|
6990 .section .text.HAL_I2C_Master_Sequential_Receive_IT,"ax",%progbits
|
|
|
6991 .align 1
|
|
|
6992 .global HAL_I2C_Master_Sequential_Receive_IT
|
|
|
6993 .syntax unified
|
|
|
6994 .code 16
|
|
|
6995 .thumb_func
|
|
|
6996 .fpu softvfp
|
|
|
6998 HAL_I2C_Master_Sequential_Receive_IT:
|
|
|
6999 .LFB63:
|
|
|
2657:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t xfermode = 0U;
|
|
|
7000 .loc 1 2657 0
|
|
|
7001 .cfi_startproc
|
|
|
7002 @ args = 4, pretend = 0, frame = 0
|
|
|
7003 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7004 .LVL642:
|
|
|
7005 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
7006 .LCFI51:
|
|
|
7007 .cfi_def_cfa_offset 20
|
|
|
7008 .cfi_offset 4, -20
|
|
|
7009 .cfi_offset 5, -16
|
|
|
7010 .cfi_offset 6, -12
|
|
|
7011 .cfi_offset 7, -8
|
|
|
7012 .cfi_offset 14, -4
|
|
|
7013 0002 C646 mov lr, r8
|
|
|
7014 0004 00B5 push {lr}
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 226
|
|
|
|
|
|
|
|
|
7015 .LCFI52:
|
|
|
7016 .cfi_def_cfa_offset 24
|
|
|
7017 .cfi_offset 8, -24
|
|
|
7018 .LVL643:
|
|
|
2664:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7019 .loc 1 2664 0
|
|
|
7020 0006 4124 movs r4, #65
|
|
|
7021 0008 045D ldrb r4, [r0, r4]
|
|
|
7022 000a 202C cmp r4, #32
|
|
|
7023 000c 50D1 bne .L483
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7024 .loc 1 2667 0
|
|
|
7025 000e 2034 adds r4, r4, #32
|
|
|
7026 0010 045D ldrb r4, [r0, r4]
|
|
|
7027 0012 012C cmp r4, #1
|
|
|
7028 0014 50D0 beq .L484
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7029 .loc 1 2667 0 is_stmt 0 discriminator 2
|
|
|
7030 0016 4024 movs r4, #64
|
|
|
7031 0018 0125 movs r5, #1
|
|
|
7032 001a 0555 strb r5, [r0, r4]
|
|
|
2669:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
|
|
|
7033 .loc 1 2669 0 is_stmt 1 discriminator 2
|
|
|
7034 001c 0134 adds r4, r4, #1
|
|
|
7035 001e 2135 adds r5, r5, #33
|
|
|
7036 0020 0555 strb r5, [r0, r4]
|
|
|
2670:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
7037 .loc 1 2670 0 discriminator 2
|
|
|
7038 0022 0134 adds r4, r4, #1
|
|
|
7039 0024 123D subs r5, r5, #18
|
|
|
7040 0026 0555 strb r5, [r0, r4]
|
|
|
2671:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7041 .loc 1 2671 0 discriminator 2
|
|
|
7042 0028 0024 movs r4, #0
|
|
|
7043 002a 4464 str r4, [r0, #68]
|
|
|
2674:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
7044 .loc 1 2674 0 discriminator 2
|
|
|
7045 002c 4262 str r2, [r0, #36]
|
|
|
2675:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
7046 .loc 1 2675 0 discriminator 2
|
|
|
7047 002e 4385 strh r3, [r0, #42]
|
|
|
2676:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
|
|
|
7048 .loc 1 2676 0 discriminator 2
|
|
|
7049 0030 069B ldr r3, [sp, #24]
|
|
|
7050 .LVL644:
|
|
|
7051 0032 C362 str r3, [r0, #44]
|
|
|
7052 .LVL645:
|
|
|
2677:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7053 .loc 1 2677 0 discriminator 2
|
|
|
7054 0034 214B ldr r3, .L489
|
|
|
7055 0036 4363 str r3, [r0, #52]
|
|
|
2680:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7056 .loc 1 2680 0 discriminator 2
|
|
|
7057 0038 438D ldrh r3, [r0, #42]
|
|
|
7058 003a 9BB2 uxth r3, r3
|
|
|
7059 003c FF2B cmp r3, #255
|
|
|
7060 003e 2CD9 bls .L479
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 227
|
|
|
|
|
|
|
|
|
2682:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
7061 .loc 1 2682 0
|
|
|
7062 0040 FF23 movs r3, #255
|
|
|
7063 0042 0385 strh r3, [r0, #40]
|
|
|
7064 .LVL646:
|
|
|
2683:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7065 .loc 1 2683 0
|
|
|
7066 0044 8023 movs r3, #128
|
|
|
7067 0046 5B04 lsls r3, r3, #17
|
|
|
7068 0048 9846 mov r8, r3
|
|
|
7069 .LVL647:
|
|
|
7070 .L480:
|
|
|
2693:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7071 .loc 1 2693 0
|
|
|
7072 004a 036B ldr r3, [r0, #48]
|
|
|
7073 004c 122B cmp r3, #18
|
|
|
7074 004e 29D0 beq .L485
|
|
|
2659:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7075 .loc 1 2659 0
|
|
|
7076 0050 1B4C ldr r4, .L489+4
|
|
|
7077 .L481:
|
|
|
7078 .LVL648:
|
|
|
2699:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7079 .loc 1 2699 0
|
|
|
7080 0052 028D ldrh r2, [r0, #40]
|
|
|
7081 .LVL649:
|
|
|
7082 0054 D2B2 uxtb r2, r2
|
|
|
7083 .LVL650:
|
|
|
7084 .LBB278:
|
|
|
7085 .LBB279:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
7086 .loc 1 4713 0
|
|
|
7087 0056 0568 ldr r5, [r0]
|
|
|
7088 0058 6B68 ldr r3, [r5, #4]
|
|
|
7089 005a 670D lsrs r7, r4, #21
|
|
|
7090 005c BC46 mov ip, r7
|
|
|
7091 005e 194F ldr r7, .L489+8
|
|
|
7092 0060 6646 mov r6, ip
|
|
|
7093 0062 3743 orrs r7, r6
|
|
|
7094 0064 BB43 bics r3, r7
|
|
|
7095 0066 8905 lsls r1, r1, #22
|
|
|
7096 .LVL651:
|
|
|
7097 0068 890D lsrs r1, r1, #22
|
|
|
7098 006a 1204 lsls r2, r2, #16
|
|
|
7099 .LVL652:
|
|
|
7100 006c 1143 orrs r1, r2
|
|
|
7101 006e 4246 mov r2, r8
|
|
|
7102 0070 1143 orrs r1, r2
|
|
|
7103 0072 2143 orrs r1, r4
|
|
|
7104 0074 1943 orrs r1, r3
|
|
|
7105 0076 6960 str r1, [r5, #4]
|
|
|
7106 .LVL653:
|
|
|
7107 .LBE279:
|
|
|
7108 .LBE278:
|
|
|
2702:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7109 .loc 1 2702 0
|
|
|
7110 0078 4023 movs r3, #64
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 228
|
|
|
|
|
|
|
|
|
7111 007a 0022 movs r2, #0
|
|
|
7112 007c C254 strb r2, [r0, r3]
|
|
|
7113 .LVL654:
|
|
|
7114 .LBB280:
|
|
|
7115 .LBB281:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7116 .loc 1 4728 0
|
|
|
7117 007e 436B ldr r3, [r0, #52]
|
|
|
7118 0080 114A ldr r2, .L489+12
|
|
|
7119 0082 9342 cmp r3, r2
|
|
|
7120 0084 12D0 beq .L486
|
|
|
7121 0086 114A ldr r2, .L489+16
|
|
|
7122 0088 9342 cmp r3, r2
|
|
|
7123 008a 0DD0 beq .L488
|
|
|
7124 008c F421 movs r1, #244
|
|
|
7125 .L482:
|
|
|
7126 .LVL655:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7127 .loc 1 4785 0
|
|
|
7128 008e 0268 ldr r2, [r0]
|
|
|
7129 0090 1368 ldr r3, [r2]
|
|
|
7130 0092 0B43 orrs r3, r1
|
|
|
7131 0094 1360 str r3, [r2]
|
|
|
7132 .LVL656:
|
|
|
7133 .LBE281:
|
|
|
7134 .LBE280:
|
|
|
2709:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7135 .loc 1 2709 0
|
|
|
7136 0096 0020 movs r0, #0
|
|
|
7137 .LVL657:
|
|
|
7138 0098 0BE0 b .L478
|
|
|
7139 .LVL658:
|
|
|
7140 .L479:
|
|
|
2687:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
|
|
|
7141 .loc 1 2687 0
|
|
|
7142 009a 438D ldrh r3, [r0, #42]
|
|
|
7143 009c 0385 strh r3, [r0, #40]
|
|
|
2688:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7144 .loc 1 2688 0
|
|
|
7145 009e C36A ldr r3, [r0, #44]
|
|
|
7146 .LVL659:
|
|
|
7147 00a0 9846 mov r8, r3
|
|
|
7148 .LVL660:
|
|
|
7149 00a2 D2E7 b .L480
|
|
|
7150 .LVL661:
|
|
|
7151 .L485:
|
|
|
2695:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7152 .loc 1 2695 0
|
|
|
7153 00a4 0024 movs r4, #0
|
|
|
7154 00a6 D4E7 b .L481
|
|
|
7155 .LVL662:
|
|
|
7156 .L488:
|
|
|
7157 .LBB283:
|
|
|
7158 .LBB282:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7159 .loc 1 4728 0
|
|
|
7160 00a8 0021 movs r1, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 229
|
|
|
|
|
|
|
|
|
7161 00aa F0E7 b .L482
|
|
|
7162 .L486:
|
|
|
7163 00ac 0021 movs r1, #0
|
|
|
7164 00ae EEE7 b .L482
|
|
|
7165 .LVL663:
|
|
|
7166 .L483:
|
|
|
7167 .LBE282:
|
|
|
7168 .LBE283:
|
|
|
2713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7169 .loc 1 2713 0
|
|
|
7170 00b0 0220 movs r0, #2
|
|
|
7171 .LVL664:
|
|
|
7172 .L478:
|
|
|
2715:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7173 .loc 1 2715 0
|
|
|
7174 @ sp needed
|
|
|
7175 00b2 04BC pop {r2}
|
|
|
7176 00b4 9046 mov r8, r2
|
|
|
7177 00b6 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
7178 .LVL665:
|
|
|
7179 .L484:
|
|
|
2667:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7180 .loc 1 2667 0
|
|
|
7181 00b8 0220 movs r0, #2
|
|
|
7182 .LVL666:
|
|
|
7183 00ba FAE7 b .L478
|
|
|
7184 .L490:
|
|
|
7185 .align 2
|
|
|
7186 .L489:
|
|
|
7187 00bc 00000000 .word I2C_Master_ISR_IT
|
|
|
7188 00c0 00240080 .word -2147474432
|
|
|
7189 00c4 FF63FF03 .word 67068927
|
|
|
7190 00c8 00000000 .word I2C_Master_ISR_DMA
|
|
|
7191 00cc 00000000 .word I2C_Slave_ISR_DMA
|
|
|
7192 .cfi_endproc
|
|
|
7193 .LFE63:
|
|
|
7195 .section .text.HAL_I2C_Slave_Sequential_Transmit_IT,"ax",%progbits
|
|
|
7196 .align 1
|
|
|
7197 .global HAL_I2C_Slave_Sequential_Transmit_IT
|
|
|
7198 .syntax unified
|
|
|
7199 .code 16
|
|
|
7200 .thumb_func
|
|
|
7201 .fpu softvfp
|
|
|
7203 HAL_I2C_Slave_Sequential_Transmit_IT:
|
|
|
7204 .LFB64:
|
|
|
2728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
7205 .loc 1 2728 0
|
|
|
7206 .cfi_startproc
|
|
|
7207 @ args = 0, pretend = 0, frame = 0
|
|
|
7208 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7209 .LVL667:
|
|
|
7210 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
7211 .LCFI53:
|
|
|
7212 .cfi_def_cfa_offset 24
|
|
|
7213 .cfi_offset 3, -24
|
|
|
7214 .cfi_offset 4, -20
|
|
|
7215 .cfi_offset 5, -16
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 230
|
|
|
|
|
|
|
|
|
7216 .cfi_offset 6, -12
|
|
|
7217 .cfi_offset 7, -8
|
|
|
7218 .cfi_offset 14, -4
|
|
|
7219 0002 0700 movs r7, r0
|
|
|
7220 0004 0C00 movs r4, r1
|
|
|
7221 0006 1500 movs r5, r2
|
|
|
7222 0008 1E00 movs r6, r3
|
|
|
2732:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7223 .loc 1 2732 0
|
|
|
7224 000a 4123 movs r3, #65
|
|
|
7225 .LVL668:
|
|
|
7226 000c C35C ldrb r3, [r0, r3]
|
|
|
7227 000e 2822 movs r2, #40
|
|
|
7228 .LVL669:
|
|
|
7229 0010 1340 ands r3, r2
|
|
|
7230 0012 282B cmp r3, #40
|
|
|
7231 0014 01D0 beq .L502
|
|
|
2787:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7232 .loc 1 2787 0
|
|
|
7233 0016 0120 movs r0, #1
|
|
|
7234 .LVL670:
|
|
|
7235 .L492:
|
|
|
2789:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7236 .loc 1 2789 0
|
|
|
7237 @ sp needed
|
|
|
7238 .LVL671:
|
|
|
7239 .LVL672:
|
|
|
7240 .LVL673:
|
|
|
7241 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
7242 .LVL674:
|
|
|
7243 .L502:
|
|
|
2734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7244 .loc 1 2734 0
|
|
|
7245 001a 0029 cmp r1, #0
|
|
|
7246 001c 45D0 beq .L497
|
|
|
2734:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7247 .loc 1 2734 0 is_stmt 0 discriminator 1
|
|
|
7248 001e 002D cmp r5, #0
|
|
|
7249 0020 01D1 bne .L503
|
|
|
2736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7250 .loc 1 2736 0 is_stmt 1
|
|
|
7251 0022 0120 movs r0, #1
|
|
|
7252 .LVL675:
|
|
|
7253 0024 F8E7 b .L492
|
|
|
7254 .LVL676:
|
|
|
7255 .L503:
|
|
|
2740:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7256 .loc 1 2740 0
|
|
|
7257 0026 0521 movs r1, #5
|
|
|
7258 .LVL677:
|
|
|
7259 0028 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7260 .LVL678:
|
|
|
2743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7261 .loc 1 2743 0
|
|
|
7262 002c 4023 movs r3, #64
|
|
|
7263 002e FB5C ldrb r3, [r7, r3]
|
|
|
7264 0030 012B cmp r3, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 231
|
|
|
|
|
|
|
|
|
7265 0032 3CD0 beq .L499
|
|
|
2743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7266 .loc 1 2743 0 is_stmt 0 discriminator 2
|
|
|
7267 0034 4023 movs r3, #64
|
|
|
7268 0036 0122 movs r2, #1
|
|
|
7269 0038 FA54 strb r2, [r7, r3]
|
|
|
2747:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7270 .loc 1 2747 0 is_stmt 1 discriminator 2
|
|
|
7271 003a 0133 adds r3, r3, #1
|
|
|
7272 003c FB5C ldrb r3, [r7, r3]
|
|
|
7273 003e 2A2B cmp r3, #42
|
|
|
7274 0040 2AD0 beq .L504
|
|
|
7275 .L493:
|
|
|
2753:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
7276 .loc 1 2753 0
|
|
|
7277 0042 4123 movs r3, #65
|
|
|
7278 0044 2922 movs r2, #41
|
|
|
7279 0046 FA54 strb r2, [r7, r3]
|
|
|
2754:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
7280 .loc 1 2754 0
|
|
|
7281 0048 0133 adds r3, r3, #1
|
|
|
7282 004a 093A subs r2, r2, #9
|
|
|
7283 004c FA54 strb r2, [r7, r3]
|
|
|
2755:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7284 .loc 1 2755 0
|
|
|
7285 004e 0023 movs r3, #0
|
|
|
7286 0050 7B64 str r3, [r7, #68]
|
|
|
2758:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7287 .loc 1 2758 0
|
|
|
7288 0052 3A68 ldr r2, [r7]
|
|
|
7289 0054 5368 ldr r3, [r2, #4]
|
|
|
7290 0056 1749 ldr r1, .L506
|
|
|
7291 0058 0B40 ands r3, r1
|
|
|
7292 005a 5360 str r3, [r2, #4]
|
|
|
2761:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
7293 .loc 1 2761 0
|
|
|
7294 005c 7C62 str r4, [r7, #36]
|
|
|
2762:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
7295 .loc 1 2762 0
|
|
|
7296 005e 7D85 strh r5, [r7, #42]
|
|
|
2763:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
7297 .loc 1 2763 0
|
|
|
7298 0060 7B8D ldrh r3, [r7, #42]
|
|
|
7299 0062 3B85 strh r3, [r7, #40]
|
|
|
2764:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
7300 .loc 1 2764 0
|
|
|
7301 0064 FE62 str r6, [r7, #44]
|
|
|
2765:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7302 .loc 1 2765 0
|
|
|
7303 0066 144B ldr r3, .L506+4
|
|
|
7304 0068 7B63 str r3, [r7, #52]
|
|
|
2767:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7305 .loc 1 2767 0
|
|
|
7306 006a 3B68 ldr r3, [r7]
|
|
|
7307 006c 9A69 ldr r2, [r3, #24]
|
|
|
7308 006e D203 lsls r2, r2, #15
|
|
|
7309 0070 01D5 bpl .L494
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 232
|
|
|
|
|
|
|
|
|
2771:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7310 .loc 1 2771 0
|
|
|
7311 0072 0822 movs r2, #8
|
|
|
7312 0074 DA61 str r2, [r3, #28]
|
|
|
7313 .L494:
|
|
|
2775:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7314 .loc 1 2775 0
|
|
|
7315 0076 4023 movs r3, #64
|
|
|
7316 0078 0022 movs r2, #0
|
|
|
7317 007a FA54 strb r2, [r7, r3]
|
|
|
7318 .LVL679:
|
|
|
7319 .LBB284:
|
|
|
7320 .LBB285:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7321 .loc 1 4728 0
|
|
|
7322 007c 7B6B ldr r3, [r7, #52]
|
|
|
7323 007e 0F4A ldr r2, .L506+8
|
|
|
7324 0080 9342 cmp r3, r2
|
|
|
7325 0082 10D0 beq .L500
|
|
|
7326 0084 0E4A ldr r2, .L506+12
|
|
|
7327 0086 9342 cmp r3, r2
|
|
|
7328 0088 0BD0 beq .L505
|
|
|
7329 008a FA21 movs r1, #250
|
|
|
7330 .L495:
|
|
|
7331 .LVL680:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7332 .loc 1 4785 0
|
|
|
7333 008c 3A68 ldr r2, [r7]
|
|
|
7334 008e 1368 ldr r3, [r2]
|
|
|
7335 0090 0B43 orrs r3, r1
|
|
|
7336 0092 1360 str r3, [r2]
|
|
|
7337 .LVL681:
|
|
|
7338 .LBE285:
|
|
|
7339 .LBE284:
|
|
|
2783:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7340 .loc 1 2783 0
|
|
|
7341 0094 0020 movs r0, #0
|
|
|
7342 0096 BFE7 b .L492
|
|
|
7343 .L504:
|
|
|
2750:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7344 .loc 1 2750 0
|
|
|
7345 0098 0221 movs r1, #2
|
|
|
7346 009a 3800 movs r0, r7
|
|
|
7347 009c FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7348 .LVL682:
|
|
|
7349 00a0 CFE7 b .L493
|
|
|
7350 .LVL683:
|
|
|
7351 .L505:
|
|
|
7352 .LBB287:
|
|
|
7353 .LBB286:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7354 .loc 1 4728 0
|
|
|
7355 00a2 B821 movs r1, #184
|
|
|
7356 00a4 F2E7 b .L495
|
|
|
7357 .L500:
|
|
|
7358 00a6 B821 movs r1, #184
|
|
|
7359 00a8 F0E7 b .L495
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 233
|
|
|
|
|
|
|
|
|
7360 .LVL684:
|
|
|
7361 .L497:
|
|
|
7362 .LBE286:
|
|
|
7363 .LBE287:
|
|
|
2736:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7364 .loc 1 2736 0
|
|
|
7365 00aa 0120 movs r0, #1
|
|
|
7366 .LVL685:
|
|
|
7367 00ac B4E7 b .L492
|
|
|
7368 .LVL686:
|
|
|
7369 .L499:
|
|
|
2743:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7370 .loc 1 2743 0
|
|
|
7371 00ae 0220 movs r0, #2
|
|
|
7372 00b0 B2E7 b .L492
|
|
|
7373 .L507:
|
|
|
7374 00b2 C046 .align 2
|
|
|
7375 .L506:
|
|
|
7376 00b4 FF7FFFFF .word -32769
|
|
|
7377 00b8 00000000 .word I2C_Slave_ISR_IT
|
|
|
7378 00bc 00000000 .word I2C_Master_ISR_DMA
|
|
|
7379 00c0 00000000 .word I2C_Slave_ISR_DMA
|
|
|
7380 .cfi_endproc
|
|
|
7381 .LFE64:
|
|
|
7383 .section .text.HAL_I2C_Slave_Sequential_Receive_IT,"ax",%progbits
|
|
|
7384 .align 1
|
|
|
7385 .global HAL_I2C_Slave_Sequential_Receive_IT
|
|
|
7386 .syntax unified
|
|
|
7387 .code 16
|
|
|
7388 .thumb_func
|
|
|
7389 .fpu softvfp
|
|
|
7391 HAL_I2C_Slave_Sequential_Receive_IT:
|
|
|
7392 .LFB65:
|
|
|
2802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Check the parameters */
|
|
|
7393 .loc 1 2802 0
|
|
|
7394 .cfi_startproc
|
|
|
7395 @ args = 0, pretend = 0, frame = 0
|
|
|
7396 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7397 .LVL687:
|
|
|
7398 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
7399 .LCFI54:
|
|
|
7400 .cfi_def_cfa_offset 24
|
|
|
7401 .cfi_offset 3, -24
|
|
|
7402 .cfi_offset 4, -20
|
|
|
7403 .cfi_offset 5, -16
|
|
|
7404 .cfi_offset 6, -12
|
|
|
7405 .cfi_offset 7, -8
|
|
|
7406 .cfi_offset 14, -4
|
|
|
7407 0002 0700 movs r7, r0
|
|
|
7408 0004 0C00 movs r4, r1
|
|
|
7409 0006 1500 movs r5, r2
|
|
|
7410 0008 1E00 movs r6, r3
|
|
|
2806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7411 .loc 1 2806 0
|
|
|
7412 000a 4123 movs r3, #65
|
|
|
7413 .LVL688:
|
|
|
7414 000c C35C ldrb r3, [r0, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 234
|
|
|
|
|
|
|
|
|
7415 000e 2822 movs r2, #40
|
|
|
7416 .LVL689:
|
|
|
7417 0010 1340 ands r3, r2
|
|
|
7418 0012 282B cmp r3, #40
|
|
|
7419 0014 01D0 beq .L519
|
|
|
2861:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7420 .loc 1 2861 0
|
|
|
7421 0016 0120 movs r0, #1
|
|
|
7422 .LVL690:
|
|
|
7423 .L509:
|
|
|
2863:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7424 .loc 1 2863 0
|
|
|
7425 @ sp needed
|
|
|
7426 .LVL691:
|
|
|
7427 .LVL692:
|
|
|
7428 .LVL693:
|
|
|
7429 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
7430 .LVL694:
|
|
|
7431 .L519:
|
|
|
2808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7432 .loc 1 2808 0
|
|
|
7433 001a 0029 cmp r1, #0
|
|
|
7434 001c 45D0 beq .L514
|
|
|
2808:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7435 .loc 1 2808 0 is_stmt 0 discriminator 1
|
|
|
7436 001e 002D cmp r5, #0
|
|
|
7437 0020 01D1 bne .L520
|
|
|
2810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7438 .loc 1 2810 0 is_stmt 1
|
|
|
7439 0022 0120 movs r0, #1
|
|
|
7440 .LVL695:
|
|
|
7441 0024 F8E7 b .L509
|
|
|
7442 .LVL696:
|
|
|
7443 .L520:
|
|
|
2814:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7444 .loc 1 2814 0
|
|
|
7445 0026 0621 movs r1, #6
|
|
|
7446 .LVL697:
|
|
|
7447 0028 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7448 .LVL698:
|
|
|
2817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7449 .loc 1 2817 0
|
|
|
7450 002c 4023 movs r3, #64
|
|
|
7451 002e FB5C ldrb r3, [r7, r3]
|
|
|
7452 0030 012B cmp r3, #1
|
|
|
7453 0032 3CD0 beq .L516
|
|
|
2817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7454 .loc 1 2817 0 is_stmt 0 discriminator 2
|
|
|
7455 0034 4023 movs r3, #64
|
|
|
7456 0036 0122 movs r2, #1
|
|
|
7457 0038 FA54 strb r2, [r7, r3]
|
|
|
2821:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7458 .loc 1 2821 0 is_stmt 1 discriminator 2
|
|
|
7459 003a 0133 adds r3, r3, #1
|
|
|
7460 003c FB5C ldrb r3, [r7, r3]
|
|
|
7461 003e 292B cmp r3, #41
|
|
|
7462 0040 2AD0 beq .L521
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 235
|
|
|
|
|
|
|
|
|
7463 .L510:
|
|
|
2827:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
|
|
|
7464 .loc 1 2827 0
|
|
|
7465 0042 4123 movs r3, #65
|
|
|
7466 0044 2A22 movs r2, #42
|
|
|
7467 0046 FA54 strb r2, [r7, r3]
|
|
|
2828:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
|
|
|
7468 .loc 1 2828 0
|
|
|
7469 0048 0133 adds r3, r3, #1
|
|
|
7470 004a 0A3A subs r2, r2, #10
|
|
|
7471 004c FA54 strb r2, [r7, r3]
|
|
|
2829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7472 .loc 1 2829 0
|
|
|
7473 004e 0023 movs r3, #0
|
|
|
7474 0050 7B64 str r3, [r7, #68]
|
|
|
2832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7475 .loc 1 2832 0
|
|
|
7476 0052 3A68 ldr r2, [r7]
|
|
|
7477 0054 5368 ldr r3, [r2, #4]
|
|
|
7478 0056 1749 ldr r1, .L523
|
|
|
7479 0058 0B40 ands r3, r1
|
|
|
7480 005a 5360 str r3, [r2, #4]
|
|
|
2835:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = Size;
|
|
|
7481 .loc 1 2835 0
|
|
|
7482 005c 7C62 str r4, [r7, #36]
|
|
|
2836:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
|
|
|
7483 .loc 1 2836 0
|
|
|
7484 005e 7D85 strh r5, [r7, #42]
|
|
|
2837:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
|
|
|
7485 .loc 1 2837 0
|
|
|
7486 0060 7B8D ldrh r3, [r7, #42]
|
|
|
7487 0062 3B85 strh r3, [r7, #40]
|
|
|
2838:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
7488 .loc 1 2838 0
|
|
|
7489 0064 FE62 str r6, [r7, #44]
|
|
|
2839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7490 .loc 1 2839 0
|
|
|
7491 0066 144B ldr r3, .L523+4
|
|
|
7492 0068 7B63 str r3, [r7, #52]
|
|
|
2841:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7493 .loc 1 2841 0
|
|
|
7494 006a 3B68 ldr r3, [r7]
|
|
|
7495 006c 9A69 ldr r2, [r3, #24]
|
|
|
7496 006e D203 lsls r2, r2, #15
|
|
|
7497 0070 01D4 bmi .L511
|
|
|
2845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7498 .loc 1 2845 0
|
|
|
7499 0072 0822 movs r2, #8
|
|
|
7500 0074 DA61 str r2, [r3, #28]
|
|
|
7501 .L511:
|
|
|
2849:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7502 .loc 1 2849 0
|
|
|
7503 0076 4023 movs r3, #64
|
|
|
7504 0078 0022 movs r2, #0
|
|
|
7505 007a FA54 strb r2, [r7, r3]
|
|
|
7506 .LVL699:
|
|
|
7507 .LBB288:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 236
|
|
|
|
|
|
|
|
|
7508 .LBB289:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7509 .loc 1 4728 0
|
|
|
7510 007c 7B6B ldr r3, [r7, #52]
|
|
|
7511 007e 0F4A ldr r2, .L523+8
|
|
|
7512 0080 9342 cmp r3, r2
|
|
|
7513 0082 10D0 beq .L517
|
|
|
7514 0084 0E4A ldr r2, .L523+12
|
|
|
7515 0086 9342 cmp r3, r2
|
|
|
7516 0088 0BD0 beq .L522
|
|
|
7517 008a FC21 movs r1, #252
|
|
|
7518 .L512:
|
|
|
7519 .LVL700:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7520 .loc 1 4785 0
|
|
|
7521 008c 3A68 ldr r2, [r7]
|
|
|
7522 008e 1368 ldr r3, [r2]
|
|
|
7523 0090 0B43 orrs r3, r1
|
|
|
7524 0092 1360 str r3, [r2]
|
|
|
7525 .LVL701:
|
|
|
7526 .LBE289:
|
|
|
7527 .LBE288:
|
|
|
2857:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7528 .loc 1 2857 0
|
|
|
7529 0094 0020 movs r0, #0
|
|
|
7530 0096 BFE7 b .L509
|
|
|
7531 .L521:
|
|
|
2824:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7532 .loc 1 2824 0
|
|
|
7533 0098 0121 movs r1, #1
|
|
|
7534 009a 3800 movs r0, r7
|
|
|
7535 009c FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7536 .LVL702:
|
|
|
7537 00a0 CFE7 b .L510
|
|
|
7538 .LVL703:
|
|
|
7539 .L522:
|
|
|
7540 .LBB291:
|
|
|
7541 .LBB290:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7542 .loc 1 4728 0
|
|
|
7543 00a2 B821 movs r1, #184
|
|
|
7544 00a4 F2E7 b .L512
|
|
|
7545 .L517:
|
|
|
7546 00a6 B821 movs r1, #184
|
|
|
7547 00a8 F0E7 b .L512
|
|
|
7548 .LVL704:
|
|
|
7549 .L514:
|
|
|
7550 .LBE290:
|
|
|
7551 .LBE291:
|
|
|
2810:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7552 .loc 1 2810 0
|
|
|
7553 00aa 0120 movs r0, #1
|
|
|
7554 .LVL705:
|
|
|
7555 00ac B4E7 b .L509
|
|
|
7556 .LVL706:
|
|
|
7557 .L516:
|
|
|
2817:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 237
|
|
|
|
|
|
|
|
|
7558 .loc 1 2817 0
|
|
|
7559 00ae 0220 movs r0, #2
|
|
|
7560 00b0 B2E7 b .L509
|
|
|
7561 .L524:
|
|
|
7562 00b2 C046 .align 2
|
|
|
7563 .L523:
|
|
|
7564 00b4 FF7FFFFF .word -32769
|
|
|
7565 00b8 00000000 .word I2C_Slave_ISR_IT
|
|
|
7566 00bc 00000000 .word I2C_Master_ISR_DMA
|
|
|
7567 00c0 00000000 .word I2C_Slave_ISR_DMA
|
|
|
7568 .cfi_endproc
|
|
|
7569 .LFE65:
|
|
|
7571 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
|
|
|
7572 .align 1
|
|
|
7573 .global HAL_I2C_EnableListen_IT
|
|
|
7574 .syntax unified
|
|
|
7575 .code 16
|
|
|
7576 .thumb_func
|
|
|
7577 .fpu softvfp
|
|
|
7579 HAL_I2C_EnableListen_IT:
|
|
|
7580 .LFB66:
|
|
|
2872:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
|
|
|
7581 .loc 1 2872 0
|
|
|
7582 .cfi_startproc
|
|
|
7583 @ args = 0, pretend = 0, frame = 0
|
|
|
7584 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7585 @ link register save eliminated.
|
|
|
7586 .LVL707:
|
|
|
2873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7587 .loc 1 2873 0
|
|
|
7588 0000 4123 movs r3, #65
|
|
|
7589 0002 C35C ldrb r3, [r0, r3]
|
|
|
7590 0004 202B cmp r3, #32
|
|
|
7591 0006 0BD1 bne .L527
|
|
|
2875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
7592 .loc 1 2875 0
|
|
|
7593 0008 2133 adds r3, r3, #33
|
|
|
7594 000a 2822 movs r2, #40
|
|
|
7595 000c C254 strb r2, [r0, r3]
|
|
|
2876:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7596 .loc 1 2876 0
|
|
|
7597 000e 054B ldr r3, .L528
|
|
|
7598 0010 4363 str r3, [r0, #52]
|
|
|
7599 .LVL708:
|
|
|
7600 .LBB292:
|
|
|
7601 .LBB293:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7602 .loc 1 4785 0
|
|
|
7603 0012 0268 ldr r2, [r0]
|
|
|
7604 0014 1368 ldr r3, [r2]
|
|
|
7605 0016 B821 movs r1, #184
|
|
|
7606 0018 0B43 orrs r3, r1
|
|
|
7607 001a 1360 str r3, [r2]
|
|
|
7608 .LVL709:
|
|
|
7609 .LBE293:
|
|
|
7610 .LBE292:
|
|
|
2881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 238
|
|
|
|
|
|
|
|
|
7611 .loc 1 2881 0
|
|
|
7612 001c 0020 movs r0, #0
|
|
|
7613 .LVL710:
|
|
|
7614 .L526:
|
|
|
2887:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7615 .loc 1 2887 0
|
|
|
7616 @ sp needed
|
|
|
7617 001e 7047 bx lr
|
|
|
7618 .LVL711:
|
|
|
7619 .L527:
|
|
|
2885:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7620 .loc 1 2885 0
|
|
|
7621 0020 0220 movs r0, #2
|
|
|
7622 .LVL712:
|
|
|
7623 0022 FCE7 b .L526
|
|
|
7624 .L529:
|
|
|
7625 .align 2
|
|
|
7626 .L528:
|
|
|
7627 0024 00000000 .word I2C_Slave_ISR_IT
|
|
|
7628 .cfi_endproc
|
|
|
7629 .LFE66:
|
|
|
7631 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
|
|
|
7632 .align 1
|
|
|
7633 .global HAL_I2C_DisableListen_IT
|
|
|
7634 .syntax unified
|
|
|
7635 .code 16
|
|
|
7636 .thumb_func
|
|
|
7637 .fpu softvfp
|
|
|
7639 HAL_I2C_DisableListen_IT:
|
|
|
7640 .LFB67:
|
|
|
2896:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
|
|
|
7641 .loc 1 2896 0
|
|
|
7642 .cfi_startproc
|
|
|
7643 @ args = 0, pretend = 0, frame = 0
|
|
|
7644 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7645 .LVL713:
|
|
|
7646 0000 70B5 push {r4, r5, r6, lr}
|
|
|
7647 .LCFI55:
|
|
|
7648 .cfi_def_cfa_offset 16
|
|
|
7649 .cfi_offset 4, -16
|
|
|
7650 .cfi_offset 5, -12
|
|
|
7651 .cfi_offset 6, -8
|
|
|
7652 .cfi_offset 14, -4
|
|
|
2901:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7653 .loc 1 2901 0
|
|
|
7654 0002 4123 movs r3, #65
|
|
|
7655 0004 C35C ldrb r3, [r0, r3]
|
|
|
7656 0006 282B cmp r3, #40
|
|
|
7657 0008 01D0 beq .L533
|
|
|
2916:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7658 .loc 1 2916 0
|
|
|
7659 000a 0220 movs r0, #2
|
|
|
7660 .LVL714:
|
|
|
7661 .L531:
|
|
|
2918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7662 .loc 1 2918 0
|
|
|
7663 @ sp needed
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 239
|
|
|
|
|
|
|
|
|
7664 000c 70BD pop {r4, r5, r6, pc}
|
|
|
7665 .LVL715:
|
|
|
7666 .L533:
|
|
|
2903:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
|
|
|
7667 .loc 1 2903 0
|
|
|
7668 000e 4124 movs r4, #65
|
|
|
7669 0010 025D ldrb r2, [r0, r4]
|
|
|
7670 .LVL716:
|
|
|
2904:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
7671 .loc 1 2904 0
|
|
|
7672 0012 4221 movs r1, #66
|
|
|
7673 0014 435C ldrb r3, [r0, r1]
|
|
|
7674 0016 0325 movs r5, #3
|
|
|
7675 0018 2A40 ands r2, r5
|
|
|
7676 .LVL717:
|
|
|
7677 001a 1343 orrs r3, r2
|
|
|
7678 001c 0363 str r3, [r0, #48]
|
|
|
2905:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
7679 .loc 1 2905 0
|
|
|
7680 001e 2023 movs r3, #32
|
|
|
7681 0020 0355 strb r3, [r0, r4]
|
|
|
2906:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
7682 .loc 1 2906 0
|
|
|
7683 0022 0023 movs r3, #0
|
|
|
7684 0024 4354 strb r3, [r0, r1]
|
|
|
2907:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7685 .loc 1 2907 0
|
|
|
7686 0026 4363 str r3, [r0, #52]
|
|
|
2910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7687 .loc 1 2910 0
|
|
|
7688 0028 3E39 subs r1, r1, #62
|
|
|
7689 002a FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7690 .LVL718:
|
|
|
2912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7691 .loc 1 2912 0
|
|
|
7692 002e 0020 movs r0, #0
|
|
|
7693 0030 ECE7 b .L531
|
|
|
7694 .cfi_endproc
|
|
|
7695 .LFE67:
|
|
|
7697 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
|
|
|
7698 .align 1
|
|
|
7699 .global HAL_I2C_Master_Abort_IT
|
|
|
7700 .syntax unified
|
|
|
7701 .code 16
|
|
|
7702 .thumb_func
|
|
|
7703 .fpu softvfp
|
|
|
7705 HAL_I2C_Master_Abort_IT:
|
|
|
7706 .LFB68:
|
|
|
2929:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
|
|
|
7707 .loc 1 2929 0
|
|
|
7708 .cfi_startproc
|
|
|
7709 @ args = 0, pretend = 0, frame = 0
|
|
|
7710 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7711 .LVL719:
|
|
|
7712 0000 70B5 push {r4, r5, r6, lr}
|
|
|
7713 .LCFI56:
|
|
|
7714 .cfi_def_cfa_offset 16
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 240
|
|
|
|
|
|
|
|
|
7715 .cfi_offset 4, -16
|
|
|
7716 .cfi_offset 5, -12
|
|
|
7717 .cfi_offset 6, -8
|
|
|
7718 .cfi_offset 14, -4
|
|
|
7719 0002 0400 movs r4, r0
|
|
|
7720 0004 0D00 movs r5, r1
|
|
|
2930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7721 .loc 1 2930 0
|
|
|
7722 0006 4223 movs r3, #66
|
|
|
7723 0008 C35C ldrb r3, [r0, r3]
|
|
|
7724 000a 102B cmp r3, #16
|
|
|
7725 000c 01D0 beq .L541
|
|
|
2960:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7726 .loc 1 2960 0
|
|
|
7727 000e 0120 movs r0, #1
|
|
|
7728 .LVL720:
|
|
|
7729 .L535:
|
|
|
2962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7730 .loc 1 2962 0
|
|
|
7731 @ sp needed
|
|
|
7732 .LVL721:
|
|
|
7733 0010 70BD pop {r4, r5, r6, pc}
|
|
|
7734 .LVL722:
|
|
|
7735 .L541:
|
|
|
2933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7736 .loc 1 2933 0
|
|
|
7737 0012 3033 adds r3, r3, #48
|
|
|
7738 0014 C35C ldrb r3, [r0, r3]
|
|
|
7739 0016 012B cmp r3, #1
|
|
|
7740 0018 2AD0 beq .L538
|
|
|
2933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7741 .loc 1 2933 0 is_stmt 0 discriminator 2
|
|
|
7742 001a 4026 movs r6, #64
|
|
|
7743 001c 0123 movs r3, #1
|
|
|
7744 001e 8355 strb r3, [r0, r6]
|
|
|
2936:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
|
|
|
7745 .loc 1 2936 0 is_stmt 1 discriminator 2
|
|
|
7746 0020 0221 movs r1, #2
|
|
|
7747 .LVL723:
|
|
|
7748 0022 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7749 .LVL724:
|
|
|
2937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7750 .loc 1 2937 0 discriminator 2
|
|
|
7751 0026 0121 movs r1, #1
|
|
|
7752 0028 2000 movs r0, r4
|
|
|
7753 002a FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7754 .LVL725:
|
|
|
2940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7755 .loc 1 2940 0 discriminator 2
|
|
|
7756 002e 4123 movs r3, #65
|
|
|
7757 0030 6022 movs r2, #96
|
|
|
7758 0032 E254 strb r2, [r4, r3]
|
|
|
7759 .LVL726:
|
|
|
7760 .LBB294:
|
|
|
7761 .LBB295:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
7762 .loc 1 4713 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 241
|
|
|
|
|
|
|
|
|
7763 0034 2168 ldr r1, [r4]
|
|
|
7764 0036 4B68 ldr r3, [r1, #4]
|
|
|
7765 0038 0E4A ldr r2, .L543
|
|
|
7766 003a 1340 ands r3, r2
|
|
|
7767 003c AD05 lsls r5, r5, #22
|
|
|
7768 .LVL727:
|
|
|
7769 003e AD0D lsrs r5, r5, #22
|
|
|
7770 0040 0D4A ldr r2, .L543+4
|
|
|
7771 0042 1543 orrs r5, r2
|
|
|
7772 0044 1D43 orrs r5, r3
|
|
|
7773 0046 4D60 str r5, [r1, #4]
|
|
|
7774 .LVL728:
|
|
|
7775 .LBE295:
|
|
|
7776 .LBE294:
|
|
|
2947:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7777 .loc 1 2947 0 discriminator 2
|
|
|
7778 0048 0023 movs r3, #0
|
|
|
7779 004a A355 strb r3, [r4, r6]
|
|
|
7780 .LVL729:
|
|
|
7781 .LBB296:
|
|
|
7782 .LBB297:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7783 .loc 1 4728 0 discriminator 2
|
|
|
7784 004c 636B ldr r3, [r4, #52]
|
|
|
7785 004e 0B4A ldr r2, .L543+8
|
|
|
7786 0050 9342 cmp r3, r2
|
|
|
7787 0052 0BD0 beq .L539
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
7788 .loc 1 4728 0 is_stmt 0
|
|
|
7789 0054 0A4A ldr r2, .L543+12
|
|
|
7790 0056 9342 cmp r3, r2
|
|
|
7791 0058 06D0 beq .L542
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7792 .loc 1 4778 0 is_stmt 1
|
|
|
7793 005a F421 movs r1, #244
|
|
|
7794 .L536:
|
|
|
7795 .LVL730:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7796 .loc 1 4785 0
|
|
|
7797 005c 2268 ldr r2, [r4]
|
|
|
7798 005e 1368 ldr r3, [r2]
|
|
|
7799 0060 0B43 orrs r3, r1
|
|
|
7800 0062 1360 str r3, [r2]
|
|
|
7801 .LVL731:
|
|
|
7802 .LBE297:
|
|
|
7803 .LBE296:
|
|
|
2954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7804 .loc 1 2954 0
|
|
|
7805 0064 0020 movs r0, #0
|
|
|
7806 0066 D3E7 b .L535
|
|
|
7807 .LVL732:
|
|
|
7808 .L542:
|
|
|
7809 .LBB299:
|
|
|
7810 .LBB298:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7811 .loc 1 4752 0
|
|
|
7812 0068 6021 movs r1, #96
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 242
|
|
|
|
|
|
|
|
|
7813 006a F7E7 b .L536
|
|
|
7814 .L539:
|
|
|
7815 006c 6021 movs r1, #96
|
|
|
7816 006e F5E7 b .L536
|
|
|
7817 .LVL733:
|
|
|
7818 .L538:
|
|
|
7819 .LBE298:
|
|
|
7820 .LBE299:
|
|
|
2933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7821 .loc 1 2933 0
|
|
|
7822 0070 0220 movs r0, #2
|
|
|
7823 .LVL734:
|
|
|
7824 0072 CDE7 b .L535
|
|
|
7825 .L544:
|
|
|
7826 .align 2
|
|
|
7827 .L543:
|
|
|
7828 0074 009800FC .word -67069952
|
|
|
7829 0078 00400182 .word -2113847296
|
|
|
7830 007c 00000000 .word I2C_Master_ISR_DMA
|
|
|
7831 0080 00000000 .word I2C_Slave_ISR_DMA
|
|
|
7832 .cfi_endproc
|
|
|
7833 .LFE68:
|
|
|
7835 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
|
|
|
7836 .align 1
|
|
|
7837 .global HAL_I2C_EV_IRQHandler
|
|
|
7838 .syntax unified
|
|
|
7839 .code 16
|
|
|
7840 .thumb_func
|
|
|
7841 .fpu softvfp
|
|
|
7843 HAL_I2C_EV_IRQHandler:
|
|
|
7844 .LFB69:
|
|
|
2979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
|
|
|
7845 .loc 1 2979 0
|
|
|
7846 .cfi_startproc
|
|
|
7847 @ args = 0, pretend = 0, frame = 0
|
|
|
7848 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7849 .LVL735:
|
|
|
7850 0000 10B5 push {r4, lr}
|
|
|
7851 .LCFI57:
|
|
|
7852 .cfi_def_cfa_offset 8
|
|
|
7853 .cfi_offset 4, -8
|
|
|
7854 .cfi_offset 14, -4
|
|
|
2981:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
|
|
|
7855 .loc 1 2981 0
|
|
|
7856 0002 0368 ldr r3, [r0]
|
|
|
7857 0004 9969 ldr r1, [r3, #24]
|
|
|
7858 .LVL736:
|
|
|
2982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7859 .loc 1 2982 0
|
|
|
7860 0006 1A68 ldr r2, [r3]
|
|
|
7861 .LVL737:
|
|
|
2985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7862 .loc 1 2985 0
|
|
|
7863 0008 436B ldr r3, [r0, #52]
|
|
|
7864 000a 002B cmp r3, #0
|
|
|
7865 000c 00D0 beq .L545
|
|
|
2987:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 243
|
|
|
|
|
|
|
|
|
7866 .loc 1 2987 0
|
|
|
7867 000e 9847 blx r3
|
|
|
7868 .LVL738:
|
|
|
7869 .L545:
|
|
|
2989:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7870 .loc 1 2989 0
|
|
|
7871 @ sp needed
|
|
|
7872 0010 10BD pop {r4, pc}
|
|
|
7873 .cfi_endproc
|
|
|
7874 .LFE69:
|
|
|
7876 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
|
|
|
7877 .align 1
|
|
|
7878 .weak HAL_I2C_MasterTxCpltCallback
|
|
|
7879 .syntax unified
|
|
|
7880 .code 16
|
|
|
7881 .thumb_func
|
|
|
7882 .fpu softvfp
|
|
|
7884 HAL_I2C_MasterTxCpltCallback:
|
|
|
7885 .LFB71:
|
|
|
3043:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
7886 .loc 1 3043 0
|
|
|
7887 .cfi_startproc
|
|
|
7888 @ args = 0, pretend = 0, frame = 0
|
|
|
7889 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7890 @ link register save eliminated.
|
|
|
7891 .LVL739:
|
|
|
3050:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7892 .loc 1 3050 0
|
|
|
7893 @ sp needed
|
|
|
7894 0000 7047 bx lr
|
|
|
7895 .cfi_endproc
|
|
|
7896 .LFE71:
|
|
|
7898 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
|
|
|
7899 .align 1
|
|
|
7900 .weak HAL_I2C_MasterRxCpltCallback
|
|
|
7901 .syntax unified
|
|
|
7902 .code 16
|
|
|
7903 .thumb_func
|
|
|
7904 .fpu softvfp
|
|
|
7906 HAL_I2C_MasterRxCpltCallback:
|
|
|
7907 .LFB72:
|
|
|
3059:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
7908 .loc 1 3059 0
|
|
|
7909 .cfi_startproc
|
|
|
7910 @ args = 0, pretend = 0, frame = 0
|
|
|
7911 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7912 @ link register save eliminated.
|
|
|
7913 .LVL740:
|
|
|
3066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7914 .loc 1 3066 0
|
|
|
7915 @ sp needed
|
|
|
7916 0000 7047 bx lr
|
|
|
7917 .cfi_endproc
|
|
|
7918 .LFE72:
|
|
|
7920 .section .text.I2C_ITMasterSequentialCplt,"ax",%progbits
|
|
|
7921 .align 1
|
|
|
7922 .syntax unified
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 244
|
|
|
|
|
|
|
|
|
7923 .code 16
|
|
|
7924 .thumb_func
|
|
|
7925 .fpu softvfp
|
|
|
7927 I2C_ITMasterSequentialCplt:
|
|
|
7928 .LFB91:
|
|
|
3865:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset I2C handle mode */
|
|
|
7929 .loc 1 3865 0
|
|
|
7930 .cfi_startproc
|
|
|
7931 @ args = 0, pretend = 0, frame = 0
|
|
|
7932 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
7933 .LVL741:
|
|
|
7934 0000 70B5 push {r4, r5, r6, lr}
|
|
|
7935 .LCFI58:
|
|
|
7936 .cfi_def_cfa_offset 16
|
|
|
7937 .cfi_offset 4, -16
|
|
|
7938 .cfi_offset 5, -12
|
|
|
7939 .cfi_offset 6, -8
|
|
|
7940 .cfi_offset 14, -4
|
|
|
7941 0002 0400 movs r4, r0
|
|
|
3867:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7942 .loc 1 3867 0
|
|
|
7943 0004 4223 movs r3, #66
|
|
|
7944 0006 0022 movs r2, #0
|
|
|
7945 0008 C254 strb r2, [r0, r3]
|
|
|
3871:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
7946 .loc 1 3871 0
|
|
|
7947 000a 013B subs r3, r3, #1
|
|
|
7948 000c C35C ldrb r3, [r0, r3]
|
|
|
7949 000e 212B cmp r3, #33
|
|
|
7950 0010 0FD0 beq .L552
|
|
|
3889:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
|
|
|
7951 .loc 1 3889 0
|
|
|
7952 0012 4123 movs r3, #65
|
|
|
7953 0014 2022 movs r2, #32
|
|
|
7954 0016 C254 strb r2, [r0, r3]
|
|
|
3890:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
7955 .loc 1 3890 0
|
|
|
7956 0018 2F3B subs r3, r3, #47
|
|
|
7957 001a 0363 str r3, [r0, #48]
|
|
|
3891:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7958 .loc 1 3891 0
|
|
|
7959 001c 0025 movs r5, #0
|
|
|
7960 001e 4563 str r5, [r0, #52]
|
|
|
3894:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7961 .loc 1 3894 0
|
|
|
7962 0020 0221 movs r1, #2
|
|
|
7963 0022 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7964 .LVL742:
|
|
|
3897:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7965 .loc 1 3897 0
|
|
|
7966 0026 4023 movs r3, #64
|
|
|
7967 0028 E554 strb r5, [r4, r3]
|
|
|
3900:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7968 .loc 1 3900 0
|
|
|
7969 002a 2000 movs r0, r4
|
|
|
7970 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
|
|
|
7971 .LVL743:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 245
|
|
|
|
|
|
|
|
|
7972 .L549:
|
|
|
3902:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7973 .loc 1 3902 0
|
|
|
7974 @ sp needed
|
|
|
7975 .LVL744:
|
|
|
7976 0030 70BD pop {r4, r5, r6, pc}
|
|
|
7977 .LVL745:
|
|
|
7978 .L552:
|
|
|
3873:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
|
|
|
7979 .loc 1 3873 0
|
|
|
7980 0032 2033 adds r3, r3, #32
|
|
|
7981 0034 2032 adds r2, r2, #32
|
|
|
7982 0036 C254 strb r2, [r0, r3]
|
|
|
3874:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
7983 .loc 1 3874 0
|
|
|
7984 0038 303B subs r3, r3, #48
|
|
|
7985 003a 0363 str r3, [r0, #48]
|
|
|
3875:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7986 .loc 1 3875 0
|
|
|
7987 003c 0025 movs r5, #0
|
|
|
7988 003e 4563 str r5, [r0, #52]
|
|
|
3878:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7989 .loc 1 3878 0
|
|
|
7990 0040 0121 movs r1, #1
|
|
|
7991 0042 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
7992 .LVL746:
|
|
|
3881:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
7993 .loc 1 3881 0
|
|
|
7994 0046 4023 movs r3, #64
|
|
|
7995 0048 E554 strb r5, [r4, r3]
|
|
|
3884:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
7996 .loc 1 3884 0
|
|
|
7997 004a 2000 movs r0, r4
|
|
|
7998 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
|
|
|
7999 .LVL747:
|
|
|
8000 0050 EEE7 b .L549
|
|
|
8001 .cfi_endproc
|
|
|
8002 .LFE91:
|
|
|
8004 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
|
|
|
8005 .align 1
|
|
|
8006 .weak HAL_I2C_SlaveTxCpltCallback
|
|
|
8007 .syntax unified
|
|
|
8008 .code 16
|
|
|
8009 .thumb_func
|
|
|
8010 .fpu softvfp
|
|
|
8012 HAL_I2C_SlaveTxCpltCallback:
|
|
|
8013 .LFB73:
|
|
|
3074:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8014 .loc 1 3074 0
|
|
|
8015 .cfi_startproc
|
|
|
8016 @ args = 0, pretend = 0, frame = 0
|
|
|
8017 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8018 @ link register save eliminated.
|
|
|
8019 .LVL748:
|
|
|
3081:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8020 .loc 1 3081 0
|
|
|
8021 @ sp needed
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 246
|
|
|
|
|
|
|
|
|
8022 0000 7047 bx lr
|
|
|
8023 .cfi_endproc
|
|
|
8024 .LFE73:
|
|
|
8026 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
|
|
|
8027 .align 1
|
|
|
8028 .weak HAL_I2C_SlaveRxCpltCallback
|
|
|
8029 .syntax unified
|
|
|
8030 .code 16
|
|
|
8031 .thumb_func
|
|
|
8032 .fpu softvfp
|
|
|
8034 HAL_I2C_SlaveRxCpltCallback:
|
|
|
8035 .LFB74:
|
|
|
3090:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8036 .loc 1 3090 0
|
|
|
8037 .cfi_startproc
|
|
|
8038 @ args = 0, pretend = 0, frame = 0
|
|
|
8039 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8040 @ link register save eliminated.
|
|
|
8041 .LVL749:
|
|
|
3097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8042 .loc 1 3097 0
|
|
|
8043 @ sp needed
|
|
|
8044 0000 7047 bx lr
|
|
|
8045 .cfi_endproc
|
|
|
8046 .LFE74:
|
|
|
8048 .section .text.I2C_ITSlaveSequentialCplt,"ax",%progbits
|
|
|
8049 .align 1
|
|
|
8050 .syntax unified
|
|
|
8051 .code 16
|
|
|
8052 .thumb_func
|
|
|
8053 .fpu softvfp
|
|
|
8055 I2C_ITSlaveSequentialCplt:
|
|
|
8056 .LFB92:
|
|
|
3910:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset I2C handle mode */
|
|
|
8057 .loc 1 3910 0
|
|
|
8058 .cfi_startproc
|
|
|
8059 @ args = 0, pretend = 0, frame = 0
|
|
|
8060 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8061 .LVL750:
|
|
|
8062 0000 10B5 push {r4, lr}
|
|
|
8063 .LCFI59:
|
|
|
8064 .cfi_def_cfa_offset 8
|
|
|
8065 .cfi_offset 4, -8
|
|
|
8066 .cfi_offset 14, -4
|
|
|
8067 0002 0400 movs r4, r0
|
|
|
3912:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8068 .loc 1 3912 0
|
|
|
8069 0004 4223 movs r3, #66
|
|
|
8070 0006 0022 movs r2, #0
|
|
|
8071 0008 C254 strb r2, [r0, r3]
|
|
|
3914:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8072 .loc 1 3914 0
|
|
|
8073 000a 013B subs r3, r3, #1
|
|
|
8074 000c C35C ldrb r3, [r0, r3]
|
|
|
8075 000e 292B cmp r3, #41
|
|
|
8076 0010 04D0 beq .L558
|
|
|
3930:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 247
|
|
|
|
|
|
|
|
|
8077 .loc 1 3930 0
|
|
|
8078 0012 4123 movs r3, #65
|
|
|
8079 0014 C35C ldrb r3, [r0, r3]
|
|
|
8080 0016 2A2B cmp r3, #42
|
|
|
8081 0018 0FD0 beq .L559
|
|
|
8082 .LVL751:
|
|
|
8083 .L555:
|
|
|
3945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8084 .loc 1 3945 0
|
|
|
8085 @ sp needed
|
|
|
8086 .LVL752:
|
|
|
8087 001a 10BD pop {r4, pc}
|
|
|
8088 .LVL753:
|
|
|
8089 .L558:
|
|
|
3917:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
|
|
|
8090 .loc 1 3917 0
|
|
|
8091 001c 1833 adds r3, r3, #24
|
|
|
8092 001e 2832 adds r2, r2, #40
|
|
|
8093 0020 C254 strb r2, [r0, r3]
|
|
|
3918:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8094 .loc 1 3918 0
|
|
|
8095 0022 203B subs r3, r3, #32
|
|
|
8096 0024 0363 str r3, [r0, #48]
|
|
|
3921:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8097 .loc 1 3921 0
|
|
|
8098 0026 0121 movs r1, #1
|
|
|
8099 0028 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8100 .LVL754:
|
|
|
3924:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8101 .loc 1 3924 0
|
|
|
8102 002c 4023 movs r3, #64
|
|
|
8103 002e 0022 movs r2, #0
|
|
|
8104 0030 E254 strb r2, [r4, r3]
|
|
|
3927:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8105 .loc 1 3927 0
|
|
|
8106 0032 2000 movs r0, r4
|
|
|
8107 0034 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
|
|
|
8108 .LVL755:
|
|
|
8109 0038 EFE7 b .L555
|
|
|
8110 .LVL756:
|
|
|
8111 .L559:
|
|
|
3933:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
|
|
|
8112 .loc 1 3933 0
|
|
|
8113 003a 1733 adds r3, r3, #23
|
|
|
8114 003c 2822 movs r2, #40
|
|
|
8115 003e C254 strb r2, [r0, r3]
|
|
|
3934:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8116 .loc 1 3934 0
|
|
|
8117 0040 1F3B subs r3, r3, #31
|
|
|
8118 0042 0363 str r3, [r0, #48]
|
|
|
3937:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8119 .loc 1 3937 0
|
|
|
8120 0044 0221 movs r1, #2
|
|
|
8121 0046 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8122 .LVL757:
|
|
|
3940:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8123 .loc 1 3940 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 248
|
|
|
|
|
|
|
|
|
8124 004a 4023 movs r3, #64
|
|
|
8125 004c 0022 movs r2, #0
|
|
|
8126 004e E254 strb r2, [r4, r3]
|
|
|
3943:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8127 .loc 1 3943 0
|
|
|
8128 0050 2000 movs r0, r4
|
|
|
8129 0052 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
|
|
|
8130 .LVL758:
|
|
|
3945:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8131 .loc 1 3945 0
|
|
|
8132 0056 E0E7 b .L555
|
|
|
8133 .cfi_endproc
|
|
|
8134 .LFE92:
|
|
|
8136 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
|
|
|
8137 .align 1
|
|
|
8138 .weak HAL_I2C_AddrCallback
|
|
|
8139 .syntax unified
|
|
|
8140 .code 16
|
|
|
8141 .thumb_func
|
|
|
8142 .fpu softvfp
|
|
|
8144 HAL_I2C_AddrCallback:
|
|
|
8145 .LFB75:
|
|
|
3108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8146 .loc 1 3108 0
|
|
|
8147 .cfi_startproc
|
|
|
8148 @ args = 0, pretend = 0, frame = 0
|
|
|
8149 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8150 @ link register save eliminated.
|
|
|
8151 .LVL759:
|
|
|
3117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8152 .loc 1 3117 0
|
|
|
8153 @ sp needed
|
|
|
8154 0000 7047 bx lr
|
|
|
8155 .cfi_endproc
|
|
|
8156 .LFE75:
|
|
|
8158 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
|
|
|
8159 .align 1
|
|
|
8160 .weak HAL_I2C_ListenCpltCallback
|
|
|
8161 .syntax unified
|
|
|
8162 .code 16
|
|
|
8163 .thumb_func
|
|
|
8164 .fpu softvfp
|
|
|
8166 HAL_I2C_ListenCpltCallback:
|
|
|
8167 .LFB76:
|
|
|
3126:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8168 .loc 1 3126 0
|
|
|
8169 .cfi_startproc
|
|
|
8170 @ args = 0, pretend = 0, frame = 0
|
|
|
8171 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8172 @ link register save eliminated.
|
|
|
8173 .LVL760:
|
|
|
3133:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8174 .loc 1 3133 0
|
|
|
8175 @ sp needed
|
|
|
8176 0000 7047 bx lr
|
|
|
8177 .cfi_endproc
|
|
|
8178 .LFE76:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 249
|
|
|
|
|
|
|
|
|
8180 .section .text.I2C_ITListenCplt,"ax",%progbits
|
|
|
8181 .align 1
|
|
|
8182 .syntax unified
|
|
|
8183 .code 16
|
|
|
8184 .thumb_func
|
|
|
8185 .fpu softvfp
|
|
|
8187 I2C_ITListenCplt:
|
|
|
8188 .LFB95:
|
|
|
4152:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset handle parameters */
|
|
|
8189 .loc 1 4152 0
|
|
|
8190 .cfi_startproc
|
|
|
8191 @ args = 0, pretend = 0, frame = 0
|
|
|
8192 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8193 .LVL761:
|
|
|
8194 0000 10B5 push {r4, lr}
|
|
|
8195 .LCFI60:
|
|
|
8196 .cfi_def_cfa_offset 8
|
|
|
8197 .cfi_offset 4, -8
|
|
|
8198 .cfi_offset 14, -4
|
|
|
8199 0002 0400 movs r4, r0
|
|
|
4154:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
8200 .loc 1 4154 0
|
|
|
8201 0004 164B ldr r3, .L564
|
|
|
8202 0006 C362 str r3, [r0, #44]
|
|
|
4155:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
8203 .loc 1 4155 0
|
|
|
8204 0008 0023 movs r3, #0
|
|
|
8205 000a 0363 str r3, [r0, #48]
|
|
|
4156:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
8206 .loc 1 4156 0
|
|
|
8207 000c 4122 movs r2, #65
|
|
|
8208 000e 2020 movs r0, #32
|
|
|
8209 .LVL762:
|
|
|
8210 0010 A054 strb r0, [r4, r2]
|
|
|
4157:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
8211 .loc 1 4157 0
|
|
|
8212 0012 0132 adds r2, r2, #1
|
|
|
8213 0014 A354 strb r3, [r4, r2]
|
|
|
4158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8214 .loc 1 4158 0
|
|
|
8215 0016 6363 str r3, [r4, #52]
|
|
|
4161:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8216 .loc 1 4161 0
|
|
|
8217 0018 4B07 lsls r3, r1, #29
|
|
|
8218 001a 12D5 bpl .L563
|
|
|
4164:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8219 .loc 1 4164 0
|
|
|
8220 001c 2368 ldr r3, [r4]
|
|
|
8221 001e 5A6A ldr r2, [r3, #36]
|
|
|
8222 0020 636A ldr r3, [r4, #36]
|
|
|
8223 0022 591C adds r1, r3, #1
|
|
|
8224 .LVL763:
|
|
|
8225 0024 6162 str r1, [r4, #36]
|
|
|
8226 0026 1A70 strb r2, [r3]
|
|
|
4166:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8227 .loc 1 4166 0
|
|
|
8228 0028 238D ldrh r3, [r4, #40]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 250
|
|
|
|
|
|
|
|
|
8229 002a 002B cmp r3, #0
|
|
|
8230 002c 09D0 beq .L563
|
|
|
4168:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
8231 .loc 1 4168 0
|
|
|
8232 002e 013B subs r3, r3, #1
|
|
|
8233 0030 2385 strh r3, [r4, #40]
|
|
|
4169:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8234 .loc 1 4169 0
|
|
|
8235 0032 638D ldrh r3, [r4, #42]
|
|
|
8236 0034 013B subs r3, r3, #1
|
|
|
8237 0036 9BB2 uxth r3, r3
|
|
|
8238 0038 6385 strh r3, [r4, #42]
|
|
|
4172:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8239 .loc 1 4172 0
|
|
|
8240 003a 636C ldr r3, [r4, #68]
|
|
|
8241 003c 0422 movs r2, #4
|
|
|
8242 003e 1343 orrs r3, r2
|
|
|
8243 0040 6364 str r3, [r4, #68]
|
|
|
8244 .L563:
|
|
|
4177:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8245 .loc 1 4177 0
|
|
|
8246 0042 0721 movs r1, #7
|
|
|
8247 0044 2000 movs r0, r4
|
|
|
8248 0046 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8249 .LVL764:
|
|
|
4180:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8250 .loc 1 4180 0
|
|
|
8251 004a 2368 ldr r3, [r4]
|
|
|
8252 004c 1022 movs r2, #16
|
|
|
8253 004e DA61 str r2, [r3, #28]
|
|
|
4183:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8254 .loc 1 4183 0
|
|
|
8255 0050 4023 movs r3, #64
|
|
|
8256 0052 0022 movs r2, #0
|
|
|
8257 0054 E254 strb r2, [r4, r3]
|
|
|
4186:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8258 .loc 1 4186 0
|
|
|
8259 0056 2000 movs r0, r4
|
|
|
8260 0058 FFF7FEFF bl HAL_I2C_ListenCpltCallback
|
|
|
8261 .LVL765:
|
|
|
4187:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8262 .loc 1 4187 0
|
|
|
8263 @ sp needed
|
|
|
8264 .LVL766:
|
|
|
8265 005c 10BD pop {r4, pc}
|
|
|
8266 .L565:
|
|
|
8267 005e C046 .align 2
|
|
|
8268 .L564:
|
|
|
8269 0060 0000FFFF .word -65536
|
|
|
8270 .cfi_endproc
|
|
|
8271 .LFE95:
|
|
|
8273 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
|
|
|
8274 .align 1
|
|
|
8275 .weak HAL_I2C_MemTxCpltCallback
|
|
|
8276 .syntax unified
|
|
|
8277 .code 16
|
|
|
8278 .thumb_func
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 251
|
|
|
|
|
|
|
|
|
8279 .fpu softvfp
|
|
|
8281 HAL_I2C_MemTxCpltCallback:
|
|
|
8282 .LFB77:
|
|
|
3142:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8283 .loc 1 3142 0
|
|
|
8284 .cfi_startproc
|
|
|
8285 @ args = 0, pretend = 0, frame = 0
|
|
|
8286 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8287 @ link register save eliminated.
|
|
|
8288 .LVL767:
|
|
|
3149:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8289 .loc 1 3149 0
|
|
|
8290 @ sp needed
|
|
|
8291 0000 7047 bx lr
|
|
|
8292 .cfi_endproc
|
|
|
8293 .LFE77:
|
|
|
8295 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
|
|
|
8296 .align 1
|
|
|
8297 .weak HAL_I2C_MemRxCpltCallback
|
|
|
8298 .syntax unified
|
|
|
8299 .code 16
|
|
|
8300 .thumb_func
|
|
|
8301 .fpu softvfp
|
|
|
8303 HAL_I2C_MemRxCpltCallback:
|
|
|
8304 .LFB78:
|
|
|
3158:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8305 .loc 1 3158 0
|
|
|
8306 .cfi_startproc
|
|
|
8307 @ args = 0, pretend = 0, frame = 0
|
|
|
8308 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8309 @ link register save eliminated.
|
|
|
8310 .LVL768:
|
|
|
3165:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8311 .loc 1 3165 0
|
|
|
8312 @ sp needed
|
|
|
8313 0000 7047 bx lr
|
|
|
8314 .cfi_endproc
|
|
|
8315 .LFE78:
|
|
|
8317 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
|
|
|
8318 .align 1
|
|
|
8319 .weak HAL_I2C_ErrorCallback
|
|
|
8320 .syntax unified
|
|
|
8321 .code 16
|
|
|
8322 .thumb_func
|
|
|
8323 .fpu softvfp
|
|
|
8325 HAL_I2C_ErrorCallback:
|
|
|
8326 .LFB79:
|
|
|
3174:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8327 .loc 1 3174 0
|
|
|
8328 .cfi_startproc
|
|
|
8329 @ args = 0, pretend = 0, frame = 0
|
|
|
8330 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8331 @ link register save eliminated.
|
|
|
8332 .LVL769:
|
|
|
3181:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8333 .loc 1 3181 0
|
|
|
8334 @ sp needed
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 252
|
|
|
|
|
|
|
|
|
8335 0000 7047 bx lr
|
|
|
8336 .cfi_endproc
|
|
|
8337 .LFE79:
|
|
|
8339 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
|
|
|
8340 .align 1
|
|
|
8341 .weak HAL_I2C_AbortCpltCallback
|
|
|
8342 .syntax unified
|
|
|
8343 .code 16
|
|
|
8344 .thumb_func
|
|
|
8345 .fpu softvfp
|
|
|
8347 HAL_I2C_AbortCpltCallback:
|
|
|
8348 .LFB80:
|
|
|
3190:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
|
|
|
8349 .loc 1 3190 0
|
|
|
8350 .cfi_startproc
|
|
|
8351 @ args = 0, pretend = 0, frame = 0
|
|
|
8352 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8353 @ link register save eliminated.
|
|
|
8354 .LVL770:
|
|
|
3197:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8355 .loc 1 3197 0
|
|
|
8356 @ sp needed
|
|
|
8357 0000 7047 bx lr
|
|
|
8358 .cfi_endproc
|
|
|
8359 .LFE80:
|
|
|
8361 .section .text.I2C_ITError,"ax",%progbits
|
|
|
8362 .align 1
|
|
|
8363 .syntax unified
|
|
|
8364 .code 16
|
|
|
8365 .thumb_func
|
|
|
8366 .fpu softvfp
|
|
|
8368 I2C_ITError:
|
|
|
8369 .LFB96:
|
|
|
4196:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Reset handle parameters */
|
|
|
8370 .loc 1 4196 0
|
|
|
8371 .cfi_startproc
|
|
|
8372 @ args = 0, pretend = 0, frame = 0
|
|
|
8373 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8374 .LVL771:
|
|
|
8375 0000 10B5 push {r4, lr}
|
|
|
8376 .LCFI61:
|
|
|
8377 .cfi_def_cfa_offset 8
|
|
|
8378 .cfi_offset 4, -8
|
|
|
8379 .cfi_offset 14, -4
|
|
|
8380 0002 0400 movs r4, r0
|
|
|
4198:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
8381 .loc 1 4198 0
|
|
|
8382 0004 0023 movs r3, #0
|
|
|
8383 0006 4222 movs r2, #66
|
|
|
8384 0008 8354 strb r3, [r0, r2]
|
|
|
4199:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount = 0U;
|
|
|
8385 .loc 1 4199 0
|
|
|
8386 000a 364A ldr r2, .L582
|
|
|
8387 000c C262 str r2, [r0, #44]
|
|
|
4200:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8388 .loc 1 4200 0
|
|
|
8389 000e 4385 strh r3, [r0, #42]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 253
|
|
|
|
|
|
|
|
|
4203:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8390 .loc 1 4203 0
|
|
|
8391 0010 436C ldr r3, [r0, #68]
|
|
|
8392 0012 1943 orrs r1, r3
|
|
|
8393 .LVL772:
|
|
|
8394 0014 4164 str r1, [r0, #68]
|
|
|
4206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
|
|
|
8395 .loc 1 4206 0
|
|
|
8396 0016 4123 movs r3, #65
|
|
|
8397 0018 C35C ldrb r3, [r0, r3]
|
|
|
8398 001a 282B cmp r3, #40
|
|
|
8399 001c 07D0 beq .L571
|
|
|
4207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN))
|
|
|
8400 .loc 1 4207 0 discriminator 1
|
|
|
8401 001e 4123 movs r3, #65
|
|
|
8402 0020 C35C ldrb r3, [r0, r3]
|
|
|
4206:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
|
|
|
8403 .loc 1 4206 0 discriminator 1
|
|
|
8404 0022 292B cmp r3, #41
|
|
|
8405 0024 03D0 beq .L571
|
|
|
4208:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8406 .loc 1 4208 0
|
|
|
8407 0026 4123 movs r3, #65
|
|
|
8408 0028 C35C ldrb r3, [r0, r3]
|
|
|
4207:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN))
|
|
|
8409 .loc 1 4207 0
|
|
|
8410 002a 2A2B cmp r3, #42
|
|
|
8411 002c 1CD1 bne .L572
|
|
|
8412 .L571:
|
|
|
4211:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8413 .loc 1 4211 0
|
|
|
8414 002e 0321 movs r1, #3
|
|
|
8415 0030 2000 movs r0, r4
|
|
|
8416 .LVL773:
|
|
|
8417 0032 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8418 .LVL774:
|
|
|
4214:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
|
|
|
8419 .loc 1 4214 0
|
|
|
8420 0036 4123 movs r3, #65
|
|
|
8421 0038 2822 movs r2, #40
|
|
|
8422 003a E254 strb r2, [r4, r3]
|
|
|
4215:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
|
|
|
8423 .loc 1 4215 0
|
|
|
8424 003c 0023 movs r3, #0
|
|
|
8425 003e 2363 str r3, [r4, #48]
|
|
|
4216:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8426 .loc 1 4216 0
|
|
|
8427 0040 294B ldr r3, .L582+4
|
|
|
8428 0042 6363 str r3, [r4, #52]
|
|
|
8429 .L573:
|
|
|
4235:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8430 .loc 1 4235 0
|
|
|
8431 0044 2368 ldr r3, [r4]
|
|
|
8432 0046 1A68 ldr r2, [r3]
|
|
|
8433 0048 5204 lsls r2, r2, #17
|
|
|
8434 004a 1BD4 bmi .L579
|
|
|
4254:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 254
|
|
|
|
|
|
|
|
|
8435 .loc 1 4254 0
|
|
|
8436 004c 1A68 ldr r2, [r3]
|
|
|
8437 004e 1204 lsls r2, r2, #16
|
|
|
8438 0050 2BD4 bmi .L580
|
|
|
4272:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8439 .loc 1 4272 0
|
|
|
8440 0052 4123 movs r3, #65
|
|
|
8441 0054 E35C ldrb r3, [r4, r3]
|
|
|
8442 0056 602B cmp r3, #96
|
|
|
8443 0058 3AD0 beq .L581
|
|
|
4285:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8444 .loc 1 4285 0
|
|
|
8445 005a 4023 movs r3, #64
|
|
|
8446 005c 0022 movs r2, #0
|
|
|
8447 005e E254 strb r2, [r4, r3]
|
|
|
4288:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8448 .loc 1 4288 0
|
|
|
8449 0060 2000 movs r0, r4
|
|
|
8450 0062 FFF7FEFF bl HAL_I2C_ErrorCallback
|
|
|
8451 .LVL775:
|
|
|
8452 .L570:
|
|
|
4290:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8453 .loc 1 4290 0
|
|
|
8454 @ sp needed
|
|
|
8455 .LVL776:
|
|
|
8456 0066 10BD pop {r4, pc}
|
|
|
8457 .LVL777:
|
|
|
8458 .L572:
|
|
|
4221:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8459 .loc 1 4221 0
|
|
|
8460 0068 0721 movs r1, #7
|
|
|
8461 006a FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8462 .LVL778:
|
|
|
4225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8463 .loc 1 4225 0
|
|
|
8464 006e 4123 movs r3, #65
|
|
|
8465 0070 E35C ldrb r3, [r4, r3]
|
|
|
8466 0072 602B cmp r3, #96
|
|
|
8467 0074 02D0 beq .L574
|
|
|
4228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8468 .loc 1 4228 0
|
|
|
8469 0076 4123 movs r3, #65
|
|
|
8470 0078 2022 movs r2, #32
|
|
|
8471 007a E254 strb r2, [r4, r3]
|
|
|
8472 .L574:
|
|
|
4230:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
8473 .loc 1 4230 0
|
|
|
8474 007c 0023 movs r3, #0
|
|
|
8475 007e 2363 str r3, [r4, #48]
|
|
|
4231:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8476 .loc 1 4231 0
|
|
|
8477 0080 6363 str r3, [r4, #52]
|
|
|
8478 0082 DFE7 b .L573
|
|
|
8479 .L579:
|
|
|
4237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8480 .loc 1 4237 0
|
|
|
8481 0084 1A68 ldr r2, [r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 255
|
|
|
|
|
|
|
|
|
8482 0086 1949 ldr r1, .L582+8
|
|
|
8483 0088 0A40 ands r2, r1
|
|
|
8484 008a 1A60 str r2, [r3]
|
|
|
4241:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8485 .loc 1 4241 0
|
|
|
8486 008c A36B ldr r3, [r4, #56]
|
|
|
8487 008e 184A ldr r2, .L582+12
|
|
|
8488 0090 9A63 str r2, [r3, #56]
|
|
|
4244:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8489 .loc 1 4244 0
|
|
|
8490 0092 4023 movs r3, #64
|
|
|
8491 0094 0022 movs r2, #0
|
|
|
8492 0096 E254 strb r2, [r4, r3]
|
|
|
4247:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8493 .loc 1 4247 0
|
|
|
8494 0098 A06B ldr r0, [r4, #56]
|
|
|
8495 009a FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
8496 .LVL779:
|
|
|
8497 009e 0028 cmp r0, #0
|
|
|
8498 00a0 E1D0 beq .L570
|
|
|
4250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8499 .loc 1 4250 0
|
|
|
8500 00a2 A06B ldr r0, [r4, #56]
|
|
|
8501 00a4 836B ldr r3, [r0, #56]
|
|
|
8502 00a6 9847 blx r3
|
|
|
8503 .LVL780:
|
|
|
8504 00a8 DDE7 b .L570
|
|
|
8505 .L580:
|
|
|
4256:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8506 .loc 1 4256 0
|
|
|
8507 00aa 1A68 ldr r2, [r3]
|
|
|
8508 00ac 1149 ldr r1, .L582+16
|
|
|
8509 00ae 0A40 ands r2, r1
|
|
|
8510 00b0 1A60 str r2, [r3]
|
|
|
4260:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8511 .loc 1 4260 0
|
|
|
8512 00b2 E36B ldr r3, [r4, #60]
|
|
|
8513 00b4 0E4A ldr r2, .L582+12
|
|
|
8514 00b6 9A63 str r2, [r3, #56]
|
|
|
4263:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8515 .loc 1 4263 0
|
|
|
8516 00b8 4023 movs r3, #64
|
|
|
8517 00ba 0022 movs r2, #0
|
|
|
8518 00bc E254 strb r2, [r4, r3]
|
|
|
4266:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8519 .loc 1 4266 0
|
|
|
8520 00be E06B ldr r0, [r4, #60]
|
|
|
8521 00c0 FFF7FEFF bl HAL_DMA_Abort_IT
|
|
|
8522 .LVL781:
|
|
|
8523 00c4 0028 cmp r0, #0
|
|
|
8524 00c6 CED0 beq .L570
|
|
|
4269:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8525 .loc 1 4269 0
|
|
|
8526 00c8 E06B ldr r0, [r4, #60]
|
|
|
8527 00ca 836B ldr r3, [r0, #56]
|
|
|
8528 00cc 9847 blx r3
|
|
|
8529 .LVL782:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 256
|
|
|
|
|
|
|
|
|
8530 00ce CAE7 b .L570
|
|
|
8531 .L581:
|
|
|
4274:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8532 .loc 1 4274 0
|
|
|
8533 00d0 1F3B subs r3, r3, #31
|
|
|
8534 00d2 2022 movs r2, #32
|
|
|
8535 00d4 E254 strb r2, [r4, r3]
|
|
|
4277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8536 .loc 1 4277 0
|
|
|
8537 00d6 013B subs r3, r3, #1
|
|
|
8538 00d8 0022 movs r2, #0
|
|
|
8539 00da E254 strb r2, [r4, r3]
|
|
|
4280:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8540 .loc 1 4280 0
|
|
|
8541 00dc 2000 movs r0, r4
|
|
|
8542 00de FFF7FEFF bl HAL_I2C_AbortCpltCallback
|
|
|
8543 .LVL783:
|
|
|
8544 00e2 C0E7 b .L570
|
|
|
8545 .L583:
|
|
|
8546 .align 2
|
|
|
8547 .L582:
|
|
|
8548 00e4 0000FFFF .word -65536
|
|
|
8549 00e8 00000000 .word I2C_Slave_ISR_IT
|
|
|
8550 00ec FFBFFFFF .word -16385
|
|
|
8551 00f0 00000000 .word I2C_DMAAbort
|
|
|
8552 00f4 FF7FFFFF .word -32769
|
|
|
8553 .cfi_endproc
|
|
|
8554 .LFE96:
|
|
|
8556 .section .text.I2C_ITSlaveCplt,"ax",%progbits
|
|
|
8557 .align 1
|
|
|
8558 .syntax unified
|
|
|
8559 .code 16
|
|
|
8560 .thumb_func
|
|
|
8561 .fpu softvfp
|
|
|
8563 I2C_ITSlaveCplt:
|
|
|
8564 .LFB94:
|
|
|
4046:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
8565 .loc 1 4046 0
|
|
|
8566 .cfi_startproc
|
|
|
8567 @ args = 0, pretend = 0, frame = 0
|
|
|
8568 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8569 .LVL784:
|
|
|
8570 0000 70B5 push {r4, r5, r6, lr}
|
|
|
8571 .LCFI62:
|
|
|
8572 .cfi_def_cfa_offset 16
|
|
|
8573 .cfi_offset 4, -16
|
|
|
8574 .cfi_offset 5, -12
|
|
|
8575 .cfi_offset 6, -8
|
|
|
8576 .cfi_offset 14, -4
|
|
|
8577 0002 0400 movs r4, r0
|
|
|
8578 0004 0D00 movs r5, r1
|
|
|
4048:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8579 .loc 1 4048 0
|
|
|
8580 0006 0368 ldr r3, [r0]
|
|
|
8581 0008 2022 movs r2, #32
|
|
|
8582 000a DA61 str r2, [r3, #28]
|
|
|
4051:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 257
|
|
|
|
|
|
|
|
|
8583 .loc 1 4051 0
|
|
|
8584 000c 0368 ldr r3, [r0]
|
|
|
8585 000e 183A subs r2, r2, #24
|
|
|
8586 0010 DA61 str r2, [r3, #28]
|
|
|
4054:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8587 .loc 1 4054 0
|
|
|
8588 0012 0721 movs r1, #7
|
|
|
8589 .LVL785:
|
|
|
8590 0014 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
8591 .LVL786:
|
|
|
4057:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8592 .loc 1 4057 0
|
|
|
8593 0018 2268 ldr r2, [r4]
|
|
|
8594 001a 5168 ldr r1, [r2, #4]
|
|
|
8595 001c 8023 movs r3, #128
|
|
|
8596 001e 1B02 lsls r3, r3, #8
|
|
|
8597 0020 0B43 orrs r3, r1
|
|
|
8598 0022 5360 str r3, [r2, #4]
|
|
|
4060:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8599 .loc 1 4060 0
|
|
|
8600 0024 2268 ldr r2, [r4]
|
|
|
8601 0026 5368 ldr r3, [r2, #4]
|
|
|
8602 0028 3E49 ldr r1, .L601
|
|
|
8603 002a 0B40 ands r3, r1
|
|
|
8604 002c 5360 str r3, [r2, #4]
|
|
|
8605 .LVL787:
|
|
|
8606 .LBB300:
|
|
|
8607 .LBB301:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8608 .loc 1 4301 0
|
|
|
8609 002e 2368 ldr r3, [r4]
|
|
|
8610 0030 9A69 ldr r2, [r3, #24]
|
|
|
8611 0032 9207 lsls r2, r2, #30
|
|
|
8612 0034 01D5 bpl .L585
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8613 .loc 1 4303 0
|
|
|
8614 0036 0022 movs r2, #0
|
|
|
8615 0038 9A62 str r2, [r3, #40]
|
|
|
8616 .L585:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8617 .loc 1 4307 0
|
|
|
8618 003a 2368 ldr r3, [r4]
|
|
|
8619 003c 9A69 ldr r2, [r3, #24]
|
|
|
8620 003e D207 lsls r2, r2, #31
|
|
|
8621 0040 03D4 bmi .L586
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8622 .loc 1 4309 0
|
|
|
8623 0042 9A69 ldr r2, [r3, #24]
|
|
|
8624 0044 0121 movs r1, #1
|
|
|
8625 0046 0A43 orrs r2, r1
|
|
|
8626 0048 9A61 str r2, [r3, #24]
|
|
|
8627 .L586:
|
|
|
8628 .LVL788:
|
|
|
8629 .LBE301:
|
|
|
8630 .LBE300:
|
|
|
4066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN))
|
|
|
8631 .loc 1 4066 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 258
|
|
|
|
|
|
|
|
|
8632 004a 2268 ldr r2, [r4]
|
|
|
8633 004c 1368 ldr r3, [r2]
|
|
|
8634 004e 5B04 lsls r3, r3, #17
|
|
|
8635 0050 02D4 bmi .L587
|
|
|
4067:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8636 .loc 1 4067 0 discriminator 1
|
|
|
8637 0052 1368 ldr r3, [r2]
|
|
|
4066:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN))
|
|
|
8638 .loc 1 4066 0 discriminator 1
|
|
|
8639 0054 1B04 lsls r3, r3, #16
|
|
|
8640 0056 08D5 bpl .L588
|
|
|
8641 .L587:
|
|
|
4069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8642 .loc 1 4069 0
|
|
|
8643 0058 4123 movs r3, #65
|
|
|
8644 005a E35C ldrb r3, [r4, r3]
|
|
|
8645 005c 212B cmp r3, #33
|
|
|
8646 005e 3AD0 beq .L597
|
|
|
4069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8647 .loc 1 4069 0 is_stmt 0 discriminator 2
|
|
|
8648 0060 E36B ldr r3, [r4, #60]
|
|
|
8649 0062 1B68 ldr r3, [r3]
|
|
|
8650 0064 5B68 ldr r3, [r3, #4]
|
|
|
8651 0066 9BB2 uxth r3, r3
|
|
|
8652 .L590:
|
|
|
4069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8653 .loc 1 4069 0 discriminator 4
|
|
|
8654 0068 6385 strh r3, [r4, #42]
|
|
|
8655 .L588:
|
|
|
4073:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8656 .loc 1 4073 0 is_stmt 1
|
|
|
8657 006a 638D ldrh r3, [r4, #42]
|
|
|
8658 006c 9BB2 uxth r3, r3
|
|
|
8659 006e 002B cmp r3, #0
|
|
|
8660 0070 03D0 beq .L591
|
|
|
4076:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8661 .loc 1 4076 0
|
|
|
8662 0072 636C ldr r3, [r4, #68]
|
|
|
8663 0074 0421 movs r1, #4
|
|
|
8664 0076 0B43 orrs r3, r1
|
|
|
8665 0078 6364 str r3, [r4, #68]
|
|
|
8666 .L591:
|
|
|
4080:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8667 .loc 1 4080 0
|
|
|
8668 007a 6B07 lsls r3, r5, #29
|
|
|
8669 007c 11D5 bpl .L592
|
|
|
4083:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8670 .loc 1 4083 0
|
|
|
8671 007e 526A ldr r2, [r2, #36]
|
|
|
8672 0080 636A ldr r3, [r4, #36]
|
|
|
8673 0082 591C adds r1, r3, #1
|
|
|
8674 0084 6162 str r1, [r4, #36]
|
|
|
8675 0086 1A70 strb r2, [r3]
|
|
|
4085:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8676 .loc 1 4085 0
|
|
|
8677 0088 238D ldrh r3, [r4, #40]
|
|
|
8678 008a 002B cmp r3, #0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 259
|
|
|
|
|
|
|
|
|
8679 008c 09D0 beq .L592
|
|
|
4087:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
8680 .loc 1 4087 0
|
|
|
8681 008e 013B subs r3, r3, #1
|
|
|
8682 0090 2385 strh r3, [r4, #40]
|
|
|
4088:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8683 .loc 1 4088 0
|
|
|
8684 0092 638D ldrh r3, [r4, #42]
|
|
|
8685 0094 013B subs r3, r3, #1
|
|
|
8686 0096 9BB2 uxth r3, r3
|
|
|
8687 0098 6385 strh r3, [r4, #42]
|
|
|
4091:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8688 .loc 1 4091 0
|
|
|
8689 009a 636C ldr r3, [r4, #68]
|
|
|
8690 009c 0422 movs r2, #4
|
|
|
8691 009e 1343 orrs r3, r2
|
|
|
8692 00a0 6364 str r3, [r4, #68]
|
|
|
8693 .L592:
|
|
|
4095:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
|
|
|
8694 .loc 1 4095 0
|
|
|
8695 00a2 0023 movs r3, #0
|
|
|
8696 00a4 2363 str r3, [r4, #48]
|
|
|
4096:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
8697 .loc 1 4096 0
|
|
|
8698 00a6 4222 movs r2, #66
|
|
|
8699 00a8 A354 strb r3, [r4, r2]
|
|
|
4097:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8700 .loc 1 4097 0
|
|
|
8701 00aa 6363 str r3, [r4, #52]
|
|
|
4099:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8702 .loc 1 4099 0
|
|
|
8703 00ac 636C ldr r3, [r4, #68]
|
|
|
8704 00ae 002B cmp r3, #0
|
|
|
8705 00b0 16D1 bne .L598
|
|
|
4111:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8706 .loc 1 4111 0
|
|
|
8707 00b2 E26A ldr r2, [r4, #44]
|
|
|
8708 00b4 1C4B ldr r3, .L601+4
|
|
|
8709 00b6 9A42 cmp r2, r3
|
|
|
8710 00b8 1FD1 bne .L599
|
|
|
4123:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8711 .loc 1 4123 0
|
|
|
8712 00ba 4123 movs r3, #65
|
|
|
8713 00bc E35C ldrb r3, [r4, r3]
|
|
|
8714 00be 222B cmp r3, #34
|
|
|
8715 00c0 26D0 beq .L600
|
|
|
4135:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8716 .loc 1 4135 0
|
|
|
8717 00c2 4123 movs r3, #65
|
|
|
8718 00c4 2022 movs r2, #32
|
|
|
8719 00c6 E254 strb r2, [r4, r3]
|
|
|
4138:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8720 .loc 1 4138 0
|
|
|
8721 00c8 013B subs r3, r3, #1
|
|
|
8722 00ca 0022 movs r2, #0
|
|
|
8723 00cc E254 strb r2, [r4, r3]
|
|
|
4141:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 260
|
|
|
|
|
|
|
|
|
8724 .loc 1 4141 0
|
|
|
8725 00ce 2000 movs r0, r4
|
|
|
8726 00d0 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
|
|
|
8727 .LVL789:
|
|
|
4143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8728 .loc 1 4143 0
|
|
|
8729 00d4 1BE0 b .L584
|
|
|
8730 .L597:
|
|
|
4069:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8731 .loc 1 4069 0 discriminator 1
|
|
|
8732 00d6 A36B ldr r3, [r4, #56]
|
|
|
8733 00d8 1B68 ldr r3, [r3]
|
|
|
8734 00da 5B68 ldr r3, [r3, #4]
|
|
|
8735 00dc 9BB2 uxth r3, r3
|
|
|
8736 00de C3E7 b .L590
|
|
|
8737 .L598:
|
|
|
4102:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8738 .loc 1 4102 0
|
|
|
8739 00e0 616C ldr r1, [r4, #68]
|
|
|
8740 00e2 2000 movs r0, r4
|
|
|
8741 00e4 FFF7FEFF bl I2C_ITError
|
|
|
8742 .LVL790:
|
|
|
4105:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8743 .loc 1 4105 0
|
|
|
8744 00e8 4123 movs r3, #65
|
|
|
8745 00ea E35C ldrb r3, [r4, r3]
|
|
|
8746 00ec 282B cmp r3, #40
|
|
|
8747 00ee 0ED1 bne .L584
|
|
|
4108:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8748 .loc 1 4108 0
|
|
|
8749 00f0 2900 movs r1, r5
|
|
|
8750 00f2 2000 movs r0, r4
|
|
|
8751 00f4 FFF7FEFF bl I2C_ITListenCplt
|
|
|
8752 .LVL791:
|
|
|
8753 00f8 09E0 b .L584
|
|
|
8754 .L599:
|
|
|
4113:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
|
|
|
8755 .loc 1 4113 0
|
|
|
8756 00fa E362 str r3, [r4, #44]
|
|
|
4114:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8757 .loc 1 4114 0
|
|
|
8758 00fc 4123 movs r3, #65
|
|
|
8759 00fe 2022 movs r2, #32
|
|
|
8760 0100 E254 strb r2, [r4, r3]
|
|
|
4117:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8761 .loc 1 4117 0
|
|
|
8762 0102 013B subs r3, r3, #1
|
|
|
8763 0104 0022 movs r2, #0
|
|
|
8764 0106 E254 strb r2, [r4, r3]
|
|
|
4120:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8765 .loc 1 4120 0
|
|
|
8766 0108 2000 movs r0, r4
|
|
|
8767 010a FFF7FEFF bl HAL_I2C_ListenCpltCallback
|
|
|
8768 .LVL792:
|
|
|
8769 .L584:
|
|
|
4143:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8770 .loc 1 4143 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 261
|
|
|
|
|
|
|
|
|
8771 @ sp needed
|
|
|
8772 .LVL793:
|
|
|
8773 .LVL794:
|
|
|
8774 010e 70BD pop {r4, r5, r6, pc}
|
|
|
8775 .LVL795:
|
|
|
8776 .L600:
|
|
|
4125:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8777 .loc 1 4125 0
|
|
|
8778 0110 1F33 adds r3, r3, #31
|
|
|
8779 0112 2022 movs r2, #32
|
|
|
8780 0114 E254 strb r2, [r4, r3]
|
|
|
4128:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8781 .loc 1 4128 0
|
|
|
8782 0116 013B subs r3, r3, #1
|
|
|
8783 0118 0022 movs r2, #0
|
|
|
8784 011a E254 strb r2, [r4, r3]
|
|
|
4131:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8785 .loc 1 4131 0
|
|
|
8786 011c 2000 movs r0, r4
|
|
|
8787 011e FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
|
|
|
8788 .LVL796:
|
|
|
8789 0122 F4E7 b .L584
|
|
|
8790 .L602:
|
|
|
8791 .align 2
|
|
|
8792 .L601:
|
|
|
8793 0124 00E800FE .word -33495040
|
|
|
8794 0128 0000FFFF .word -65536
|
|
|
8795 .cfi_endproc
|
|
|
8796 .LFE94:
|
|
|
8798 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
|
|
|
8799 .align 1
|
|
|
8800 .syntax unified
|
|
|
8801 .code 16
|
|
|
8802 .thumb_func
|
|
|
8803 .fpu softvfp
|
|
|
8805 I2C_Slave_ISR_IT:
|
|
|
8806 .LFB85:
|
|
|
3394:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process locked */
|
|
|
8807 .loc 1 3394 0
|
|
|
8808 .cfi_startproc
|
|
|
8809 @ args = 0, pretend = 0, frame = 0
|
|
|
8810 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
8811 .LVL797:
|
|
|
8812 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
|
|
|
8813 .LCFI63:
|
|
|
8814 .cfi_def_cfa_offset 24
|
|
|
8815 .cfi_offset 3, -24
|
|
|
8816 .cfi_offset 4, -20
|
|
|
8817 .cfi_offset 5, -16
|
|
|
8818 .cfi_offset 6, -12
|
|
|
8819 .cfi_offset 7, -8
|
|
|
8820 .cfi_offset 14, -4
|
|
|
8821 0002 CE46 mov lr, r9
|
|
|
8822 0004 4746 mov r7, r8
|
|
|
8823 0006 80B5 push {r7, lr}
|
|
|
8824 .LCFI64:
|
|
|
8825 .cfi_def_cfa_offset 32
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 262
|
|
|
|
|
|
|
|
|
8826 .cfi_offset 8, -32
|
|
|
8827 .cfi_offset 9, -28
|
|
|
8828 0008 0400 movs r4, r0
|
|
|
8829 000a 0D00 movs r5, r1
|
|
|
8830 000c 1600 movs r6, r2
|
|
|
3396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8831 .loc 1 3396 0
|
|
|
8832 000e 4023 movs r3, #64
|
|
|
8833 0010 C35C ldrb r3, [r0, r3]
|
|
|
8834 0012 012B cmp r3, #1
|
|
|
8835 0014 00D1 bne .LCB9391
|
|
|
8836 0016 EEE0 b .L622 @long jump
|
|
|
8837 .LCB9391:
|
|
|
3396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8838 .loc 1 3396 0 is_stmt 0 discriminator 2
|
|
|
8839 0018 4023 movs r3, #64
|
|
|
8840 001a 0122 movs r2, #1
|
|
|
8841 .LVL798:
|
|
|
8842 001c C254 strb r2, [r0, r3]
|
|
|
3398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8843 .loc 1 3398 0 is_stmt 1 discriminator 2
|
|
|
8844 001e CB06 lsls r3, r1, #27
|
|
|
8845 0020 4BD5 bpl .L605
|
|
|
3398:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8846 .loc 1 3398 0 is_stmt 0 discriminator 1
|
|
|
8847 0022 F306 lsls r3, r6, #27
|
|
|
8848 0024 49D5 bpl .L605
|
|
|
3404:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8849 .loc 1 3404 0 is_stmt 1
|
|
|
8850 0026 438D ldrh r3, [r0, #42]
|
|
|
8851 0028 9BB2 uxth r3, r3
|
|
|
8852 002a 002B cmp r3, #0
|
|
|
8853 002c 31D1 bne .L606
|
|
|
3406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_LISTEN))
|
|
|
8854 .loc 1 3406 0
|
|
|
8855 002e C26A ldr r2, [r0, #44]
|
|
|
8856 0030 8023 movs r3, #128
|
|
|
8857 0032 9B04 lsls r3, r3, #18
|
|
|
8858 0034 9A42 cmp r2, r3
|
|
|
8859 0036 02D0 beq .L607
|
|
|
3406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_LISTEN))
|
|
|
8860 .loc 1 3406 0 is_stmt 0 discriminator 2
|
|
|
8861 0038 C26A ldr r2, [r0, #44]
|
|
|
8862 003a 9A42 cmp r2, r3
|
|
|
8863 003c 03D1 bne .L608
|
|
|
8864 .L607:
|
|
|
3407:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8865 .loc 1 3407 0 is_stmt 1 discriminator 3
|
|
|
8866 003e 4123 movs r3, #65
|
|
|
8867 0040 E35C ldrb r3, [r4, r3]
|
|
|
3406:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->State == HAL_I2C_STATE_LISTEN))
|
|
|
8868 .loc 1 3406 0 discriminator 3
|
|
|
8869 0042 282B cmp r3, #40
|
|
|
8870 0044 0BD0 beq .L623
|
|
|
8871 .L608:
|
|
|
3412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8872 .loc 1 3412 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 263
|
|
|
|
|
|
|
|
|
8873 0046 E26A ldr r2, [r4, #44]
|
|
|
8874 0048 6C4B ldr r3, .L628
|
|
|
8875 004a 9A42 cmp r2, r3
|
|
|
8876 004c 03D0 beq .L610
|
|
|
3412:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8877 .loc 1 3412 0 is_stmt 0 discriminator 1
|
|
|
8878 004e 4123 movs r3, #65
|
|
|
8879 0050 E35C ldrb r3, [r4, r3]
|
|
|
8880 0052 292B cmp r3, #41
|
|
|
8881 0054 08D0 beq .L624
|
|
|
8882 .L610:
|
|
|
3427:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8883 .loc 1 3427 0 is_stmt 1
|
|
|
8884 0056 2368 ldr r3, [r4]
|
|
|
8885 0058 1022 movs r2, #16
|
|
|
8886 005a DA61 str r2, [r3, #28]
|
|
|
8887 005c 20E0 b .L609
|
|
|
8888 .L623:
|
|
|
3410:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8889 .loc 1 3410 0
|
|
|
8890 005e 2900 movs r1, r5
|
|
|
8891 .LVL799:
|
|
|
8892 0060 2000 movs r0, r4
|
|
|
8893 .LVL800:
|
|
|
8894 0062 FFF7FEFF bl I2C_ITListenCplt
|
|
|
8895 .LVL801:
|
|
|
8896 0066 1BE0 b .L609
|
|
|
8897 .LVL802:
|
|
|
8898 .L624:
|
|
|
3415:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8899 .loc 1 3415 0
|
|
|
8900 0068 2368 ldr r3, [r4]
|
|
|
8901 006a 1022 movs r2, #16
|
|
|
8902 006c DA61 str r2, [r3, #28]
|
|
|
8903 .LVL803:
|
|
|
8904 .LBB306:
|
|
|
8905 .LBB307:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8906 .loc 1 4301 0
|
|
|
8907 006e 2368 ldr r3, [r4]
|
|
|
8908 0070 9A69 ldr r2, [r3, #24]
|
|
|
8909 0072 9207 lsls r2, r2, #30
|
|
|
8910 0074 01D5 bpl .L611
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8911 .loc 1 4303 0
|
|
|
8912 0076 0022 movs r2, #0
|
|
|
8913 0078 9A62 str r2, [r3, #40]
|
|
|
8914 .L611:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8915 .loc 1 4307 0
|
|
|
8916 007a 2368 ldr r3, [r4]
|
|
|
8917 007c 9A69 ldr r2, [r3, #24]
|
|
|
8918 007e D207 lsls r2, r2, #31
|
|
|
8919 0080 03D4 bmi .L612
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8920 .loc 1 4309 0
|
|
|
8921 0082 9A69 ldr r2, [r3, #24]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 264
|
|
|
|
|
|
|
|
|
8922 0084 0121 movs r1, #1
|
|
|
8923 .LVL804:
|
|
|
8924 0086 0A43 orrs r2, r1
|
|
|
8925 0088 9A61 str r2, [r3, #24]
|
|
|
8926 .L612:
|
|
|
8927 .LVL805:
|
|
|
8928 .LBE307:
|
|
|
8929 .LBE306:
|
|
|
3422:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8930 .loc 1 3422 0
|
|
|
8931 008a 2000 movs r0, r4
|
|
|
8932 .LVL806:
|
|
|
8933 008c FFF7FEFF bl I2C_ITSlaveSequentialCplt
|
|
|
8934 .LVL807:
|
|
|
8935 0090 06E0 b .L609
|
|
|
8936 .LVL808:
|
|
|
8937 .L606:
|
|
|
3434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8938 .loc 1 3434 0
|
|
|
8939 0092 0368 ldr r3, [r0]
|
|
|
8940 0094 1022 movs r2, #16
|
|
|
8941 0096 DA61 str r2, [r3, #28]
|
|
|
3437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8942 .loc 1 3437 0
|
|
|
8943 0098 436C ldr r3, [r0, #68]
|
|
|
8944 009a 0C3A subs r2, r2, #12
|
|
|
8945 009c 1343 orrs r3, r2
|
|
|
8946 009e 4364 str r3, [r0, #68]
|
|
|
8947 .LVL809:
|
|
|
8948 .L609:
|
|
|
3486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8949 .loc 1 3486 0
|
|
|
8950 00a0 AB06 lsls r3, r5, #26
|
|
|
8951 00a2 02D5 bpl .L621
|
|
|
3486:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8952 .loc 1 3486 0 is_stmt 0 discriminator 1
|
|
|
8953 00a4 B306 lsls r3, r6, #26
|
|
|
8954 00a6 00D5 bpl .LCB9514
|
|
|
8955 00a8 A0E0 b .L625 @long jump
|
|
|
8956 .LCB9514:
|
|
|
8957 .L621:
|
|
|
3493:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8958 .loc 1 3493 0 is_stmt 1
|
|
|
8959 00aa 4023 movs r3, #64
|
|
|
8960 00ac 0022 movs r2, #0
|
|
|
8961 00ae E254 strb r2, [r4, r3]
|
|
|
3495:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8962 .loc 1 3495 0
|
|
|
8963 00b0 0020 movs r0, #0
|
|
|
8964 .L604:
|
|
|
3496:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
8965 .loc 1 3496 0
|
|
|
8966 @ sp needed
|
|
|
8967 .LVL810:
|
|
|
8968 .LVL811:
|
|
|
8969 .LVL812:
|
|
|
8970 00b2 0CBC pop {r2, r3}
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 265
|
|
|
|
|
|
|
|
|
8971 00b4 9046 mov r8, r2
|
|
|
8972 00b6 9946 mov r9, r3
|
|
|
8973 00b8 F8BD pop {r3, r4, r5, r6, r7, pc}
|
|
|
8974 .LVL813:
|
|
|
8975 .L605:
|
|
|
3440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8976 .loc 1 3440 0
|
|
|
8977 00ba 6B07 lsls r3, r5, #29
|
|
|
8978 00bc 1ED5 bpl .L613
|
|
|
3440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8979 .loc 1 3440 0 is_stmt 0 discriminator 1
|
|
|
8980 00be 7307 lsls r3, r6, #29
|
|
|
8981 00c0 1CD5 bpl .L613
|
|
|
3442:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
8982 .loc 1 3442 0 is_stmt 1
|
|
|
8983 00c2 638D ldrh r3, [r4, #42]
|
|
|
8984 00c4 9BB2 uxth r3, r3
|
|
|
8985 00c6 002B cmp r3, #0
|
|
|
8986 00c8 0CD0 beq .L614
|
|
|
3445:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
8987 .loc 1 3445 0
|
|
|
8988 00ca 2368 ldr r3, [r4]
|
|
|
8989 00cc 5A6A ldr r2, [r3, #36]
|
|
|
8990 00ce 636A ldr r3, [r4, #36]
|
|
|
8991 00d0 591C adds r1, r3, #1
|
|
|
8992 .LVL814:
|
|
|
8993 00d2 6162 str r1, [r4, #36]
|
|
|
8994 00d4 1A70 strb r2, [r3]
|
|
|
3446:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
8995 .loc 1 3446 0
|
|
|
8996 00d6 238D ldrh r3, [r4, #40]
|
|
|
8997 00d8 013B subs r3, r3, #1
|
|
|
8998 00da 2385 strh r3, [r4, #40]
|
|
|
3447:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
8999 .loc 1 3447 0
|
|
|
9000 00dc 638D ldrh r3, [r4, #42]
|
|
|
9001 00de 013B subs r3, r3, #1
|
|
|
9002 00e0 9BB2 uxth r3, r3
|
|
|
9003 00e2 6385 strh r3, [r4, #42]
|
|
|
9004 .L614:
|
|
|
3450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferOptions != I2C_NO_OPTION_FRAME))
|
|
|
9005 .loc 1 3450 0
|
|
|
9006 00e4 638D ldrh r3, [r4, #42]
|
|
|
9007 00e6 9BB2 uxth r3, r3
|
|
|
9008 00e8 002B cmp r3, #0
|
|
|
9009 00ea D9D1 bne .L609
|
|
|
3451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9010 .loc 1 3451 0 discriminator 1
|
|
|
9011 00ec E26A ldr r2, [r4, #44]
|
|
|
3450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferOptions != I2C_NO_OPTION_FRAME))
|
|
|
9012 .loc 1 3450 0 discriminator 1
|
|
|
9013 00ee 434B ldr r3, .L628
|
|
|
9014 00f0 9A42 cmp r2, r3
|
|
|
9015 00f2 D5D0 beq .L609
|
|
|
3454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9016 .loc 1 3454 0
|
|
|
9017 00f4 2000 movs r0, r4
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 266
|
|
|
|
|
|
|
|
|
9018 .LVL815:
|
|
|
9019 00f6 FFF7FEFF bl I2C_ITSlaveSequentialCplt
|
|
|
9020 .LVL816:
|
|
|
9021 00fa D1E7 b .L609
|
|
|
9022 .LVL817:
|
|
|
9023 .L613:
|
|
|
3457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9024 .loc 1 3457 0
|
|
|
9025 00fc 2B07 lsls r3, r5, #28
|
|
|
9026 00fe 01D5 bpl .L615
|
|
|
3457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9027 .loc 1 3457 0 is_stmt 0 discriminator 1
|
|
|
9028 0100 3307 lsls r3, r6, #28
|
|
|
9029 0102 15D4 bmi .L626
|
|
|
9030 .L615:
|
|
|
3461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9031 .loc 1 3461 0 is_stmt 1
|
|
|
9032 0104 AB07 lsls r3, r5, #30
|
|
|
9033 0106 CBD5 bpl .L609
|
|
|
3461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9034 .loc 1 3461 0 is_stmt 0 discriminator 1
|
|
|
9035 0108 B307 lsls r3, r6, #30
|
|
|
9036 010a C9D5 bpl .L609
|
|
|
3467:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9037 .loc 1 3467 0 is_stmt 1
|
|
|
9038 010c 638D ldrh r3, [r4, #42]
|
|
|
9039 010e 9BB2 uxth r3, r3
|
|
|
9040 0110 002B cmp r3, #0
|
|
|
9041 0112 5ED0 beq .L619
|
|
|
3470:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
9042 .loc 1 3470 0
|
|
|
9043 0114 636A ldr r3, [r4, #36]
|
|
|
9044 0116 5A1C adds r2, r3, #1
|
|
|
9045 0118 6262 str r2, [r4, #36]
|
|
|
9046 011a 2268 ldr r2, [r4]
|
|
|
9047 011c 1B78 ldrb r3, [r3]
|
|
|
9048 011e 9362 str r3, [r2, #40]
|
|
|
3471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
9049 .loc 1 3471 0
|
|
|
9050 0120 638D ldrh r3, [r4, #42]
|
|
|
9051 0122 013B subs r3, r3, #1
|
|
|
9052 0124 9BB2 uxth r3, r3
|
|
|
9053 0126 6385 strh r3, [r4, #42]
|
|
|
3472:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9054 .loc 1 3472 0
|
|
|
9055 0128 238D ldrh r3, [r4, #40]
|
|
|
9056 012a 013B subs r3, r3, #1
|
|
|
9057 012c 2385 strh r3, [r4, #40]
|
|
|
9058 012e B7E7 b .L609
|
|
|
9059 .L626:
|
|
|
9060 .LVL818:
|
|
|
9061 .LBB308:
|
|
|
9062 .LBB309:
|
|
|
3792:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9063 .loc 1 3792 0
|
|
|
9064 0130 4123 movs r3, #65
|
|
|
9065 0132 E35C ldrb r3, [r4, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 267
|
|
|
|
|
|
|
|
|
9066 0134 2822 movs r2, #40
|
|
|
9067 0136 1340 ands r3, r2
|
|
|
9068 0138 282B cmp r3, #40
|
|
|
9069 013a 06D0 beq .L627
|
|
|
3852:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9070 .loc 1 3852 0
|
|
|
9071 013c 2368 ldr r3, [r4]
|
|
|
9072 013e 0822 movs r2, #8
|
|
|
9073 0140 DA61 str r2, [r3, #28]
|
|
|
3855:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9074 .loc 1 3855 0
|
|
|
9075 0142 4023 movs r3, #64
|
|
|
9076 0144 0022 movs r2, #0
|
|
|
9077 0146 E254 strb r2, [r4, r3]
|
|
|
9078 0148 AAE7 b .L609
|
|
|
9079 .L627:
|
|
|
3794:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
|
|
|
9080 .loc 1 3794 0
|
|
|
9081 014a 2368 ldr r3, [r4]
|
|
|
9082 014c 9A69 ldr r2, [r3, #24]
|
|
|
9083 014e 120C lsrs r2, r2, #16
|
|
|
9084 0150 0121 movs r1, #1
|
|
|
9085 .LVL819:
|
|
|
9086 0152 0A40 ands r2, r1
|
|
|
9087 0154 9046 mov r8, r2
|
|
|
9088 .LVL820:
|
|
|
3795:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
|
|
|
9089 .loc 1 3795 0
|
|
|
9090 0156 9F69 ldr r7, [r3, #24]
|
|
|
9091 0158 3F0C lsrs r7, r7, #16
|
|
|
9092 015a FD31 adds r1, r1, #253
|
|
|
9093 015c 0F40 ands r7, r1
|
|
|
9094 .LVL821:
|
|
|
3796:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
|
|
|
9095 .loc 1 3796 0
|
|
|
9096 015e 9A68 ldr r2, [r3, #8]
|
|
|
9097 0160 9205 lsls r2, r2, #22
|
|
|
9098 0162 920D lsrs r2, r2, #22
|
|
|
9099 .LVL822:
|
|
|
3797:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9100 .loc 1 3797 0
|
|
|
9101 0164 D868 ldr r0, [r3, #12]
|
|
|
9102 .LVL823:
|
|
|
9103 0166 0840 ands r0, r1
|
|
|
9104 0168 8146 mov r9, r0
|
|
|
9105 .LVL824:
|
|
|
3800:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9106 .loc 1 3800 0
|
|
|
9107 016a E168 ldr r1, [r4, #12]
|
|
|
9108 016c 0229 cmp r1, #2
|
|
|
9109 016e 23D1 bne .L617
|
|
|
3802:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9110 .loc 1 3802 0
|
|
|
9111 0170 D109 lsrs r1, r2, #7
|
|
|
9112 0172 4F40 eors r7, r1
|
|
|
9113 .LVL825:
|
|
|
9114 0174 0621 movs r1, #6
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 268
|
|
|
|
|
|
|
|
|
9115 0176 3942 tst r1, r7
|
|
|
9116 0178 11D1 bne .L618
|
|
|
9117 .LVL826:
|
|
|
3805:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
|
|
|
9118 .loc 1 3805 0
|
|
|
9119 017a A16C ldr r1, [r4, #72]
|
|
|
9120 017c 0131 adds r1, r1, #1
|
|
|
9121 017e A164 str r1, [r4, #72]
|
|
|
3806:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9122 .loc 1 3806 0
|
|
|
9123 0180 A16C ldr r1, [r4, #72]
|
|
|
9124 0182 0229 cmp r1, #2
|
|
|
9125 0184 00D0 beq .LCB9707
|
|
|
9126 0186 8BE7 b .L609 @long jump
|
|
|
9127 .LCB9707:
|
|
|
3809:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9128 .loc 1 3809 0
|
|
|
9129 0188 0021 movs r1, #0
|
|
|
9130 018a A164 str r1, [r4, #72]
|
|
|
3812:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9131 .loc 1 3812 0
|
|
|
9132 018c 0820 movs r0, #8
|
|
|
9133 018e D861 str r0, [r3, #28]
|
|
|
3815:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9134 .loc 1 3815 0
|
|
|
9135 0190 4023 movs r3, #64
|
|
|
9136 0192 E154 strb r1, [r4, r3]
|
|
|
3818:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9137 .loc 1 3818 0
|
|
|
9138 0194 4146 mov r1, r8
|
|
|
9139 0196 2000 movs r0, r4
|
|
|
9140 0198 FFF7FEFF bl HAL_I2C_AddrCallback
|
|
|
9141 .LVL827:
|
|
|
9142 019c 80E7 b .L609
|
|
|
9143 .LVL828:
|
|
|
9144 .L618:
|
|
|
3826:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9145 .loc 1 3826 0
|
|
|
9146 019e 0421 movs r1, #4
|
|
|
9147 01a0 2000 movs r0, r4
|
|
|
9148 01a2 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
9149 .LVL829:
|
|
|
3829:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9150 .loc 1 3829 0
|
|
|
9151 01a6 4023 movs r3, #64
|
|
|
9152 01a8 0022 movs r2, #0
|
|
|
9153 01aa E254 strb r2, [r4, r3]
|
|
|
3832:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9154 .loc 1 3832 0
|
|
|
9155 01ac 4A46 mov r2, r9
|
|
|
9156 01ae 4146 mov r1, r8
|
|
|
9157 01b0 2000 movs r0, r4
|
|
|
9158 01b2 FFF7FEFF bl HAL_I2C_AddrCallback
|
|
|
9159 .LVL830:
|
|
|
9160 01b6 73E7 b .L609
|
|
|
9161 .LVL831:
|
|
|
9162 .L617:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 269
|
|
|
|
|
|
|
|
|
3839:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9163 .loc 1 3839 0
|
|
|
9164 01b8 0421 movs r1, #4
|
|
|
9165 01ba 2000 movs r0, r4
|
|
|
9166 01bc FFF7FEFF bl I2C_Disable_IRQ
|
|
|
9167 .LVL832:
|
|
|
3842:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9168 .loc 1 3842 0
|
|
|
9169 01c0 4023 movs r3, #64
|
|
|
9170 01c2 0022 movs r2, #0
|
|
|
9171 01c4 E254 strb r2, [r4, r3]
|
|
|
3845:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9172 .loc 1 3845 0
|
|
|
9173 01c6 3A00 movs r2, r7
|
|
|
9174 01c8 4146 mov r1, r8
|
|
|
9175 01ca 2000 movs r0, r4
|
|
|
9176 01cc FFF7FEFF bl HAL_I2C_AddrCallback
|
|
|
9177 .LVL833:
|
|
|
9178 01d0 66E7 b .L609
|
|
|
9179 .LVL834:
|
|
|
9180 .L619:
|
|
|
9181 .LBE309:
|
|
|
9182 .LBE308:
|
|
|
3476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9183 .loc 1 3476 0
|
|
|
9184 01d2 E26A ldr r2, [r4, #44]
|
|
|
9185 01d4 8023 movs r3, #128
|
|
|
9186 01d6 5B04 lsls r3, r3, #17
|
|
|
9187 01d8 9A42 cmp r2, r3
|
|
|
9188 01da 03D0 beq .L620
|
|
|
3476:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9189 .loc 1 3476 0 is_stmt 0 discriminator 1
|
|
|
9190 01dc E36A ldr r3, [r4, #44]
|
|
|
9191 01de 002B cmp r3, #0
|
|
|
9192 01e0 00D0 beq .LCB9783
|
|
|
9193 01e2 5DE7 b .L609 @long jump
|
|
|
9194 .LCB9783:
|
|
|
9195 .L620:
|
|
|
3480:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9196 .loc 1 3480 0 is_stmt 1
|
|
|
9197 01e4 2000 movs r0, r4
|
|
|
9198 .LVL835:
|
|
|
9199 01e6 FFF7FEFF bl I2C_ITSlaveSequentialCplt
|
|
|
9200 .LVL836:
|
|
|
9201 01ea 59E7 b .L609
|
|
|
9202 .L625:
|
|
|
3489:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9203 .loc 1 3489 0
|
|
|
9204 01ec 2900 movs r1, r5
|
|
|
9205 01ee 2000 movs r0, r4
|
|
|
9206 01f0 FFF7FEFF bl I2C_ITSlaveCplt
|
|
|
9207 .LVL837:
|
|
|
9208 01f4 59E7 b .L621
|
|
|
9209 .LVL838:
|
|
|
9210 .L622:
|
|
|
3396:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9211 .loc 1 3396 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 270
|
|
|
|
|
|
|
|
|
9212 01f6 0220 movs r0, #2
|
|
|
9213 .LVL839:
|
|
|
9214 01f8 5BE7 b .L604
|
|
|
9215 .L629:
|
|
|
9216 01fa C046 .align 2
|
|
|
9217 .L628:
|
|
|
9218 01fc 0000FFFF .word -65536
|
|
|
9219 .cfi_endproc
|
|
|
9220 .LFE85:
|
|
|
9222 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
|
|
|
9223 .align 1
|
|
|
9224 .syntax unified
|
|
|
9225 .code 16
|
|
|
9226 .thumb_func
|
|
|
9227 .fpu softvfp
|
|
|
9229 I2C_Slave_ISR_DMA:
|
|
|
9230 .LFB87:
|
|
|
3596:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Process locked */
|
|
|
9231 .loc 1 3596 0
|
|
|
9232 .cfi_startproc
|
|
|
9233 @ args = 0, pretend = 0, frame = 0
|
|
|
9234 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
9235 .LVL840:
|
|
|
9236 0000 10B5 push {r4, lr}
|
|
|
9237 .LCFI65:
|
|
|
9238 .cfi_def_cfa_offset 8
|
|
|
9239 .cfi_offset 4, -8
|
|
|
9240 .cfi_offset 14, -4
|
|
|
9241 0002 0400 movs r4, r0
|
|
|
3598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9242 .loc 1 3598 0
|
|
|
9243 0004 4023 movs r3, #64
|
|
|
9244 0006 C35C ldrb r3, [r0, r3]
|
|
|
9245 0008 012B cmp r3, #1
|
|
|
9246 000a 3AD0 beq .L638
|
|
|
3598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9247 .loc 1 3598 0 is_stmt 0 discriminator 2
|
|
|
9248 000c 4023 movs r3, #64
|
|
|
9249 000e 0120 movs r0, #1
|
|
|
9250 .LVL841:
|
|
|
9251 0010 E054 strb r0, [r4, r3]
|
|
|
3600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9252 .loc 1 3600 0 is_stmt 1 discriminator 2
|
|
|
9253 0012 CB06 lsls r3, r1, #27
|
|
|
9254 0014 20D5 bpl .L632
|
|
|
3600:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9255 .loc 1 3600 0 is_stmt 0 discriminator 1
|
|
|
9256 0016 D306 lsls r3, r2, #27
|
|
|
9257 0018 1ED5 bpl .L632
|
|
|
3606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9258 .loc 1 3606 0 is_stmt 1
|
|
|
9259 001a 4123 movs r3, #65
|
|
|
9260 001c E35C ldrb r3, [r4, r3]
|
|
|
9261 001e 212B cmp r3, #33
|
|
|
9262 0020 0BD0 beq .L639
|
|
|
3606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9263 .loc 1 3606 0 is_stmt 0 discriminator 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 271
|
|
|
|
|
|
|
|
|
9264 0022 E36B ldr r3, [r4, #60]
|
|
|
9265 0024 1B68 ldr r3, [r3]
|
|
|
9266 0026 5B68 ldr r3, [r3, #4]
|
|
|
9267 0028 5A42 rsbs r2, r3, #0
|
|
|
9268 002a 5341 adcs r3, r3, r2
|
|
|
9269 .LVL842:
|
|
|
9270 002c DBB2 uxtb r3, r3
|
|
|
9271 .L634:
|
|
|
3606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9272 .loc 1 3606 0 discriminator 4
|
|
|
9273 002e 002B cmp r3, #0
|
|
|
9274 0030 0AD0 beq .L635
|
|
|
3609:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9275 .loc 1 3609 0 is_stmt 1
|
|
|
9276 0032 2368 ldr r3, [r4]
|
|
|
9277 0034 1022 movs r2, #16
|
|
|
9278 0036 DA61 str r2, [r3, #28]
|
|
|
9279 0038 1AE0 b .L636
|
|
|
9280 .LVL843:
|
|
|
9281 .L639:
|
|
|
3606:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9282 .loc 1 3606 0 discriminator 1
|
|
|
9283 003a A36B ldr r3, [r4, #56]
|
|
|
9284 003c 1B68 ldr r3, [r3]
|
|
|
9285 003e 5B68 ldr r3, [r3, #4]
|
|
|
9286 0040 5A42 rsbs r2, r3, #0
|
|
|
9287 0042 5341 adcs r3, r3, r2
|
|
|
9288 .LVL844:
|
|
|
9289 0044 DBB2 uxtb r3, r3
|
|
|
9290 0046 F2E7 b .L634
|
|
|
9291 .L635:
|
|
|
3615:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9292 .loc 1 3615 0
|
|
|
9293 0048 2368 ldr r3, [r4]
|
|
|
9294 004a 1022 movs r2, #16
|
|
|
9295 004c DA61 str r2, [r3, #28]
|
|
|
3618:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9296 .loc 1 3618 0
|
|
|
9297 004e 636C ldr r3, [r4, #68]
|
|
|
9298 0050 0C3A subs r2, r2, #12
|
|
|
9299 0052 1343 orrs r3, r2
|
|
|
9300 0054 6364 str r3, [r4, #68]
|
|
|
9301 0056 0BE0 b .L636
|
|
|
9302 .LVL845:
|
|
|
9303 .L632:
|
|
|
3621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9304 .loc 1 3621 0
|
|
|
9305 0058 0B07 lsls r3, r1, #28
|
|
|
9306 005a 05D5 bpl .L637
|
|
|
3621:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9307 .loc 1 3621 0 is_stmt 0 discriminator 1
|
|
|
9308 005c 1307 lsls r3, r2, #28
|
|
|
9309 005e 03D5 bpl .L637
|
|
|
3624:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9310 .loc 1 3624 0 is_stmt 1
|
|
|
9311 0060 2368 ldr r3, [r4]
|
|
|
9312 0062 0822 movs r2, #8
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 272
|
|
|
|
|
|
|
|
|
9313 .LVL846:
|
|
|
9314 0064 DA61 str r2, [r3, #28]
|
|
|
9315 0066 03E0 b .L636
|
|
|
9316 .LVL847:
|
|
|
9317 .L637:
|
|
|
3626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9318 .loc 1 3626 0
|
|
|
9319 0068 8B06 lsls r3, r1, #26
|
|
|
9320 006a 01D5 bpl .L636
|
|
|
3626:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9321 .loc 1 3626 0 is_stmt 0 discriminator 1
|
|
|
9322 006c 9306 lsls r3, r2, #26
|
|
|
9323 006e 04D4 bmi .L640
|
|
|
9324 .LVL848:
|
|
|
9325 .L636:
|
|
|
3633:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9326 .loc 1 3633 0 is_stmt 1
|
|
|
9327 0070 4023 movs r3, #64
|
|
|
9328 0072 0022 movs r2, #0
|
|
|
9329 0074 E254 strb r2, [r4, r3]
|
|
|
3635:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9330 .loc 1 3635 0
|
|
|
9331 0076 0020 movs r0, #0
|
|
|
9332 .L631:
|
|
|
3636:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9333 .loc 1 3636 0
|
|
|
9334 @ sp needed
|
|
|
9335 .LVL849:
|
|
|
9336 0078 10BD pop {r4, pc}
|
|
|
9337 .LVL850:
|
|
|
9338 .L640:
|
|
|
3629:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9339 .loc 1 3629 0
|
|
|
9340 007a 2000 movs r0, r4
|
|
|
9341 007c FFF7FEFF bl I2C_ITSlaveCplt
|
|
|
9342 .LVL851:
|
|
|
9343 0080 F6E7 b .L636
|
|
|
9344 .LVL852:
|
|
|
9345 .L638:
|
|
|
3598:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9346 .loc 1 3598 0
|
|
|
9347 0082 0220 movs r0, #2
|
|
|
9348 .LVL853:
|
|
|
9349 0084 F8E7 b .L631
|
|
|
9350 .cfi_endproc
|
|
|
9351 .LFE87:
|
|
|
9353 .section .text.I2C_ITMasterCplt,"ax",%progbits
|
|
|
9354 .align 1
|
|
|
9355 .syntax unified
|
|
|
9356 .code 16
|
|
|
9357 .thumb_func
|
|
|
9358 .fpu softvfp
|
|
|
9360 I2C_ITMasterCplt:
|
|
|
9361 .LFB93:
|
|
|
3954:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Clear STOP Flag */
|
|
|
9362 .loc 1 3954 0
|
|
|
9363 .cfi_startproc
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 273
|
|
|
|
|
|
|
|
|
9364 @ args = 0, pretend = 0, frame = 0
|
|
|
9365 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
9366 .LVL854:
|
|
|
9367 0000 10B5 push {r4, lr}
|
|
|
9368 .LCFI66:
|
|
|
9369 .cfi_def_cfa_offset 8
|
|
|
9370 .cfi_offset 4, -8
|
|
|
9371 .cfi_offset 14, -4
|
|
|
9372 0002 0400 movs r4, r0
|
|
|
3956:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9373 .loc 1 3956 0
|
|
|
9374 0004 0368 ldr r3, [r0]
|
|
|
9375 0006 2022 movs r2, #32
|
|
|
9376 0008 DA61 str r2, [r3, #28]
|
|
|
3959:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9377 .loc 1 3959 0
|
|
|
9378 000a 0268 ldr r2, [r0]
|
|
|
9379 000c 5368 ldr r3, [r2, #4]
|
|
|
9380 000e 3448 ldr r0, .L654
|
|
|
9381 .LVL855:
|
|
|
9382 0010 0340 ands r3, r0
|
|
|
9383 0012 5360 str r3, [r2, #4]
|
|
|
3962:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferISR = NULL;
|
|
|
9384 .loc 1 3962 0
|
|
|
9385 0014 0023 movs r3, #0
|
|
|
9386 0016 2363 str r3, [r4, #48]
|
|
|
3963:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
|
|
|
9387 .loc 1 3963 0
|
|
|
9388 0018 6363 str r3, [r4, #52]
|
|
|
3964:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9389 .loc 1 3964 0
|
|
|
9390 001a 324B ldr r3, .L654+4
|
|
|
9391 001c E362 str r3, [r4, #44]
|
|
|
3966:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9392 .loc 1 3966 0
|
|
|
9393 001e CB06 lsls r3, r1, #27
|
|
|
9394 0020 06D5 bpl .L642
|
|
|
3969:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9395 .loc 1 3969 0
|
|
|
9396 0022 2368 ldr r3, [r4]
|
|
|
9397 0024 1022 movs r2, #16
|
|
|
9398 0026 DA61 str r2, [r3, #28]
|
|
|
3972:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9399 .loc 1 3972 0
|
|
|
9400 0028 636C ldr r3, [r4, #68]
|
|
|
9401 002a 0C3A subs r2, r2, #12
|
|
|
9402 002c 1343 orrs r3, r2
|
|
|
9403 002e 6364 str r3, [r4, #68]
|
|
|
9404 .L642:
|
|
|
9405 .LVL856:
|
|
|
9406 .LBB310:
|
|
|
9407 .LBB311:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9408 .loc 1 4301 0
|
|
|
9409 0030 2368 ldr r3, [r4]
|
|
|
9410 0032 9A69 ldr r2, [r3, #24]
|
|
|
9411 0034 9207 lsls r2, r2, #30
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 274
|
|
|
|
|
|
|
|
|
9412 0036 01D5 bpl .L643
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9413 .loc 1 4303 0
|
|
|
9414 0038 0022 movs r2, #0
|
|
|
9415 003a 9A62 str r2, [r3, #40]
|
|
|
9416 .L643:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9417 .loc 1 4307 0
|
|
|
9418 003c 2368 ldr r3, [r4]
|
|
|
9419 003e 9A69 ldr r2, [r3, #24]
|
|
|
9420 0040 D207 lsls r2, r2, #31
|
|
|
9421 0042 03D4 bmi .L644
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9422 .loc 1 4309 0
|
|
|
9423 0044 9A69 ldr r2, [r3, #24]
|
|
|
9424 0046 0121 movs r1, #1
|
|
|
9425 .LVL857:
|
|
|
9426 0048 0A43 orrs r2, r1
|
|
|
9427 004a 9A61 str r2, [r3, #24]
|
|
|
9428 .L644:
|
|
|
9429 .LVL858:
|
|
|
9430 .LBE311:
|
|
|
9431 .LBE310:
|
|
|
3979:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9432 .loc 1 3979 0
|
|
|
9433 004c 0321 movs r1, #3
|
|
|
9434 004e 2000 movs r0, r4
|
|
|
9435 0050 FFF7FEFF bl I2C_Disable_IRQ
|
|
|
9436 .LVL859:
|
|
|
3982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9437 .loc 1 3982 0
|
|
|
9438 0054 636C ldr r3, [r4, #68]
|
|
|
9439 0056 002B cmp r3, #0
|
|
|
9440 0058 1BD1 bne .L645
|
|
|
3982:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9441 .loc 1 3982 0 is_stmt 0 discriminator 1
|
|
|
9442 005a 4133 adds r3, r3, #65
|
|
|
9443 005c E35C ldrb r3, [r4, r3]
|
|
|
9444 005e 602B cmp r3, #96
|
|
|
9445 0060 17D0 beq .L645
|
|
|
3988:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9446 .loc 1 3988 0 is_stmt 1
|
|
|
9447 0062 4123 movs r3, #65
|
|
|
9448 0064 E35C ldrb r3, [r4, r3]
|
|
|
9449 0066 212B cmp r3, #33
|
|
|
9450 0068 18D0 beq .L651
|
|
|
4014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9451 .loc 1 4014 0
|
|
|
9452 006a 4123 movs r3, #65
|
|
|
9453 006c E35C ldrb r3, [r4, r3]
|
|
|
9454 006e 222B cmp r3, #34
|
|
|
9455 0070 13D1 bne .L641
|
|
|
4016:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9456 .loc 1 4016 0
|
|
|
9457 0072 1F33 adds r3, r3, #31
|
|
|
9458 0074 2022 movs r2, #32
|
|
|
9459 0076 E254 strb r2, [r4, r3]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 275
|
|
|
|
|
|
|
|
|
4018:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9460 .loc 1 4018 0
|
|
|
9461 0078 0133 adds r3, r3, #1
|
|
|
9462 007a E35C ldrb r3, [r4, r3]
|
|
|
9463 007c 402B cmp r3, #64
|
|
|
9464 007e 26D0 beq .L652
|
|
|
4029:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9465 .loc 1 4029 0
|
|
|
9466 0080 0023 movs r3, #0
|
|
|
9467 0082 4222 movs r2, #66
|
|
|
9468 0084 A354 strb r3, [r4, r2]
|
|
|
4032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9469 .loc 1 4032 0
|
|
|
9470 0086 023A subs r2, r2, #2
|
|
|
9471 0088 A354 strb r3, [r4, r2]
|
|
|
4034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9472 .loc 1 4034 0
|
|
|
9473 008a 2000 movs r0, r4
|
|
|
9474 008c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
|
|
|
9475 .LVL860:
|
|
|
4037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9476 .loc 1 4037 0
|
|
|
9477 0090 03E0 b .L641
|
|
|
9478 .L645:
|
|
|
3985:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9479 .loc 1 3985 0
|
|
|
9480 0092 616C ldr r1, [r4, #68]
|
|
|
9481 0094 2000 movs r0, r4
|
|
|
9482 0096 FFF7FEFF bl I2C_ITError
|
|
|
9483 .LVL861:
|
|
|
9484 .L641:
|
|
|
4037:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9485 .loc 1 4037 0
|
|
|
9486 @ sp needed
|
|
|
9487 .LVL862:
|
|
|
9488 009a 10BD pop {r4, pc}
|
|
|
9489 .LVL863:
|
|
|
9490 .L651:
|
|
|
3990:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9491 .loc 1 3990 0
|
|
|
9492 009c 2033 adds r3, r3, #32
|
|
|
9493 009e 2022 movs r2, #32
|
|
|
9494 00a0 E254 strb r2, [r4, r3]
|
|
|
3992:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9495 .loc 1 3992 0
|
|
|
9496 00a2 0133 adds r3, r3, #1
|
|
|
9497 00a4 E35C ldrb r3, [r4, r3]
|
|
|
9498 00a6 402B cmp r3, #64
|
|
|
9499 00a8 08D0 beq .L653
|
|
|
4004:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9500 .loc 1 4004 0
|
|
|
9501 00aa 0023 movs r3, #0
|
|
|
9502 00ac 4222 movs r2, #66
|
|
|
9503 00ae A354 strb r3, [r4, r2]
|
|
|
4007:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9504 .loc 1 4007 0
|
|
|
9505 00b0 023A subs r2, r2, #2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 276
|
|
|
|
|
|
|
|
|
9506 00b2 A354 strb r3, [r4, r2]
|
|
|
4010:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9507 .loc 1 4010 0
|
|
|
9508 00b4 2000 movs r0, r4
|
|
|
9509 00b6 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
|
|
|
9510 .LVL864:
|
|
|
9511 00ba EEE7 b .L641
|
|
|
9512 .L653:
|
|
|
3994:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9513 .loc 1 3994 0
|
|
|
9514 00bc 0023 movs r3, #0
|
|
|
9515 00be 2232 adds r2, r2, #34
|
|
|
9516 00c0 A354 strb r3, [r4, r2]
|
|
|
3997:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9517 .loc 1 3997 0
|
|
|
9518 00c2 023A subs r2, r2, #2
|
|
|
9519 00c4 A354 strb r3, [r4, r2]
|
|
|
4000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9520 .loc 1 4000 0
|
|
|
9521 00c6 2000 movs r0, r4
|
|
|
9522 00c8 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
|
|
|
9523 .LVL865:
|
|
|
9524 00cc E5E7 b .L641
|
|
|
9525 .L652:
|
|
|
4020:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9526 .loc 1 4020 0
|
|
|
9527 00ce 0023 movs r3, #0
|
|
|
9528 00d0 2232 adds r2, r2, #34
|
|
|
9529 00d2 A354 strb r3, [r4, r2]
|
|
|
4023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9530 .loc 1 4023 0
|
|
|
9531 00d4 023A subs r2, r2, #2
|
|
|
9532 00d6 A354 strb r3, [r4, r2]
|
|
|
4025:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9533 .loc 1 4025 0
|
|
|
9534 00d8 2000 movs r0, r4
|
|
|
9535 00da FFF7FEFF bl HAL_I2C_MemRxCpltCallback
|
|
|
9536 .LVL866:
|
|
|
9537 00de DCE7 b .L641
|
|
|
9538 .L655:
|
|
|
9539 .align 2
|
|
|
9540 .L654:
|
|
|
9541 00e0 00E800FE .word -33495040
|
|
|
9542 00e4 0000FFFF .word -65536
|
|
|
9543 .cfi_endproc
|
|
|
9544 .LFE93:
|
|
|
9546 .section .text.I2C_Master_ISR_IT,"ax",%progbits
|
|
|
9547 .align 1
|
|
|
9548 .syntax unified
|
|
|
9549 .code 16
|
|
|
9550 .thumb_func
|
|
|
9551 .fpu softvfp
|
|
|
9553 I2C_Master_ISR_IT:
|
|
|
9554 .LFB84:
|
|
|
3273:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t devaddress = 0U;
|
|
|
9555 .loc 1 3273 0
|
|
|
9556 .cfi_startproc
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 277
|
|
|
|
|
|
|
|
|
9557 @ args = 0, pretend = 0, frame = 0
|
|
|
9558 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
9559 .LVL867:
|
|
|
9560 0000 F0B5 push {r4, r5, r6, r7, lr}
|
|
|
9561 .LCFI67:
|
|
|
9562 .cfi_def_cfa_offset 20
|
|
|
9563 .cfi_offset 4, -20
|
|
|
9564 .cfi_offset 5, -16
|
|
|
9565 .cfi_offset 6, -12
|
|
|
9566 .cfi_offset 7, -8
|
|
|
9567 .cfi_offset 14, -4
|
|
|
9568 0002 C646 mov lr, r8
|
|
|
9569 0004 00B5 push {lr}
|
|
|
9570 .LCFI68:
|
|
|
9571 .cfi_def_cfa_offset 24
|
|
|
9572 .cfi_offset 8, -24
|
|
|
9573 0006 0400 movs r4, r0
|
|
|
9574 0008 0D00 movs r5, r1
|
|
|
9575 000a 1600 movs r6, r2
|
|
|
9576 .LVL868:
|
|
|
3277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9577 .loc 1 3277 0
|
|
|
9578 000c 4023 movs r3, #64
|
|
|
9579 000e C35C ldrb r3, [r0, r3]
|
|
|
9580 0010 012B cmp r3, #1
|
|
|
9581 0012 00D1 bne .LCB10164
|
|
|
9582 0014 C1E0 b .L671 @long jump
|
|
|
9583 .LCB10164:
|
|
|
3277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9584 .loc 1 3277 0 is_stmt 0 discriminator 2
|
|
|
9585 0016 4023 movs r3, #64
|
|
|
9586 0018 0122 movs r2, #1
|
|
|
9587 .LVL869:
|
|
|
9588 001a C254 strb r2, [r0, r3]
|
|
|
3279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9589 .loc 1 3279 0 is_stmt 1 discriminator 2
|
|
|
9590 001c CB06 lsls r3, r1, #27
|
|
|
9591 001e 17D5 bpl .L658
|
|
|
3279:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9592 .loc 1 3279 0 is_stmt 0 discriminator 1
|
|
|
9593 0020 F306 lsls r3, r6, #27
|
|
|
9594 0022 15D5 bpl .L658
|
|
|
3282:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9595 .loc 1 3282 0 is_stmt 1
|
|
|
9596 0024 0368 ldr r3, [r0]
|
|
|
9597 0026 0F32 adds r2, r2, #15
|
|
|
9598 0028 DA61 str r2, [r3, #28]
|
|
|
3287:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9599 .loc 1 3287 0
|
|
|
9600 002a 436C ldr r3, [r0, #68]
|
|
|
9601 002c 0C3A subs r2, r2, #12
|
|
|
9602 002e 1343 orrs r3, r2
|
|
|
9603 0030 4364 str r3, [r0, #68]
|
|
|
9604 .LVL870:
|
|
|
9605 .LBB312:
|
|
|
9606 .LBB313:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 278
|
|
|
|
|
|
|
|
|
9607 .loc 1 4301 0
|
|
|
9608 0032 0368 ldr r3, [r0]
|
|
|
9609 0034 9A69 ldr r2, [r3, #24]
|
|
|
9610 0036 9207 lsls r2, r2, #30
|
|
|
9611 0038 01D5 bpl .L659
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9612 .loc 1 4303 0
|
|
|
9613 003a 0022 movs r2, #0
|
|
|
9614 003c 9A62 str r2, [r3, #40]
|
|
|
9615 .L659:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9616 .loc 1 4307 0
|
|
|
9617 003e 2368 ldr r3, [r4]
|
|
|
9618 0040 9A69 ldr r2, [r3, #24]
|
|
|
9619 0042 D207 lsls r2, r2, #31
|
|
|
9620 0044 15D4 bmi .L660
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9621 .loc 1 4309 0
|
|
|
9622 0046 9A69 ldr r2, [r3, #24]
|
|
|
9623 0048 0121 movs r1, #1
|
|
|
9624 .LVL871:
|
|
|
9625 004a 0A43 orrs r2, r1
|
|
|
9626 004c 9A61 str r2, [r3, #24]
|
|
|
9627 004e 10E0 b .L660
|
|
|
9628 .LVL872:
|
|
|
9629 .L658:
|
|
|
9630 .LBE313:
|
|
|
9631 .LBE312:
|
|
|
3292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9632 .loc 1 3292 0
|
|
|
9633 0050 6B07 lsls r3, r5, #29
|
|
|
9634 0052 1AD5 bpl .L661
|
|
|
3292:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9635 .loc 1 3292 0 is_stmt 0 discriminator 1
|
|
|
9636 0054 7307 lsls r3, r6, #29
|
|
|
9637 0056 18D5 bpl .L661
|
|
|
3295:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
9638 .loc 1 3295 0 is_stmt 1
|
|
|
9639 0058 2368 ldr r3, [r4]
|
|
|
9640 005a 5A6A ldr r2, [r3, #36]
|
|
|
9641 005c 636A ldr r3, [r4, #36]
|
|
|
9642 005e 591C adds r1, r3, #1
|
|
|
9643 .LVL873:
|
|
|
9644 0060 6162 str r1, [r4, #36]
|
|
|
9645 0062 1A70 strb r2, [r3]
|
|
|
3296:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
9646 .loc 1 3296 0
|
|
|
9647 0064 238D ldrh r3, [r4, #40]
|
|
|
9648 0066 013B subs r3, r3, #1
|
|
|
9649 0068 2385 strh r3, [r4, #40]
|
|
|
3297:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9650 .loc 1 3297 0
|
|
|
9651 006a 638D ldrh r3, [r4, #42]
|
|
|
9652 006c 013B subs r3, r3, #1
|
|
|
9653 006e 9BB2 uxth r3, r3
|
|
|
9654 0070 6385 strh r3, [r4, #42]
|
|
|
9655 .LVL874:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 279
|
|
|
|
|
|
|
|
|
9656 .L660:
|
|
|
3373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9657 .loc 1 3373 0
|
|
|
9658 0072 AB06 lsls r3, r5, #26
|
|
|
9659 0074 02D5 bpl .L670
|
|
|
3373:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9660 .loc 1 3373 0 is_stmt 0 discriminator 1
|
|
|
9661 0076 B306 lsls r3, r6, #26
|
|
|
9662 0078 00D5 bpl .LCB10251
|
|
|
9663 007a 89E0 b .L672 @long jump
|
|
|
9664 .LCB10251:
|
|
|
9665 .L670:
|
|
|
3380:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9666 .loc 1 3380 0 is_stmt 1
|
|
|
9667 007c 4023 movs r3, #64
|
|
|
9668 007e 0022 movs r2, #0
|
|
|
9669 0080 E254 strb r2, [r4, r3]
|
|
|
3382:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9670 .loc 1 3382 0
|
|
|
9671 0082 0020 movs r0, #0
|
|
|
9672 .L657:
|
|
|
3383:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9673 .loc 1 3383 0
|
|
|
9674 @ sp needed
|
|
|
9675 .LVL875:
|
|
|
9676 .LVL876:
|
|
|
9677 .LVL877:
|
|
|
9678 0084 04BC pop {r2}
|
|
|
9679 0086 9046 mov r8, r2
|
|
|
9680 0088 F0BD pop {r4, r5, r6, r7, pc}
|
|
|
9681 .LVL878:
|
|
|
9682 .L661:
|
|
|
3299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9683 .loc 1 3299 0
|
|
|
9684 008a AB07 lsls r3, r5, #30
|
|
|
9685 008c 0FD5 bpl .L662
|
|
|
3299:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9686 .loc 1 3299 0 is_stmt 0 discriminator 1
|
|
|
9687 008e B307 lsls r3, r6, #30
|
|
|
9688 0090 0DD5 bpl .L662
|
|
|
3302:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferSize--;
|
|
|
9689 .loc 1 3302 0 is_stmt 1
|
|
|
9690 0092 636A ldr r3, [r4, #36]
|
|
|
9691 0094 5A1C adds r2, r3, #1
|
|
|
9692 0096 6262 str r2, [r4, #36]
|
|
|
9693 0098 2268 ldr r2, [r4]
|
|
|
9694 009a 1B78 ldrb r3, [r3]
|
|
|
9695 009c 9362 str r3, [r2, #40]
|
|
|
3303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->XferCount--;
|
|
|
9696 .loc 1 3303 0
|
|
|
9697 009e 238D ldrh r3, [r4, #40]
|
|
|
9698 00a0 013B subs r3, r3, #1
|
|
|
9699 00a2 2385 strh r3, [r4, #40]
|
|
|
3304:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9700 .loc 1 3304 0
|
|
|
9701 00a4 638D ldrh r3, [r4, #42]
|
|
|
9702 00a6 013B subs r3, r3, #1
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 280
|
|
|
|
|
|
|
|
|
9703 00a8 9BB2 uxth r3, r3
|
|
|
9704 00aa 6385 strh r3, [r4, #42]
|
|
|
9705 00ac E1E7 b .L660
|
|
|
9706 .L662:
|
|
|
3306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9707 .loc 1 3306 0
|
|
|
9708 00ae 2B06 lsls r3, r5, #24
|
|
|
9709 00b0 4CD5 bpl .L663
|
|
|
3306:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9710 .loc 1 3306 0 is_stmt 0 discriminator 1
|
|
|
9711 00b2 7306 lsls r3, r6, #25
|
|
|
9712 00b4 4AD5 bpl .L663
|
|
|
3308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9713 .loc 1 3308 0 is_stmt 1
|
|
|
9714 00b6 238D ldrh r3, [r4, #40]
|
|
|
9715 00b8 002B cmp r3, #0
|
|
|
9716 00ba 3AD1 bne .L664
|
|
|
3308:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9717 .loc 1 3308 0 is_stmt 0 discriminator 1
|
|
|
9718 00bc 638D ldrh r3, [r4, #42]
|
|
|
9719 00be 9BB2 uxth r3, r3
|
|
|
9720 00c0 002B cmp r3, #0
|
|
|
9721 00c2 36D0 beq .L664
|
|
|
3310:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9722 .loc 1 3310 0 is_stmt 1
|
|
|
9723 00c4 2068 ldr r0, [r4]
|
|
|
9724 .LVL879:
|
|
|
9725 00c6 4368 ldr r3, [r0, #4]
|
|
|
9726 00c8 9B05 lsls r3, r3, #22
|
|
|
9727 00ca 9F0D lsrs r7, r3, #22
|
|
|
9728 .LVL880:
|
|
|
3312:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9729 .loc 1 3312 0
|
|
|
9730 00cc 618D ldrh r1, [r4, #42]
|
|
|
9731 .LVL881:
|
|
|
9732 00ce 89B2 uxth r1, r1
|
|
|
9733 00d0 FF29 cmp r1, #255
|
|
|
9734 00d2 0DD9 bls .L665
|
|
|
3314:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTSTOP);
|
|
|
9735 .loc 1 3314 0
|
|
|
9736 00d4 FF23 movs r3, #255
|
|
|
9737 00d6 2385 strh r3, [r4, #40]
|
|
|
9738 .LVL882:
|
|
|
9739 .LBB314:
|
|
|
9740 .LBB315:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
9741 .loc 1 4713 0
|
|
|
9742 00d8 4368 ldr r3, [r0, #4]
|
|
|
9743 00da 3149 ldr r1, .L673
|
|
|
9744 00dc 1940 ands r1, r3
|
|
|
9745 00de FF23 movs r3, #255
|
|
|
9746 00e0 1B04 lsls r3, r3, #16
|
|
|
9747 00e2 1F43 orrs r7, r3
|
|
|
9748 .LVL883:
|
|
|
9749 00e4 8023 movs r3, #128
|
|
|
9750 00e6 5B04 lsls r3, r3, #17
|
|
|
9751 00e8 3B43 orrs r3, r7
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 281
|
|
|
|
|
|
|
|
|
9752 00ea 0B43 orrs r3, r1
|
|
|
9753 00ec 4360 str r3, [r0, #4]
|
|
|
9754 00ee C0E7 b .L660
|
|
|
9755 .LVL884:
|
|
|
9756 .L665:
|
|
|
9757 .LBE315:
|
|
|
9758 .LBE314:
|
|
|
3319:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
|
|
|
9759 .loc 1 3319 0
|
|
|
9760 00f0 638D ldrh r3, [r4, #42]
|
|
|
9761 00f2 9BB2 uxth r3, r3
|
|
|
9762 00f4 2385 strh r3, [r4, #40]
|
|
|
3320:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9763 .loc 1 3320 0
|
|
|
9764 00f6 E16A ldr r1, [r4, #44]
|
|
|
9765 00f8 2A4A ldr r2, .L673+4
|
|
|
9766 00fa 9142 cmp r1, r2
|
|
|
9767 00fc 0CD0 beq .L666
|
|
|
3322:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9768 .loc 1 3322 0
|
|
|
9769 00fe DBB2 uxtb r3, r3
|
|
|
9770 0100 9846 mov r8, r3
|
|
|
9771 0102 E16A ldr r1, [r4, #44]
|
|
|
9772 .LVL885:
|
|
|
9773 .LBB316:
|
|
|
9774 .LBB317:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
9775 .loc 1 4713 0
|
|
|
9776 0104 4268 ldr r2, [r0, #4]
|
|
|
9777 0106 264B ldr r3, .L673
|
|
|
9778 0108 1A40 ands r2, r3
|
|
|
9779 010a 4346 mov r3, r8
|
|
|
9780 010c 1B04 lsls r3, r3, #16
|
|
|
9781 010e 3B43 orrs r3, r7
|
|
|
9782 0110 0B43 orrs r3, r1
|
|
|
9783 0112 1343 orrs r3, r2
|
|
|
9784 0114 4360 str r3, [r0, #4]
|
|
|
9785 0116 ACE7 b .L660
|
|
|
9786 .LVL886:
|
|
|
9787 .L666:
|
|
|
9788 .LBE317:
|
|
|
9789 .LBE316:
|
|
|
3326:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9790 .loc 1 3326 0
|
|
|
9791 0118 DAB2 uxtb r2, r3
|
|
|
9792 .LVL887:
|
|
|
9793 .LBB318:
|
|
|
9794 .LBB319:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
9795 .loc 1 4713 0
|
|
|
9796 011a 4368 ldr r3, [r0, #4]
|
|
|
9797 011c 2049 ldr r1, .L673
|
|
|
9798 011e 1940 ands r1, r3
|
|
|
9799 0120 1204 lsls r2, r2, #16
|
|
|
9800 .LVL888:
|
|
|
9801 0122 3B00 movs r3, r7
|
|
|
9802 0124 1343 orrs r3, r2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 282
|
|
|
|
|
|
|
|
|
9803 0126 8027 movs r7, #128
|
|
|
9804 .LVL889:
|
|
|
9805 0128 BF04 lsls r7, r7, #18
|
|
|
9806 012a 3B43 orrs r3, r7
|
|
|
9807 012c 0B43 orrs r3, r1
|
|
|
9808 012e 4360 str r3, [r0, #4]
|
|
|
9809 0130 9FE7 b .L660
|
|
|
9810 .LVL890:
|
|
|
9811 .L664:
|
|
|
9812 .LBE319:
|
|
|
9813 .LBE318:
|
|
|
3333:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9814 .loc 1 3333 0
|
|
|
9815 0132 2368 ldr r3, [r4]
|
|
|
9816 0134 5B68 ldr r3, [r3, #4]
|
|
|
9817 0136 9B01 lsls r3, r3, #6
|
|
|
9818 0138 03D4 bmi .L667
|
|
|
3336:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9819 .loc 1 3336 0
|
|
|
9820 013a 2000 movs r0, r4
|
|
|
9821 .LVL891:
|
|
|
9822 013c FFF7FEFF bl I2C_ITMasterSequentialCplt
|
|
|
9823 .LVL892:
|
|
|
9824 0140 97E7 b .L660
|
|
|
9825 .LVL893:
|
|
|
9826 .L667:
|
|
|
3342:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9827 .loc 1 3342 0
|
|
|
9828 0142 4021 movs r1, #64
|
|
|
9829 .LVL894:
|
|
|
9830 0144 2000 movs r0, r4
|
|
|
9831 .LVL895:
|
|
|
9832 0146 FFF7FEFF bl I2C_ITError
|
|
|
9833 .LVL896:
|
|
|
9834 014a 92E7 b .L660
|
|
|
9835 .LVL897:
|
|
|
9836 .L663:
|
|
|
3346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9837 .loc 1 3346 0
|
|
|
9838 014c 6B06 lsls r3, r5, #25
|
|
|
9839 014e 00D4 bmi .LCB10478
|
|
|
9840 0150 8FE7 b .L660 @long jump
|
|
|
9841 .LCB10478:
|
|
|
3346:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9842 .loc 1 3346 0 is_stmt 0 discriminator 1
|
|
|
9843 0152 7306 lsls r3, r6, #25
|
|
|
9844 0154 00D4 bmi .LCB10482
|
|
|
9845 0156 8CE7 b .L660 @long jump
|
|
|
9846 .LCB10482:
|
|
|
3348:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9847 .loc 1 3348 0 is_stmt 1
|
|
|
9848 0158 638D ldrh r3, [r4, #42]
|
|
|
9849 015a 9BB2 uxth r3, r3
|
|
|
9850 015c 002B cmp r3, #0
|
|
|
9851 015e 12D1 bne .L668
|
|
|
3350:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9852 .loc 1 3350 0
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 283
|
|
|
|
|
|
|
|
|
9853 0160 2368 ldr r3, [r4]
|
|
|
9854 0162 5A68 ldr r2, [r3, #4]
|
|
|
9855 0164 9201 lsls r2, r2, #6
|
|
|
9856 0166 00D5 bpl .LCB10492
|
|
|
9857 0168 83E7 b .L660 @long jump
|
|
|
9858 .LCB10492:
|
|
|
3353:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9859 .loc 1 3353 0
|
|
|
9860 016a E16A ldr r1, [r4, #44]
|
|
|
9861 .LVL898:
|
|
|
9862 016c 0D4A ldr r2, .L673+4
|
|
|
9863 016e 9142 cmp r1, r2
|
|
|
9864 0170 05D1 bne .L669
|
|
|
3356:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9865 .loc 1 3356 0
|
|
|
9866 0172 5968 ldr r1, [r3, #4]
|
|
|
9867 0174 8022 movs r2, #128
|
|
|
9868 0176 D201 lsls r2, r2, #7
|
|
|
9869 0178 0A43 orrs r2, r1
|
|
|
9870 017a 5A60 str r2, [r3, #4]
|
|
|
9871 017c 79E7 b .L660
|
|
|
9872 .L669:
|
|
|
3361:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9873 .loc 1 3361 0
|
|
|
9874 017e 2000 movs r0, r4
|
|
|
9875 .LVL899:
|
|
|
9876 0180 FFF7FEFF bl I2C_ITMasterSequentialCplt
|
|
|
9877 .LVL900:
|
|
|
9878 0184 75E7 b .L660
|
|
|
9879 .LVL901:
|
|
|
9880 .L668:
|
|
|
3369:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9881 .loc 1 3369 0
|
|
|
9882 0186 4021 movs r1, #64
|
|
|
9883 .LVL902:
|
|
|
9884 0188 2000 movs r0, r4
|
|
|
9885 .LVL903:
|
|
|
9886 018a FFF7FEFF bl I2C_ITError
|
|
|
9887 .LVL904:
|
|
|
9888 018e 70E7 b .L660
|
|
|
9889 .LVL905:
|
|
|
9890 .L672:
|
|
|
3376:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9891 .loc 1 3376 0
|
|
|
9892 0190 2900 movs r1, r5
|
|
|
9893 0192 2000 movs r0, r4
|
|
|
9894 0194 FFF7FEFF bl I2C_ITMasterCplt
|
|
|
9895 .LVL906:
|
|
|
9896 0198 70E7 b .L670
|
|
|
9897 .LVL907:
|
|
|
9898 .L671:
|
|
|
3277:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9899 .loc 1 3277 0
|
|
|
9900 019a 0220 movs r0, #2
|
|
|
9901 .LVL908:
|
|
|
9902 019c 72E7 b .L657
|
|
|
9903 .L674:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 284
|
|
|
|
|
|
|
|
|
9904 019e C046 .align 2
|
|
|
9905 .L673:
|
|
|
9906 01a0 009C00FC .word -67068928
|
|
|
9907 01a4 0000FFFF .word -65536
|
|
|
9908 .cfi_endproc
|
|
|
9909 .LFE84:
|
|
|
9911 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
|
|
|
9912 .align 1
|
|
|
9913 .syntax unified
|
|
|
9914 .code 16
|
|
|
9915 .thumb_func
|
|
|
9916 .fpu softvfp
|
|
|
9918 I2C_Master_ISR_DMA:
|
|
|
9919 .LFB86:
|
|
|
3507:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint16_t devaddress = 0U;
|
|
|
9920 .loc 1 3507 0
|
|
|
9921 .cfi_startproc
|
|
|
9922 @ args = 0, pretend = 0, frame = 0
|
|
|
9923 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
9924 .LVL909:
|
|
|
9925 0000 70B5 push {r4, r5, r6, lr}
|
|
|
9926 .LCFI69:
|
|
|
9927 .cfi_def_cfa_offset 16
|
|
|
9928 .cfi_offset 4, -16
|
|
|
9929 .cfi_offset 5, -12
|
|
|
9930 .cfi_offset 6, -8
|
|
|
9931 .cfi_offset 14, -4
|
|
|
9932 0002 0400 movs r4, r0
|
|
|
9933 .LVL910:
|
|
|
3512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9934 .loc 1 3512 0
|
|
|
9935 0004 4023 movs r3, #64
|
|
|
9936 0006 C35C ldrb r3, [r0, r3]
|
|
|
9937 0008 012B cmp r3, #1
|
|
|
9938 000a 00D1 bne .LCB10573
|
|
|
9939 000c 7DE0 b .L686 @long jump
|
|
|
9940 .LCB10573:
|
|
|
3512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9941 .loc 1 3512 0 is_stmt 0 discriminator 2
|
|
|
9942 000e 4023 movs r3, #64
|
|
|
9943 0010 0120 movs r0, #1
|
|
|
9944 .LVL911:
|
|
|
9945 0012 E054 strb r0, [r4, r3]
|
|
|
3514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9946 .loc 1 3514 0 is_stmt 1 discriminator 2
|
|
|
9947 0014 CB06 lsls r3, r1, #27
|
|
|
9948 0016 27D5 bpl .L677
|
|
|
3514:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9949 .loc 1 3514 0 is_stmt 0 discriminator 1
|
|
|
9950 0018 D306 lsls r3, r2, #27
|
|
|
9951 001a 25D5 bpl .L677
|
|
|
3517:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9952 .loc 1 3517 0 is_stmt 1
|
|
|
9953 001c 2368 ldr r3, [r4]
|
|
|
9954 001e 1022 movs r2, #16
|
|
|
9955 .LVL912:
|
|
|
9956 0020 DA61 str r2, [r3, #28]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 285
|
|
|
|
|
|
|
|
|
3520:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9957 .loc 1 3520 0
|
|
|
9958 0022 636C ldr r3, [r4, #68]
|
|
|
9959 0024 0C3A subs r2, r2, #12
|
|
|
9960 0026 1343 orrs r3, r2
|
|
|
9961 0028 6364 str r3, [r4, #68]
|
|
|
9962 .LVL913:
|
|
|
9963 .LBB320:
|
|
|
9964 .LBB321:
|
|
|
4728:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
|
|
|
9965 .loc 1 4728 0
|
|
|
9966 002a 636B ldr r3, [r4, #52]
|
|
|
9967 002c 384A ldr r2, .L692
|
|
|
9968 002e 9342 cmp r3, r2
|
|
|
9969 0030 18D0 beq .L687
|
|
|
9970 0032 384A ldr r2, .L692+4
|
|
|
9971 0034 9342 cmp r3, r2
|
|
|
9972 0036 13D0 beq .L689
|
|
|
4778:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9973 .loc 1 4778 0
|
|
|
9974 0038 F421 movs r1, #244
|
|
|
9975 .LVL914:
|
|
|
9976 .L678:
|
|
|
4785:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
9977 .loc 1 4785 0
|
|
|
9978 003a 2268 ldr r2, [r4]
|
|
|
9979 003c 1368 ldr r3, [r2]
|
|
|
9980 003e 0B43 orrs r3, r1
|
|
|
9981 0040 1360 str r3, [r2]
|
|
|
9982 .LVL915:
|
|
|
9983 .LBE321:
|
|
|
9984 .LBE320:
|
|
|
9985 .LBB323:
|
|
|
9986 .LBB324:
|
|
|
4301:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9987 .loc 1 4301 0
|
|
|
9988 0042 2368 ldr r3, [r4]
|
|
|
9989 0044 9A69 ldr r2, [r3, #24]
|
|
|
9990 0046 9207 lsls r2, r2, #30
|
|
|
9991 0048 01D5 bpl .L679
|
|
|
4303:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
9992 .loc 1 4303 0
|
|
|
9993 004a 0022 movs r2, #0
|
|
|
9994 004c 9A62 str r2, [r3, #40]
|
|
|
9995 .L679:
|
|
|
4307:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
9996 .loc 1 4307 0
|
|
|
9997 004e 2368 ldr r3, [r4]
|
|
|
9998 0050 9A69 ldr r2, [r3, #24]
|
|
|
9999 0052 D207 lsls r2, r2, #31
|
|
|
10000 0054 50D4 bmi .L680
|
|
|
4309:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10001 .loc 1 4309 0
|
|
|
10002 0056 9A69 ldr r2, [r3, #24]
|
|
|
10003 0058 0121 movs r1, #1
|
|
|
10004 005a 0A43 orrs r2, r1
|
|
|
10005 005c 9A61 str r2, [r3, #24]
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 286
|
|
|
|
|
|
|
|
|
10006 005e 4BE0 b .L680
|
|
|
10007 .LVL916:
|
|
|
10008 .L689:
|
|
|
10009 .LBE324:
|
|
|
10010 .LBE323:
|
|
|
10011 .LBB325:
|
|
|
10012 .LBB322:
|
|
|
4752:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10013 .loc 1 4752 0
|
|
|
10014 0060 6021 movs r1, #96
|
|
|
10015 .LVL917:
|
|
|
10016 0062 EAE7 b .L678
|
|
|
10017 .LVL918:
|
|
|
10018 .L687:
|
|
|
10019 0064 6021 movs r1, #96
|
|
|
10020 .LVL919:
|
|
|
10021 0066 E8E7 b .L678
|
|
|
10022 .LVL920:
|
|
|
10023 .L677:
|
|
|
10024 .LBE322:
|
|
|
10025 .LBE325:
|
|
|
3530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10026 .loc 1 3530 0
|
|
|
10027 0068 0B06 lsls r3, r1, #24
|
|
|
10028 006a 41D5 bpl .L681
|
|
|
3530:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10029 .loc 1 3530 0 is_stmt 0 discriminator 1
|
|
|
10030 006c 5306 lsls r3, r2, #25
|
|
|
10031 006e 3FD5 bpl .L681
|
|
|
3533:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10032 .loc 1 3533 0 is_stmt 1
|
|
|
10033 0070 2268 ldr r2, [r4]
|
|
|
10034 .LVL921:
|
|
|
10035 0072 1368 ldr r3, [r2]
|
|
|
10036 0074 4021 movs r1, #64
|
|
|
10037 .LVL922:
|
|
|
10038 0076 8B43 bics r3, r1
|
|
|
10039 0078 1360 str r3, [r2]
|
|
|
3535:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10040 .loc 1 3535 0
|
|
|
10041 007a 638D ldrh r3, [r4, #42]
|
|
|
10042 007c 9BB2 uxth r3, r3
|
|
|
10043 007e 002B cmp r3, #0
|
|
|
10044 0080 31D0 beq .L682
|
|
|
3538:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10045 .loc 1 3538 0
|
|
|
10046 0082 2668 ldr r6, [r4]
|
|
|
10047 0084 7268 ldr r2, [r6, #4]
|
|
|
10048 0086 9205 lsls r2, r2, #22
|
|
|
10049 0088 950D lsrs r5, r2, #22
|
|
|
10050 .LVL923:
|
|
|
3541:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10051 .loc 1 3541 0
|
|
|
10052 008a 638D ldrh r3, [r4, #42]
|
|
|
10053 008c 9BB2 uxth r3, r3
|
|
|
10054 008e FF2B cmp r3, #255
|
|
|
10055 0090 1DD9 bls .L683
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 287
|
|
|
|
|
|
|
|
|
3543:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
|
|
|
10056 .loc 1 3543 0
|
|
|
10057 0092 FF23 movs r3, #255
|
|
|
10058 0094 2385 strh r3, [r4, #40]
|
|
|
10059 .LVL924:
|
|
|
3544:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10060 .loc 1 3544 0
|
|
|
10061 0096 8020 movs r0, #128
|
|
|
10062 0098 4004 lsls r0, r0, #17
|
|
|
10063 .LVL925:
|
|
|
10064 .L684:
|
|
|
3553:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10065 .loc 1 3553 0
|
|
|
10066 009a 228D ldrh r2, [r4, #40]
|
|
|
10067 009c D2B2 uxtb r2, r2
|
|
|
10068 .LVL926:
|
|
|
10069 .LBB326:
|
|
|
10070 .LBB327:
|
|
|
4713:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
|
|
|
10071 .loc 1 4713 0
|
|
|
10072 009e 7368 ldr r3, [r6, #4]
|
|
|
10073 00a0 1D49 ldr r1, .L692+8
|
|
|
10074 00a2 0B40 ands r3, r1
|
|
|
10075 00a4 1204 lsls r2, r2, #16
|
|
|
10076 .LVL927:
|
|
|
10077 00a6 2A43 orrs r2, r5
|
|
|
10078 00a8 0243 orrs r2, r0
|
|
|
10079 00aa 1343 orrs r3, r2
|
|
|
10080 00ac 7360 str r3, [r6, #4]
|
|
|
10081 .LVL928:
|
|
|
10082 .LBE327:
|
|
|
10083 .LBE326:
|
|
|
3556:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10084 .loc 1 3556 0
|
|
|
10085 00ae 638D ldrh r3, [r4, #42]
|
|
|
10086 00b0 228D ldrh r2, [r4, #40]
|
|
|
10087 00b2 9B1A subs r3, r3, r2
|
|
|
10088 00b4 9BB2 uxth r3, r3
|
|
|
10089 00b6 6385 strh r3, [r4, #42]
|
|
|
3559:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10090 .loc 1 3559 0
|
|
|
10091 00b8 4123 movs r3, #65
|
|
|
10092 00ba E35C ldrb r3, [r4, r3]
|
|
|
10093 00bc 222B cmp r3, #34
|
|
|
10094 00be 0BD0 beq .L690
|
|
|
3565:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10095 .loc 1 3565 0
|
|
|
10096 00c0 2268 ldr r2, [r4]
|
|
|
10097 00c2 1168 ldr r1, [r2]
|
|
|
10098 00c4 8023 movs r3, #128
|
|
|
10099 00c6 DB01 lsls r3, r3, #7
|
|
|
10100 00c8 0B43 orrs r3, r1
|
|
|
10101 00ca 1360 str r3, [r2]
|
|
|
10102 00cc 14E0 b .L680
|
|
|
10103 .LVL929:
|
|
|
10104 .L683:
|
|
|
3548:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 288
|
|
|
|
|
|
|
|
|
10105 .loc 1 3548 0
|
|
|
10106 00ce 638D ldrh r3, [r4, #42]
|
|
|
10107 00d0 2385 strh r3, [r4, #40]
|
|
|
10108 .LVL930:
|
|
|
3549:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10109 .loc 1 3549 0
|
|
|
10110 00d2 8020 movs r0, #128
|
|
|
10111 00d4 8004 lsls r0, r0, #18
|
|
|
10112 00d6 E0E7 b .L684
|
|
|
10113 .LVL931:
|
|
|
10114 .L690:
|
|
|
3561:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10115 .loc 1 3561 0
|
|
|
10116 00d8 2268 ldr r2, [r4]
|
|
|
10117 00da 1168 ldr r1, [r2]
|
|
|
10118 00dc 8023 movs r3, #128
|
|
|
10119 00de 1B02 lsls r3, r3, #8
|
|
|
10120 00e0 0B43 orrs r3, r1
|
|
|
10121 00e2 1360 str r3, [r2]
|
|
|
10122 00e4 08E0 b .L680
|
|
|
10123 .LVL932:
|
|
|
10124 .L682:
|
|
|
3572:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10125 .loc 1 3572 0
|
|
|
10126 00e6 4021 movs r1, #64
|
|
|
10127 00e8 2000 movs r0, r4
|
|
|
10128 00ea FFF7FEFF bl I2C_ITError
|
|
|
10129 .LVL933:
|
|
|
10130 00ee 03E0 b .L680
|
|
|
10131 .LVL934:
|
|
|
10132 .L681:
|
|
|
3575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10133 .loc 1 3575 0
|
|
|
10134 00f0 8B06 lsls r3, r1, #26
|
|
|
10135 00f2 01D5 bpl .L680
|
|
|
3575:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10136 .loc 1 3575 0 is_stmt 0 discriminator 1
|
|
|
10137 00f4 9306 lsls r3, r2, #26
|
|
|
10138 00f6 04D4 bmi .L691
|
|
|
10139 .LVL935:
|
|
|
10140 .L680:
|
|
|
3582:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10141 .loc 1 3582 0 is_stmt 1
|
|
|
10142 00f8 4023 movs r3, #64
|
|
|
10143 00fa 0022 movs r2, #0
|
|
|
10144 00fc E254 strb r2, [r4, r3]
|
|
|
3584:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10145 .loc 1 3584 0
|
|
|
10146 00fe 0020 movs r0, #0
|
|
|
10147 .L676:
|
|
|
3585:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10148 .loc 1 3585 0
|
|
|
10149 @ sp needed
|
|
|
10150 .LVL936:
|
|
|
10151 0100 70BD pop {r4, r5, r6, pc}
|
|
|
10152 .LVL937:
|
|
|
10153 .L691:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 289
|
|
|
|
|
|
|
|
|
3578:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10154 .loc 1 3578 0
|
|
|
10155 0102 2000 movs r0, r4
|
|
|
10156 0104 FFF7FEFF bl I2C_ITMasterCplt
|
|
|
10157 .LVL938:
|
|
|
10158 0108 F6E7 b .L680
|
|
|
10159 .LVL939:
|
|
|
10160 .L686:
|
|
|
3512:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10161 .loc 1 3512 0
|
|
|
10162 010a 0220 movs r0, #2
|
|
|
10163 .LVL940:
|
|
|
10164 010c F8E7 b .L676
|
|
|
10165 .L693:
|
|
|
10166 010e C046 .align 2
|
|
|
10167 .L692:
|
|
|
10168 0110 00000000 .word I2C_Master_ISR_DMA
|
|
|
10169 0114 00000000 .word I2C_Slave_ISR_DMA
|
|
|
10170 0118 009C00FC .word -67068928
|
|
|
10171 .cfi_endproc
|
|
|
10172 .LFE86:
|
|
|
10174 .section .text.I2C_DMAError,"ax",%progbits
|
|
|
10175 .align 1
|
|
|
10176 .syntax unified
|
|
|
10177 .code 16
|
|
|
10178 .thumb_func
|
|
|
10179 .fpu softvfp
|
|
|
10181 I2C_DMAError:
|
|
|
10182 .LFB102:
|
|
|
4433:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
10183 .loc 1 4433 0
|
|
|
10184 .cfi_startproc
|
|
|
10185 @ args = 0, pretend = 0, frame = 0
|
|
|
10186 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10187 .LVL941:
|
|
|
10188 0000 10B5 push {r4, lr}
|
|
|
10189 .LCFI70:
|
|
|
10190 .cfi_def_cfa_offset 8
|
|
|
10191 .cfi_offset 4, -8
|
|
|
10192 .cfi_offset 14, -4
|
|
|
4434:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10193 .loc 1 4434 0
|
|
|
10194 0002 806A ldr r0, [r0, #40]
|
|
|
10195 .LVL942:
|
|
|
4437:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10196 .loc 1 4437 0
|
|
|
10197 0004 0268 ldr r2, [r0]
|
|
|
10198 0006 5168 ldr r1, [r2, #4]
|
|
|
10199 0008 8023 movs r3, #128
|
|
|
10200 000a 1B02 lsls r3, r3, #8
|
|
|
10201 000c 0B43 orrs r3, r1
|
|
|
10202 000e 5360 str r3, [r2, #4]
|
|
|
4440:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10203 .loc 1 4440 0
|
|
|
10204 0010 1021 movs r1, #16
|
|
|
10205 0012 FFF7FEFF bl I2C_ITError
|
|
|
10206 .LVL943:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 290
|
|
|
|
|
|
|
|
|
4441:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10207 .loc 1 4441 0
|
|
|
10208 @ sp needed
|
|
|
10209 0016 10BD pop {r4, pc}
|
|
|
10210 .cfi_endproc
|
|
|
10211 .LFE102:
|
|
|
10213 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
|
|
|
10214 .align 1
|
|
|
10215 .global HAL_I2C_ER_IRQHandler
|
|
|
10216 .syntax unified
|
|
|
10217 .code 16
|
|
|
10218 .thumb_func
|
|
|
10219 .fpu softvfp
|
|
|
10221 HAL_I2C_ER_IRQHandler:
|
|
|
10222 .LFB70:
|
|
|
2998:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
|
|
|
10223 .loc 1 2998 0
|
|
|
10224 .cfi_startproc
|
|
|
10225 @ args = 0, pretend = 0, frame = 0
|
|
|
10226 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10227 .LVL944:
|
|
|
10228 0000 70B5 push {r4, r5, r6, lr}
|
|
|
10229 .LCFI71:
|
|
|
10230 .cfi_def_cfa_offset 16
|
|
|
10231 .cfi_offset 4, -16
|
|
|
10232 .cfi_offset 5, -12
|
|
|
10233 .cfi_offset 6, -8
|
|
|
10234 .cfi_offset 14, -4
|
|
|
2999:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
|
|
|
10235 .loc 1 2999 0
|
|
|
10236 0002 0268 ldr r2, [r0]
|
|
|
10237 0004 9369 ldr r3, [r2, #24]
|
|
|
10238 .LVL945:
|
|
|
3000:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10239 .loc 1 3000 0
|
|
|
10240 0006 1168 ldr r1, [r2]
|
|
|
10241 .LVL946:
|
|
|
3003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10242 .loc 1 3003 0
|
|
|
10243 0008 DC05 lsls r4, r3, #23
|
|
|
10244 000a 08D5 bpl .L696
|
|
|
3003:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10245 .loc 1 3003 0 is_stmt 0 discriminator 1
|
|
|
10246 000c 0C06 lsls r4, r1, #24
|
|
|
10247 000e 06D5 bpl .L696
|
|
|
3005:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10248 .loc 1 3005 0 is_stmt 1
|
|
|
10249 0010 446C ldr r4, [r0, #68]
|
|
|
10250 0012 0125 movs r5, #1
|
|
|
10251 0014 2C43 orrs r4, r5
|
|
|
10252 0016 4464 str r4, [r0, #68]
|
|
|
3008:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10253 .loc 1 3008 0
|
|
|
10254 0018 8024 movs r4, #128
|
|
|
10255 001a 6400 lsls r4, r4, #1
|
|
|
10256 001c D461 str r4, [r2, #28]
|
|
|
10257 .L696:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 291
|
|
|
|
|
|
|
|
|
3012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10258 .loc 1 3012 0
|
|
|
10259 001e 5A05 lsls r2, r3, #21
|
|
|
10260 0020 09D5 bpl .L697
|
|
|
3012:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10261 .loc 1 3012 0 is_stmt 0 discriminator 1
|
|
|
10262 0022 0A06 lsls r2, r1, #24
|
|
|
10263 0024 07D5 bpl .L697
|
|
|
3014:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10264 .loc 1 3014 0 is_stmt 1
|
|
|
10265 0026 426C ldr r2, [r0, #68]
|
|
|
10266 0028 0824 movs r4, #8
|
|
|
10267 002a 2243 orrs r2, r4
|
|
|
10268 002c 4264 str r2, [r0, #68]
|
|
|
3017:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10269 .loc 1 3017 0
|
|
|
10270 002e 0268 ldr r2, [r0]
|
|
|
10271 0030 8024 movs r4, #128
|
|
|
10272 0032 E400 lsls r4, r4, #3
|
|
|
10273 0034 D461 str r4, [r2, #28]
|
|
|
10274 .L697:
|
|
|
3021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10275 .loc 1 3021 0
|
|
|
10276 0036 9B05 lsls r3, r3, #22
|
|
|
10277 0038 09D5 bpl .L698
|
|
|
10278 .LVL947:
|
|
|
3021:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10279 .loc 1 3021 0 is_stmt 0 discriminator 1
|
|
|
10280 003a 0B06 lsls r3, r1, #24
|
|
|
10281 003c 07D5 bpl .L698
|
|
|
3023:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10282 .loc 1 3023 0 is_stmt 1
|
|
|
10283 003e 436C ldr r3, [r0, #68]
|
|
|
10284 0040 0222 movs r2, #2
|
|
|
10285 0042 1343 orrs r3, r2
|
|
|
10286 0044 4364 str r3, [r0, #68]
|
|
|
3026:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10287 .loc 1 3026 0
|
|
|
10288 0046 0368 ldr r3, [r0]
|
|
|
10289 0048 FF32 adds r2, r2, #255
|
|
|
10290 004a FF32 adds r2, r2, #255
|
|
|
10291 004c DA61 str r2, [r3, #28]
|
|
|
10292 .L698:
|
|
|
3030:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10293 .loc 1 3030 0
|
|
|
10294 004e 436C ldr r3, [r0, #68]
|
|
|
10295 0050 0B22 movs r2, #11
|
|
|
10296 0052 1A42 tst r2, r3
|
|
|
10297 0054 00D1 bne .L700
|
|
|
10298 .LVL948:
|
|
|
10299 .L695:
|
|
|
3034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10300 .loc 1 3034 0
|
|
|
10301 @ sp needed
|
|
|
10302 0056 70BD pop {r4, r5, r6, pc}
|
|
|
10303 .LVL949:
|
|
|
10304 .L700:
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 292
|
|
|
|
|
|
|
|
|
3032:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10305 .loc 1 3032 0
|
|
|
10306 0058 416C ldr r1, [r0, #68]
|
|
|
10307 .LVL950:
|
|
|
10308 005a FFF7FEFF bl I2C_ITError
|
|
|
10309 .LVL951:
|
|
|
3034:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10310 .loc 1 3034 0
|
|
|
10311 005e FAE7 b .L695
|
|
|
10312 .cfi_endproc
|
|
|
10313 .LFE70:
|
|
|
10315 .section .text.I2C_DMAAbort,"ax",%progbits
|
|
|
10316 .align 1
|
|
|
10317 .syntax unified
|
|
|
10318 .code 16
|
|
|
10319 .thumb_func
|
|
|
10320 .fpu softvfp
|
|
|
10322 I2C_DMAAbort:
|
|
|
10323 .LFB103:
|
|
|
4450:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
|
|
|
10324 .loc 1 4450 0
|
|
|
10325 .cfi_startproc
|
|
|
10326 @ args = 0, pretend = 0, frame = 0
|
|
|
10327 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10328 .LVL952:
|
|
|
10329 0000 10B5 push {r4, lr}
|
|
|
10330 .LCFI72:
|
|
|
10331 .cfi_def_cfa_offset 8
|
|
|
10332 .cfi_offset 4, -8
|
|
|
10333 .cfi_offset 14, -4
|
|
|
4451:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10334 .loc 1 4451 0
|
|
|
10335 0002 806A ldr r0, [r0, #40]
|
|
|
10336 .LVL953:
|
|
|
4454:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10337 .loc 1 4454 0
|
|
|
10338 0004 0268 ldr r2, [r0]
|
|
|
10339 0006 5168 ldr r1, [r2, #4]
|
|
|
10340 0008 8023 movs r3, #128
|
|
|
10341 000a 1B02 lsls r3, r3, #8
|
|
|
10342 000c 0B43 orrs r3, r1
|
|
|
10343 000e 5360 str r3, [r2, #4]
|
|
|
4457:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
|
|
|
10344 .loc 1 4457 0
|
|
|
10345 0010 826B ldr r2, [r0, #56]
|
|
|
10346 0012 0023 movs r3, #0
|
|
|
10347 0014 9363 str r3, [r2, #56]
|
|
|
4458:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10348 .loc 1 4458 0
|
|
|
10349 0016 C26B ldr r2, [r0, #60]
|
|
|
10350 0018 9363 str r3, [r2, #56]
|
|
|
4461:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** {
|
|
|
10351 .loc 1 4461 0
|
|
|
10352 001a 4133 adds r3, r3, #65
|
|
|
10353 001c C35C ldrb r3, [r0, r3]
|
|
|
10354 001e 602B cmp r3, #96
|
|
|
10355 0020 02D0 beq .L704
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 293
|
|
|
|
|
|
|
|
|
4471:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10356 .loc 1 4471 0
|
|
|
10357 0022 FFF7FEFF bl HAL_I2C_ErrorCallback
|
|
|
10358 .LVL954:
|
|
|
10359 .L701:
|
|
|
4473:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10360 .loc 1 4473 0
|
|
|
10361 @ sp needed
|
|
|
10362 0026 10BD pop {r4, pc}
|
|
|
10363 .LVL955:
|
|
|
10364 .L704:
|
|
|
4463:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10365 .loc 1 4463 0
|
|
|
10366 0028 1F3B subs r3, r3, #31
|
|
|
10367 002a 2022 movs r2, #32
|
|
|
10368 002c C254 strb r2, [r0, r3]
|
|
|
4466:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10369 .loc 1 4466 0
|
|
|
10370 002e FFF7FEFF bl HAL_I2C_AbortCpltCallback
|
|
|
10371 .LVL956:
|
|
|
10372 0032 F8E7 b .L701
|
|
|
10373 .cfi_endproc
|
|
|
10374 .LFE103:
|
|
|
10376 .section .text.HAL_I2C_GetState,"ax",%progbits
|
|
|
10377 .align 1
|
|
|
10378 .global HAL_I2C_GetState
|
|
|
10379 .syntax unified
|
|
|
10380 .code 16
|
|
|
10381 .thumb_func
|
|
|
10382 .fpu softvfp
|
|
|
10384 HAL_I2C_GetState:
|
|
|
10385 .LFB81:
|
|
|
3225:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** /* Return I2C handle state */
|
|
|
10386 .loc 1 3225 0
|
|
|
10387 .cfi_startproc
|
|
|
10388 @ args = 0, pretend = 0, frame = 0
|
|
|
10389 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10390 @ link register save eliminated.
|
|
|
10391 .LVL957:
|
|
|
3227:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10392 .loc 1 3227 0
|
|
|
10393 0000 4123 movs r3, #65
|
|
|
10394 0002 C05C ldrb r0, [r0, r3]
|
|
|
10395 .LVL958:
|
|
|
10396 0004 C0B2 uxtb r0, r0
|
|
|
3228:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10397 .loc 1 3228 0
|
|
|
10398 @ sp needed
|
|
|
10399 0006 7047 bx lr
|
|
|
10400 .cfi_endproc
|
|
|
10401 .LFE81:
|
|
|
10403 .section .text.HAL_I2C_GetMode,"ax",%progbits
|
|
|
10404 .align 1
|
|
|
10405 .global HAL_I2C_GetMode
|
|
|
10406 .syntax unified
|
|
|
10407 .code 16
|
|
|
10408 .thumb_func
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 294
|
|
|
|
|
|
|
|
|
10409 .fpu softvfp
|
|
|
10411 HAL_I2C_GetMode:
|
|
|
10412 .LFB82:
|
|
|
3237:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return hi2c->Mode;
|
|
|
10413 .loc 1 3237 0
|
|
|
10414 .cfi_startproc
|
|
|
10415 @ args = 0, pretend = 0, frame = 0
|
|
|
10416 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10417 @ link register save eliminated.
|
|
|
10418 .LVL959:
|
|
|
3238:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10419 .loc 1 3238 0
|
|
|
10420 0000 4223 movs r3, #66
|
|
|
10421 0002 C05C ldrb r0, [r0, r3]
|
|
|
10422 .LVL960:
|
|
|
10423 0004 C0B2 uxtb r0, r0
|
|
|
3239:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10424 .loc 1 3239 0
|
|
|
10425 @ sp needed
|
|
|
10426 0006 7047 bx lr
|
|
|
10427 .cfi_endproc
|
|
|
10428 .LFE82:
|
|
|
10430 .section .text.HAL_I2C_GetError,"ax",%progbits
|
|
|
10431 .align 1
|
|
|
10432 .global HAL_I2C_GetError
|
|
|
10433 .syntax unified
|
|
|
10434 .code 16
|
|
|
10435 .thumb_func
|
|
|
10436 .fpu softvfp
|
|
|
10438 HAL_I2C_GetError:
|
|
|
10439 .LFB83:
|
|
|
3248:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** return hi2c->ErrorCode;
|
|
|
10440 .loc 1 3248 0
|
|
|
10441 .cfi_startproc
|
|
|
10442 @ args = 0, pretend = 0, frame = 0
|
|
|
10443 @ frame_needed = 0, uses_anonymous_args = 0
|
|
|
10444 @ link register save eliminated.
|
|
|
10445 .LVL961:
|
|
|
3249:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c **** }
|
|
|
10446 .loc 1 3249 0
|
|
|
10447 0000 406C ldr r0, [r0, #68]
|
|
|
10448 .LVL962:
|
|
|
3250:./Drivers/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_i2c.c ****
|
|
|
10449 .loc 1 3250 0
|
|
|
10450 @ sp needed
|
|
|
10451 0002 7047 bx lr
|
|
|
10452 .cfi_endproc
|
|
|
10453 .LFE83:
|
|
|
10455 .section .rodata.HAL_I2C_Mem_Read.str1.4,"aMS",%progbits,1
|
|
|
10456 .align 2
|
|
|
10457 .LC38:
|
|
|
10458 0000 42616420 .ascii "Bad pData or Size=0\015\012\000"
|
|
|
10458 70446174
|
|
|
10458 61206F72
|
|
|
10458 2053697A
|
|
|
10458 653D300D
|
|
|
10459 0016 0000 .space 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 295
|
|
|
|
|
|
|
|
|
10460 .LC40:
|
|
|
10461 0018 54696D65 .ascii "Timeout\015\012\000"
|
|
|
10461 6F75740D
|
|
|
10461 0A00
|
|
|
10462 0022 0000 .space 2
|
|
|
10463 .LC42:
|
|
|
10464 0024 4572726F .ascii "Error in memory read - %d\015\012\000"
|
|
|
10464 7220696E
|
|
|
10464 206D656D
|
|
|
10464 6F727920
|
|
|
10464 72656164
|
|
|
10465 .LC44:
|
|
|
10466 0040 77616974 .ascii "waiting for flag timeout1\015\012\000"
|
|
|
10466 696E6720
|
|
|
10466 666F7220
|
|
|
10466 666C6167
|
|
|
10466 2074696D
|
|
|
10467 .LC46:
|
|
|
10468 005c 77616974 .ascii "waiting for flag timeout2\015\012\000"
|
|
|
10468 696E6720
|
|
|
10468 666F7220
|
|
|
10468 666C6167
|
|
|
10468 2074696D
|
|
|
10469 .LC48:
|
|
|
10470 0078 77616974 .ascii "waiting for stop error %d\015\012\000"
|
|
|
10470 696E6720
|
|
|
10470 666F7220
|
|
|
10470 73746F70
|
|
|
10470 20657272
|
|
|
10471 .LC50:
|
|
|
10472 0094 62757379 .ascii "busy!!\015\012\000"
|
|
|
10472 21210D0A
|
|
|
10472 00
|
|
|
10473 .section .rodata.I2C_RequestMemoryRead.str1.4,"aMS",%progbits,1
|
|
|
10474 .align 2
|
|
|
10475 .LC4:
|
|
|
10476 0000 4932435F .ascii "I2C_RequestMemoryRead error %d\015\012\000"
|
|
|
10476 52657175
|
|
|
10476 6573744D
|
|
|
10476 656D6F72
|
|
|
10476 79526561
|
|
|
10477 0021 000000 .space 3
|
|
|
10478 .LC6:
|
|
|
10479 0024 4932435F .ascii "I2C_RequestMemoryRead error2 %d\015\012\000"
|
|
|
10479 52657175
|
|
|
10479 6573744D
|
|
|
10479 656D6F72
|
|
|
10479 79526561
|
|
|
10480 0046 0000 .space 2
|
|
|
10481 .LC8:
|
|
|
10482 0048 4932435F .ascii "I2C_RequestMemoryRead TIMEOUT\015\012\000"
|
|
|
10482 52657175
|
|
|
10482 6573744D
|
|
|
10482 656D6F72
|
|
|
10482 79526561
|
|
|
10483 .section .rodata.I2C_WaitOnTXISFlagUntilTimeout.str1.4,"aMS",%progbits,1
|
|
|
10484 .align 2
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 296
|
|
|
|
|
|
|
|
|
10485 .LC0:
|
|
|
10486 0000 4932435F .ascii "I2C_WaitOnTXISFlagUntilTimeout ->I2C_IsAcknowledgeF"
|
|
|
10486 57616974
|
|
|
10486 4F6E5458
|
|
|
10486 4953466C
|
|
|
10486 6167556E
|
|
|
10487 0033 61696C65 .ascii "ailed error\015\012\000"
|
|
|
10487 64206572
|
|
|
10487 726F720D
|
|
|
10487 0A00
|
|
|
10488 0041 000000 .space 3
|
|
|
10489 .LC2:
|
|
|
10490 0044 4932435F .ascii "I2C_WaitOnTXISFlagUntilTimeout timeout\015\012\000"
|
|
|
10490 57616974
|
|
|
10490 4F6E5458
|
|
|
10490 4953466C
|
|
|
10490 6167556E
|
|
|
10491 .text
|
|
|
10492 .Letext0:
|
|
|
10493 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
|
|
|
10494 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
|
|
|
10495 .file 4 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/system_stm32l0xx.h"
|
|
|
10496 .file 5 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l073xx.h"
|
|
|
10497 .file 6 "Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l0xx.h"
|
|
|
10498 .file 7 "/usr/arm-none-eabi/include/sys/lock.h"
|
|
|
10499 .file 8 "/usr/arm-none-eabi/include/sys/_types.h"
|
|
|
10500 .file 9 "/usr/lib/gcc/arm-none-eabi/7.2.0/include/stddef.h"
|
|
|
10501 .file 10 "/usr/arm-none-eabi/include/sys/reent.h"
|
|
|
10502 .file 11 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_def.h"
|
|
|
10503 .file 12 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_dma.h"
|
|
|
10504 .file 13 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_i2c.h"
|
|
|
10505 .file 14 "Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h"
|
|
|
10506 .file 15 "Inc/vcom.h"
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 297
|
|
|
|
|
|
|
|
|
DEFINED SYMBOLS
|
|
|
*ABS*:0000000000000000 stm32l0xx_hal_i2c.c
|
|
|
/tmp/ccpuPECZ.s:16 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:22 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt
|
|
|
/tmp/ccpuPECZ.s:38 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:44 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt
|
|
|
/tmp/ccpuPECZ.s:59 .text.I2C_Disable_IRQ:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:65 .text.I2C_Disable_IRQ:0000000000000000 I2C_Disable_IRQ
|
|
|
/tmp/ccpuPECZ.s:186 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:192 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
|
|
|
/tmp/ccpuPECZ.s:321 .text.I2C_IsAcknowledgeFailed:000000000000008c $d
|
|
|
/tmp/ccpuPECZ.s:326 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:332 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
|
|
|
/tmp/ccpuPECZ.s:405 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:411 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
|
|
|
/tmp/ccpuPECZ.s:490 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:496 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
|
|
|
/tmp/ccpuPECZ.s:601 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000074 $d
|
|
|
/tmp/ccpuPECZ.s:606 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:612 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout
|
|
|
/tmp/ccpuPECZ.s:700 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000060 $d
|
|
|
/tmp/ccpuPECZ.s:706 .text.I2C_RequestMemoryWrite:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:712 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
|
|
|
/tmp/ccpuPECZ.s:839 .text.I2C_RequestMemoryWrite:0000000000000090 $d
|
|
|
/tmp/ccpuPECZ.s:845 .text.I2C_RequestMemoryRead:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:851 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
|
|
|
/tmp/ccpuPECZ.s:994 .text.I2C_RequestMemoryRead:00000000000000a8 $d
|
|
|
/tmp/ccpuPECZ.s:1003 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1009 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt
|
|
|
/tmp/ccpuPECZ.s:1142 .text.I2C_DMAMasterTransmitCplt:0000000000000084 $d
|
|
|
/tmp/ccpuPECZ.s:9918 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA
|
|
|
/tmp/ccpuPECZ.s:9229 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA
|
|
|
/tmp/ccpuPECZ.s:1151 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1157 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt
|
|
|
/tmp/ccpuPECZ.s:1290 .text.I2C_DMAMasterReceiveCplt:0000000000000084 $d
|
|
|
/tmp/ccpuPECZ.s:1299 .text.HAL_I2C_MspInit:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1306 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
|
|
|
/tmp/ccpuPECZ.s:1321 .text.HAL_I2C_Init:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1328 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
|
|
|
/tmp/ccpuPECZ.s:1476 .text.HAL_I2C_Init:00000000000000c0 $d
|
|
|
/tmp/ccpuPECZ.s:1483 .text.HAL_I2C_MspDeInit:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1490 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
|
|
|
/tmp/ccpuPECZ.s:1505 .text.HAL_I2C_DeInit:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1512 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
|
|
|
/tmp/ccpuPECZ.s:1572 .text.HAL_I2C_Master_Transmit:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1579 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
|
|
|
/tmp/ccpuPECZ.s:1925 .text.HAL_I2C_Master_Transmit:00000000000001a8 $d
|
|
|
/tmp/ccpuPECZ.s:1934 .text.HAL_I2C_Master_Receive:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:1941 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
|
|
|
/tmp/ccpuPECZ.s:2287 .text.HAL_I2C_Master_Receive:00000000000001a8 $d
|
|
|
/tmp/ccpuPECZ.s:2296 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:2303 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
|
|
|
/tmp/ccpuPECZ.s:2617 .text.HAL_I2C_Slave_Transmit:000000000000019c $d
|
|
|
/tmp/ccpuPECZ.s:2622 .text.HAL_I2C_Slave_Receive:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:2629 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
|
|
|
/tmp/ccpuPECZ.s:2928 .text.HAL_I2C_Slave_Receive:0000000000000188 $d
|
|
|
/tmp/ccpuPECZ.s:2933 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 298
|
|
|
|
|
|
|
|
|
/tmp/ccpuPECZ.s:2940 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
|
|
|
/tmp/ccpuPECZ.s:3113 .text.HAL_I2C_Master_Transmit_IT:00000000000000a8 $d
|
|
|
/tmp/ccpuPECZ.s:9553 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT
|
|
|
/tmp/ccpuPECZ.s:3123 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:3130 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
|
|
|
/tmp/ccpuPECZ.s:3303 .text.HAL_I2C_Master_Receive_IT:00000000000000a8 $d
|
|
|
/tmp/ccpuPECZ.s:3313 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:3320 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
|
|
|
/tmp/ccpuPECZ.s:3417 .text.HAL_I2C_Slave_Transmit_IT:000000000000005c $d
|
|
|
/tmp/ccpuPECZ.s:8805 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT
|
|
|
/tmp/ccpuPECZ.s:3424 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:3431 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
|
|
|
/tmp/ccpuPECZ.s:3528 .text.HAL_I2C_Slave_Receive_IT:000000000000005c $d
|
|
|
/tmp/ccpuPECZ.s:3535 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:3542 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
|
|
|
/tmp/ccpuPECZ.s:3830 .text.HAL_I2C_Master_Transmit_DMA:0000000000000138 $d
|
|
|
/tmp/ccpuPECZ.s:10181 .text.I2C_DMAError:0000000000000000 I2C_DMAError
|
|
|
/tmp/ccpuPECZ.s:3843 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:3850 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
|
|
|
/tmp/ccpuPECZ.s:4137 .text.HAL_I2C_Master_Receive_DMA:0000000000000138 $d
|
|
|
/tmp/ccpuPECZ.s:4150 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:4157 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
|
|
|
/tmp/ccpuPECZ.s:4299 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000098 $d
|
|
|
/tmp/ccpuPECZ.s:4308 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:4315 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
|
|
|
/tmp/ccpuPECZ.s:4460 .text.HAL_I2C_Slave_Receive_DMA:000000000000009c $d
|
|
|
/tmp/ccpuPECZ.s:4469 .text.HAL_I2C_Mem_Write:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:4476 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
|
|
|
/tmp/ccpuPECZ.s:4886 .text.HAL_I2C_Mem_Write:0000000000000200 $d
|
|
|
/tmp/ccpuPECZ.s:4892 .text.HAL_I2C_Mem_Read:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:4899 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
|
|
|
/tmp/ccpuPECZ.s:5320 .text.HAL_I2C_Mem_Read:0000000000000218 $d
|
|
|
/tmp/ccpuPECZ.s:5336 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:5343 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
|
|
|
/tmp/ccpuPECZ.s:5602 .text.HAL_I2C_Mem_Write_IT:0000000000000118 $d
|
|
|
/tmp/ccpuPECZ.s:5611 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:5618 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
|
|
|
/tmp/ccpuPECZ.s:5881 .text.HAL_I2C_Mem_Read_IT:0000000000000120 $d
|
|
|
/tmp/ccpuPECZ.s:5891 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:5898 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
|
|
|
/tmp/ccpuPECZ.s:6183 .text.HAL_I2C_Mem_Write_DMA:0000000000000150 $d
|
|
|
/tmp/ccpuPECZ.s:6193 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:6200 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
|
|
|
/tmp/ccpuPECZ.s:6487 .text.HAL_I2C_Mem_Read_DMA:0000000000000154 $d
|
|
|
/tmp/ccpuPECZ.s:6498 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:6505 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
|
|
|
/tmp/ccpuPECZ.s:6781 .text.HAL_I2C_IsDeviceReady:0000000000000154 $d
|
|
|
/tmp/ccpuPECZ.s:6786 .text.HAL_I2C_Master_Sequential_Transmit_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:6793 .text.HAL_I2C_Master_Sequential_Transmit_IT:0000000000000000 HAL_I2C_Master_Sequential_Transmit_IT
|
|
|
/tmp/ccpuPECZ.s:6982 .text.HAL_I2C_Master_Sequential_Transmit_IT:00000000000000bc $d
|
|
|
/tmp/ccpuPECZ.s:6991 .text.HAL_I2C_Master_Sequential_Receive_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:6998 .text.HAL_I2C_Master_Sequential_Receive_IT:0000000000000000 HAL_I2C_Master_Sequential_Receive_IT
|
|
|
/tmp/ccpuPECZ.s:7187 .text.HAL_I2C_Master_Sequential_Receive_IT:00000000000000bc $d
|
|
|
/tmp/ccpuPECZ.s:7196 .text.HAL_I2C_Slave_Sequential_Transmit_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7203 .text.HAL_I2C_Slave_Sequential_Transmit_IT:0000000000000000 HAL_I2C_Slave_Sequential_Transmit_IT
|
|
|
/tmp/ccpuPECZ.s:7376 .text.HAL_I2C_Slave_Sequential_Transmit_IT:00000000000000b4 $d
|
|
|
/tmp/ccpuPECZ.s:7384 .text.HAL_I2C_Slave_Sequential_Receive_IT:0000000000000000 $t
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 299
|
|
|
|
|
|
|
|
|
/tmp/ccpuPECZ.s:7391 .text.HAL_I2C_Slave_Sequential_Receive_IT:0000000000000000 HAL_I2C_Slave_Sequential_Receive_IT
|
|
|
/tmp/ccpuPECZ.s:7564 .text.HAL_I2C_Slave_Sequential_Receive_IT:00000000000000b4 $d
|
|
|
/tmp/ccpuPECZ.s:7572 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7579 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
|
|
|
/tmp/ccpuPECZ.s:7627 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d
|
|
|
/tmp/ccpuPECZ.s:7632 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7639 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
|
|
|
/tmp/ccpuPECZ.s:7698 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7705 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
|
|
|
/tmp/ccpuPECZ.s:7828 .text.HAL_I2C_Master_Abort_IT:0000000000000074 $d
|
|
|
/tmp/ccpuPECZ.s:7836 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7843 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
|
|
|
/tmp/ccpuPECZ.s:7877 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7884 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:7899 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7906 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:7921 .text.I2C_ITMasterSequentialCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:7927 .text.I2C_ITMasterSequentialCplt:0000000000000000 I2C_ITMasterSequentialCplt
|
|
|
/tmp/ccpuPECZ.s:8005 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8012 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8027 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8034 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8049 .text.I2C_ITSlaveSequentialCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8055 .text.I2C_ITSlaveSequentialCplt:0000000000000000 I2C_ITSlaveSequentialCplt
|
|
|
/tmp/ccpuPECZ.s:8137 .text.HAL_I2C_AddrCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8144 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
|
|
|
/tmp/ccpuPECZ.s:8159 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8166 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8181 .text.I2C_ITListenCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8187 .text.I2C_ITListenCplt:0000000000000000 I2C_ITListenCplt
|
|
|
/tmp/ccpuPECZ.s:8269 .text.I2C_ITListenCplt:0000000000000060 $d
|
|
|
/tmp/ccpuPECZ.s:8274 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8281 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8296 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8303 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8318 .text.HAL_I2C_ErrorCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8325 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
|
|
|
/tmp/ccpuPECZ.s:8340 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8347 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
|
|
|
/tmp/ccpuPECZ.s:8362 .text.I2C_ITError:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8368 .text.I2C_ITError:0000000000000000 I2C_ITError
|
|
|
/tmp/ccpuPECZ.s:8548 .text.I2C_ITError:00000000000000e4 $d
|
|
|
/tmp/ccpuPECZ.s:10322 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
|
|
|
/tmp/ccpuPECZ.s:8557 .text.I2C_ITSlaveCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:8563 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt
|
|
|
/tmp/ccpuPECZ.s:8793 .text.I2C_ITSlaveCplt:0000000000000124 $d
|
|
|
/tmp/ccpuPECZ.s:8799 .text.I2C_Slave_ISR_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:9218 .text.I2C_Slave_ISR_IT:00000000000001fc $d
|
|
|
/tmp/ccpuPECZ.s:9223 .text.I2C_Slave_ISR_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:9354 .text.I2C_ITMasterCplt:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:9360 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt
|
|
|
/tmp/ccpuPECZ.s:9541 .text.I2C_ITMasterCplt:00000000000000e0 $d
|
|
|
/tmp/ccpuPECZ.s:9547 .text.I2C_Master_ISR_IT:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:9906 .text.I2C_Master_ISR_IT:00000000000001a0 $d
|
|
|
/tmp/ccpuPECZ.s:9912 .text.I2C_Master_ISR_DMA:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10168 .text.I2C_Master_ISR_DMA:0000000000000110 $d
|
|
|
/tmp/ccpuPECZ.s:10175 .text.I2C_DMAError:0000000000000000 $t
|
|
|
ARM GAS /tmp/ccpuPECZ.s page 300
|
|
|
|
|
|
|
|
|
/tmp/ccpuPECZ.s:10214 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10221 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
|
|
|
/tmp/ccpuPECZ.s:10316 .text.I2C_DMAAbort:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10377 .text.HAL_I2C_GetState:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10384 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
|
|
|
/tmp/ccpuPECZ.s:10404 .text.HAL_I2C_GetMode:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10411 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
|
|
|
/tmp/ccpuPECZ.s:10431 .text.HAL_I2C_GetError:0000000000000000 $t
|
|
|
/tmp/ccpuPECZ.s:10438 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError
|
|
|
/tmp/ccpuPECZ.s:10456 .rodata.HAL_I2C_Mem_Read.str1.4:0000000000000000 $d
|
|
|
/tmp/ccpuPECZ.s:10474 .rodata.I2C_RequestMemoryRead.str1.4:0000000000000000 $d
|
|
|
/tmp/ccpuPECZ.s:10484 .rodata.I2C_WaitOnTXISFlagUntilTimeout.str1.4:0000000000000000 $d
|
|
|
.debug_frame:0000000000000010 $d
|
|
|
|
|
|
UNDEFINED SYMBOLS
|
|
|
HAL_GetTick
|
|
|
vcom_Send
|
|
|
HAL_DMA_Start_IT
|
|
|
HAL_DMA_Abort_IT
|
|
|
|