ARM GAS /tmp/ccywxtmH.s page 1
1 .cpu cortex-m4
2 .arch armv7e-m
3 .fpu fpv4-sp-d16
4 .eabi_attribute 27, 1
5 .eabi_attribute 28, 1
6 .eabi_attribute 20, 1
7 .eabi_attribute 21, 1
8 .eabi_attribute 23, 3
9 .eabi_attribute 24, 1
10 .eabi_attribute 25, 1
11 .eabi_attribute 26, 1
12 .eabi_attribute 30, 1
13 .eabi_attribute 34, 1
14 .eabi_attribute 18, 4
15 .file "stm32f3xx_hal_spi.c"
16 .text
17 .Ltext0:
18 .cfi_sections .debug_frame
19 .file 1 "Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c"
20 .section .text.SPI_WaitFlagStateUntilTimeout,"ax",%progbits
21 .align 1
22 .syntax unified
23 .thumb
24 .thumb_func
26 SPI_WaitFlagStateUntilTimeout:
27 .LVL0:
28 .LFB177:
1:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ******************************************************************************
3:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @file stm32f3xx_hal_spi.c
4:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @author MCD Application Team
5:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI HAL module driver.
6:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * functionalities of the Serial Peripheral Interface (SPI) peripheral:
8:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * + IO operation functions
10:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * + Peripheral Control functions
11:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * + Peripheral State functions
12:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
13:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### How to use this driver #####
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The SPI HAL driver can be used as follows:
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Declare a SPI_HandleTypeDef handle structure, for example:
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef hspi;
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API:
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Enable the SPIx interface clock
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) SPI pins configuration
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the clock for the SPI GPIOs
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure these SPI pins as alternate function push-pull
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) NVIC configuration if you need to use interrupt process
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the SPIx interrupt priority
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the NVIC SPI IRQ handle
ARM GAS /tmp/ccywxtmH.s page 2
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) DMA Configuration if you need to use DMA process
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the DMAx clock
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the DMA handle parameters
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the DMA Tx or Rx Stream/Channel
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Associate the initialized hdma_tx(or _rx) handle to the hspi DMA Tx or Rx hand
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Initialize the SPI registers by calling the HAL_SPI_Init() API:
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc)
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** by calling the customized HAL_SPI_MspInit() API.
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
46:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Circular mode restriction:
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The DMA circular mode cannot be used when the SPI is configured in these modes:
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Master 2Lines RxOnly
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Master 1Line Rx
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The CRC feature is not managed when the DMA circular mode is enabled
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) When the SPI DMA Pause/Stop features are used, we must use the following APIs
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_DMAPause()/ HAL_SPI_DMAStop() only under the SPI callbacks
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Master Receive mode restriction:
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=1) or
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** does not initiate a new transfer the following procedure has to be respected:
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) HAL_SPI_DeInit()
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) HAL_SPI_Init()
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Callback registration:
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1U
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** allows the user to configure dynamically the driver callbacks.
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback.
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Function HAL_SPI_RegisterCallback() allows to register following callbacks:
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and a pointer to the user callback function.
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** weak function.
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle,
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and the Callback ID.
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This function allows to reset following callbacks:
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
ARM GAS /tmp/ccywxtmH.s page 3
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** all callbacks are set to the corresponding weak functions:
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback().
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Exception done for MspInit and MspDeInit functions that are
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** reset to the legacy weak functions in the HAL_SPI_Init()/ HAL_SPI_DeInit() only when
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** these callbacks are null (not registered beforehand).
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit()
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state
107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only.
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state,
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit()
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** or HAL_SPI_Init() function.
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** When the compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** not defined, the callback registering feature is not available
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and weak (surcharged) callbacks are used.
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Using the HAL it is not possible to reach all supported SPI frequency with the different SPI
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the following table resume the max SPI frequency reached with data size 8bits/16bits,
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** according to frequency of the APBx Peripheral Clock (fPCLK) used by the SPI instance.
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Additional table :
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** DataSize = SPI_DATASIZE_8BIT:
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|-------------------
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |===========================================================================================
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Polling | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/16 | NA | NA | NA | NA
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/4 | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
ARM GAS /tmp/ccywxtmH.s page 4
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/8 | Fpclk/
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/4 | Fpclk/2 | Fpclk/2 | Fpclk/16 | Fpclk/2 | Fpclk/
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/8 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/16 | Fpclk/
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** DataSize = SPI_DATASIZE_16BIT:
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|-------------------
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |===========================================================================================
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Polling | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/16 | NA | NA | NA | NA
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/4 | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/8 | Fpclk/
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/4 | Fpclk/2 | Fpclk/2 | Fpclk/16 | Fpclk/2 | Fpclk/
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/8 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/16 | Fpclk/
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @note The max SPI frequency depend on SPI data size (4bits, 5bits,..., 8bits,...15bits, 16bi
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI mode(2 Lines fullduplex, 2 lines RxOnly, 1 line TX/RX) and Process mode (Polling,
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @note
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) TX/RX processes are HAL_SPI_TransmitReceive(), HAL_SPI_TransmitReceive_IT() and HAL
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) RX processes are HAL_SPI_Receive(), HAL_SPI_Receive_IT() and HAL_SPI_Receive_DMA()
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) TX processes are HAL_SPI_Transmit(), HAL_SPI_Transmit_IT() and HAL_SPI_Transmit_DMA
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ******************************************************************************
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @attention
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
© Copyright (c) 2016 STMicroelectronics.
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * All rights reserved.
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This software component is licensed by ST under BSD 3-Clause license,
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the "License"; You may not use this file except in compliance with the
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * License. You may obtain a copy of the License at:
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * opensource.org/licenses/BSD-3-Clause
197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ******************************************************************************
199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Includes ------------------------------------------------------------------*/
ARM GAS /tmp/ccywxtmH.s page 5
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #include "stm32f3xx_hal.h"
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup STM32F3xx_HAL_Driver
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI SPI
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI HAL module driver
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100U
220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private macros ------------------------------------------------------------*/
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma);
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma);
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma);
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma);
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma);
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma);
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart);
242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart);
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi);
ARM GAS /tmp/ccywxtmH.s page 6
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi);
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi);
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi);
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi);
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t T
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Exported functions --------------------------------------------------------*/
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Initialization and Configuration functions
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### Initialization and de-initialization functions #####
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..] This subsection provides a set of functions allowing to initialize and
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** de-initialize the SPIx peripheral:
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) User must implement HAL_SPI_MspInit() function in which he configures
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) Call the function HAL_SPI_Init() to configure the selected device with
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the selected configuration:
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Mode
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Direction
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Data Size
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Clock Polarity and Phase
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) NSS Management
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) BaudRate Prescaler
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) FirstBit
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TIMode
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Calculation
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Polynomial if CRC enabled
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Length, used only with Data8 and Data16
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) FIFO reception threshold
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) Call the function HAL_SPI_DeInit() to restore the default configuration
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** of the selected SPIx peripheral.
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Initialize the SPI according to the specified parameters
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * in the SPI_InitTypeDef and initialize the associated handle.
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
ARM GAS /tmp/ccywxtmH.s page 7
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi == NULL)
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the parameters */
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity));
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Force polarity and phase to TI protocaol requirements */
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPolarity = SPI_POLARITY_LOW;
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation));
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial));
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength));
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_RESET)
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Allocate lock resource and initialize it */
ARM GAS /tmp/ccywxtmH.s page 8
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Lock = HAL_UNLOCKED;
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the SPI Callback settings */
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->MspInitCallback == NULL)
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit */
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback(hspi);
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_MspInit(hspi);
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the selected SPI peripheral */
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Align by default the rs fifo threshold on the data size */
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** frxth = SPI_RXFIFO_THRESHOLD_HF;
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** frxth = SPI_RXFIFO_THRESHOLD_QF;
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC calculation is valid only for 16Bit and 8 Bit */
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize != SPI_DATASIZE_16BIT) && (hspi->Init.DataSize != SPI_DATASIZE_8BIT))
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC must be disabled */
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management,
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Communication speed, First bit and CRC calculation state */
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) |
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) |
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CLKPolarity & SPI_CR1_CPOL) |
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CLKPhase & SPI_CR1_CPHA) |
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.NSS & SPI_CR1_SSM) |
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.BaudRatePrescaler & SPI_CR1_BR_Msk) |
ARM GAS /tmp/ccywxtmH.s page 9
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.FirstBit & SPI_CR1_LSBFIRST) |
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CRCCalculation & SPI_CR1_CRCEN)));
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*---------------------------- SPIx CRCL Configuration -------------------*/
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Align the CRC Length on the data size */
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_DATASIZE)
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC Length aligned on the data size : value set by default */
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCLength = SPI_CRC_LENGTH_16BIT;
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCLength = SPI_CRC_LENGTH_8BIT;
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : CRC Length */
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCL);
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : NSS management, TI Mode, NSS Pulse, Data size and Rx Fifo threshold */
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) |
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.TIMode & SPI_CR2_FRF) |
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.NSSPMode & SPI_CR2_NSSP) |
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.DataSize & SPI_CR2_DS_Msk) |
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (frxth & SPI_CR2_FRXTH)));
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration ------------------*/
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : CRC Polynomial */
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPR, (hspi->Init.CRCPolynomial & SPI_CRCPR_CRCPOLY_Msk));
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD)
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD);
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief De-Initialize the SPI peripheral.
ARM GAS /tmp/ccywxtmH.s page 10
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi == NULL)
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check SPI Instance parameter */
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI Peripheral Clock */
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->MspDeInitCallback == NULL)
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit */
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback(hspi);
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_MspDeInit(hspi);
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Initialize the SPI MSP.
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_MspInit should be implemented in the user file
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 11
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief De-Initialize the SPI MSP.
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_MspDeInit should be implemented in the user file
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Register a User SPI Callback
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * To be used instead of the weak predefined callback
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI.
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param CallbackID ID of the callback to be registered
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pCallback pointer to the Callback function
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** pSPI_CallbackTypeDef pCallback)
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (pCallback == NULL)
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK;
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = pCallback;
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = pCallback;
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = pCallback;
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
ARM GAS /tmp/ccywxtmH.s page 12
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = pCallback;
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = pCallback;
608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = pCallback;
612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = pCallback;
616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = pCallback;
620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
ARM GAS /tmp/ccywxtmH.s page 13
658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return status;
672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Unregister an SPI Callback
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * SPI callback is redirected to the weak predefined callback
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI.
679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param CallbackID ID of the callback to be unregistered
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallbac
707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallbac
711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb
ARM GAS /tmp/ccywxtmH.s page 14
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 15
772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return status;
775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions
782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Data transfers functions
783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### IO operation functions #####
787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This subsection provides a set of functions allowing to manage the SPI
790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** data transfers.
791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..] The SPI supports master and slave mode :
793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) There are two modes of transfer:
795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Blocking mode: The communication is performed in polling mode.
796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL status of all data processing is returned by the same function
797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** after finishing transfer.
798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) No-Blocking mode: The communication is performed using Interrupts
799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** or DMA, These APIs return the HAL status.
800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The end of the data processing will be indicated through the
801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when
802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** using DMA mode.
803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u
804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will be executed respectively at the end of the transmit or Receive process
805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is
806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either I
808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** exist for 1Line (simplex) and 2Lines (full duplex) modes.
809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit an amount of data in blocking mode.
816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 16
829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
ARM GAS /tmp/ccywxtmH.s page 17
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* write on the data register in packing mode */
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
ARM GAS /tmp/ccywxtmH.s page 18
943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* write on the data register in packing mode */
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccywxtmH.s page 19
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Receive an amount of data in blocking mode.
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be received
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES))
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout);
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
1030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 20
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* this is done to handle the CRCNEXT before the latest data */
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the Rx Fifo threshold */
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction: 1Line */
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 8 Bit mode */
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transfer loop */
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the RXNE flag */
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* read the received data */
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
ARM GAS /tmp/ccywxtmH.s page 21
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transfer loop */
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the RXNE flag */
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Handle the CRC Transmission */
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* freeze the CRC before the latest data */
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read the latest data */
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* the latest data has not been received */
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive last data in 16 Bit mode */
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive last data in 8 Bit mode */
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait the CRC data */
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
ARM GAS /tmp/ccywxtmH.s page 22
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16B
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
ARM GAS /tmp/ccywxtmH.s page 23
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in blocking mode.
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent and received
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxDa
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout)
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_RxXferCount;
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t spi_cr1;
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t spi_cr2;
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Variable used to alternate Rx and Tx during transfer */
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t txallowed = 1U;
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_RxXferCount = Size;
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** spi_cr1 = READ_REG(hspi->Instance->CR1);
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** spi_cr2 = READ_REG(hspi->Instance->CR2);
ARM GAS /tmp/ccywxtmH.s page 24
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the Rx Fifo threshold */
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (initial_RxXferCount > 1U))
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 16bit */
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 8bit */
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 25
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit and Receive data in 16 Bit mode */
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXE flag */
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 0U;
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((READ_BIT(spi_cr1, SPI_CR1_MSTR) == 0U) && (READ_BIT(spi_cr2, SPI_CR2_NSSP) == SPI_CR
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNE flag */
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 1U;
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY))
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit and Receive data in 8 Bit mode */
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 26
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXE flag */
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 0U;
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((READ_BIT(spi_cr1, SPI_CR1_MSTR) == 0U) && (READ_BIT(spi_cr2, SPI_CR2_NSSP) == SPI_CR
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until RXNE flag is reset */
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount > 1U)
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
ARM GAS /tmp/ccywxtmH.s page 27
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold before to switch on 8 bit data size */
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 1U;
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout =
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC from DR to close CRC calculation process */
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag */
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC */
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
ARM GAS /tmp/ccywxtmH.s page 28
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear CRC Flag */
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with Interrupt.
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
ARM GAS /tmp/ccywxtmH.s page 29
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the function for IT treatment */
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
ARM GAS /tmp/ccywxtmH.s page 30
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with Interrupt.
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size);
1651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the data size to adapt Rx threshold and the set the function for IT treatment */
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 31
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16 bit */
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8 bit */
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 1U;
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 2U;
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 0U;
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Note : The SPI must be enabled after unlocking current process
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** to avoid the risk of SPI interrupt handle execution before current
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** process unlock */
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccywxtmH.s page 32
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt.
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent and received
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pR
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the function for IT treatment */
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BIT;
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
ARM GAS /tmp/ccywxtmH.s page 33
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BIT;
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 1U;
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 2U;
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 0U;
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if packing mode is enabled and if there is more than 2 data to receive */
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (Size >= 2U))
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16 bit */
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8 bit */
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with DMA.
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
ARM GAS /tmp/ccywxtmH.s page 34
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check tx dma handle */
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
ARM GAS /tmp/ccywxtmH.s page 35
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI TxDMA Half transfer complete callback */
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt;
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI TxDMA transfer complete callback */
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt;
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError;
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode is enabled only if the DMA setting is HALWORD */
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmatx->Init.MemDataAlignment == DMA_MDA
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the even/odd of the data size + crc if enabled */
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount & 0x1U) == 0U)
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U);
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Tx DMA Request */
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
ARM GAS /tmp/ccywxtmH.s page 36
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with DMA.
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note In case of MASTER mode and SPI_DIRECTION_2LINES direction, hdmatx shall be defined.
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When the CRC feature is enabled the pData Length must be Size + 1.
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check rx dma handle */
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check tx dma handle */
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size);
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
ARM GAS /tmp/ccywxtmH.s page 37
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount & 0x1U) == 0x0U)
2072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 38
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI RxDMA Half transfer complete callback */
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Rx DMA transfer complete callback */
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Rx DMA Request */
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with DMA.
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When the CRC feature is enabled the pRxData Length must be Size + 1
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *p
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t Size)
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 39
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check rx & tx dma handles */
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) ||
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
ARM GAS /tmp/ccywxtmH.s page 40
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset the threshold bit */
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX | SPI_CR2_LDMARX);
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The packing mode management is enabled by the DMA settings according the spi data size */
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 16bit */
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferSize & 0x1U) == 0x0U)
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = hspi->TxXferCount >> 1U;
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount & 0x1U) == 0x0U)
2242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
2245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
2250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 41
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback *
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Rx DMA Half transfer complete callback */
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Tx/Rx DMA Half transfer complete callback */
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt;
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Rx DMA Request */
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** is performed in DMA reception complete callback */
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = NULL;
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 42
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Tx DMA Request */
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Abort ongoing transfer (blocking mode).
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * started in Interrupt or DMA mode.
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This procedure performs following operations :
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Set handle State to READY
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi)
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialized local variable */
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_OK;
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
ARM GAS /tmp/ccywxtmH.s page 43
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK)
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN));
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
ARM GAS /tmp/ccywxtmH.s page 44
2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK)
2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable peripheral */
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick
2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
2450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx DMA Request */
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN));
2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check error during Abort procedure */
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear the Error flags in the SR register */
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->state to ready */
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
ARM GAS /tmp/ccywxtmH.s page 45
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Abort ongoing transfer (Interrupt mode).
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * started in Interrupt or DMA mode.
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This procedure performs following operations :
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Set handle State to READY
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - At abort completion, call user abort complete callback
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * considered as completed only when user abort complete callback is executed (not when ex
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi)
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t abortcplt ;
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialized local variable */
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_OK;
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Change Rx and Tx Irq Handler to Disable TXEIE, RXNEIE and ERRIE interrupts */
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 46
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks sho
2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** before any call to DMA Abort functions */
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Tx Handle is valid */
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Otherwise, set it to NULL */
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback;
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Rx Handle is valid */
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Otherwise, set it to NULL */
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback;
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel */
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK)
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 0U;
ARM GAS /tmp/ccywxtmH.s page 47
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel */
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK)
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 0U;
2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (abortcplt == 1U)
2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check error during Abort procedure */
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear the Error flags in the SR register */
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 48
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Pause the DMA Transfer.
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Resume the DMA Transfer.
2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI DMA Tx & Rx requests */
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Stop the DMA Transfer.
2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** to call the HAL SPI API under callbacks HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() o
2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and the correspond call back is executed HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback()
2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA tx Stream/Channel */
ARM GAS /tmp/ccywxtmH.s page 49
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmatx))
2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA rx Stream/Channel */
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmarx))
2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI interrupt request.
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in mode Receiver ----------------------------------------------------*/
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) == RESET) &&
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR(hspi);
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in mode Transmitter -------------------------------------------------*/
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_TXE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_TXE)
2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR(hspi);
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in Error Treatment --------------------------------------------------*/
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET) || (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) !=
2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Overrun error interrupt occurred ----------------------------------*/
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != RESET)
2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 50
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_TX)
2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET)
2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)
2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE);
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable all interrupts */
2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_ERR);
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((HAL_IS_BIT_SET(itsource, SPI_CR2_TXDMAEN)) || (HAL_IS_BIT_SET(itsource, SPI_CR2_RXDMAEN)
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN));
2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx channel */
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError;
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx channel */
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError;
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
ARM GAS /tmp/ccywxtmH.s page 51
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx Transfer completed callback.
2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxCpltCallback should be implemented in the user file
2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx Transfer completed callback.
2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_RxCpltCallback should be implemented in the user file
2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx and Rx Transfer completed callback.
2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 52
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxRxCpltCallback should be implemented in the user file
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx Half Transfer completed callback.
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxHalfCpltCallback should be implemented in the user file
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx Half Transfer completed callback.
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file
2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx and Rx Half Transfer callback.
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file
2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccywxtmH.s page 53
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI error callback.
2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_ErrorCallback should be implemented in the user file
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes
2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and user can use HAL_SPI_GetError() API to check the latest error occurred
2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI Abort Complete callback.
2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi)
2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_AbortCpltCallback can be implemented in the user file.
2968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI control functions
2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### Peripheral State and Errors functions #####
2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This subsection provides a set of functions allowing to control the SPI.
2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral
2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) HAL_SPI_GetError() check in run-time Errors occurring during communication
2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
2987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
2988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Return the SPI handle state.
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval SPI state
ARM GAS /tmp/ccywxtmH.s page 54
2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi)
2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI handle state */
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return hspi->State;
3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Return the SPI error code.
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval SPI error code in bitmap format
3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi)
3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI ErrorCode */
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return hspi->ErrorCode;
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
3016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions
3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Private functions
3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI transmit process complete callback.
3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
ARM GAS /tmp/ccywxtmH.s page 55
3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received data is not read */
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Tx complete callback */
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI receive process complete callback.
3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 56
3109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC handling */
3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until RXNE flag */
3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) !
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC */
3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstar
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if we are in Master RX 2 line mode */
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx/Tx DMA Request (done by default to handle the case master rx direction 2 lines)
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Normal case */
3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
3162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
ARM GAS /tmp/ccywxtmH.s page 57
3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI transmit receive process complete callback.
3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 58
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC handling */
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_8BI
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_QUARTER_FULL, SPI_DEFAULT
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart) != HAL_OK)
3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_HALF_FULL, SPI_DEFAULT_TI
3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx/Tx DMA Request */
3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 59
3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half transmit process complete callback.
3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma)
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Tx half complete callback */
3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback(hspi);
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxHalfCpltCallback(hspi);
3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half receive process complete callback
3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma)
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx half complete callback */
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback(hspi);
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxHalfCpltCallback(hspi);
3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 60
3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half transmit receive process complete callback.
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx half complete callback */
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback(hspi);
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxHalfCpltCallback(hspi);
3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI communication error callback.
3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma)
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Stop the disable DMA transfer on SPI side */
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI communication abort callback, when initiated by HAL services on Error
3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
ARM GAS /tmp/ccywxtmH.s page 61
3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI Tx communication abort callback, when initiated by user
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * Abort still ongoing for Rx DMA Handle.
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
3416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx->XferAbortCallback != NULL)
3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check no error during Abort procedure */
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear the Error flags in the SR register */
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
ARM GAS /tmp/ccywxtmH.s page 62
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Abort complete callback */
3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI Rx communication abort callback, when initiated by user
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * Abort still ongoing for Tx DMA Handle.
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx DMA Request */
3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick())
3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx->XferAbortCallback != NULL)
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
ARM GAS /tmp/ccywxtmH.s page 63
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check no error during Abort procedure */
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear the Error flags in the SR register */
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Abort complete callback */
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount > 1U)
3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 8 Bit mode */
3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = *((__IO uint8_t *)&hspi->Instance->DR);
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check end of the reception */
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 64
3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BITCRC;
3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */
3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize--;
3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check end of the reception */
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->CRCSize == 0U)
3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx 8-bit handler for Transmit and Receive in Interrupt mode.
3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
ARM GAS /tmp/ccywxtmH.s page 65
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount >= 2U)
3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transmission */
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode.
3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
ARM GAS /tmp/ccywxtmH.s page 66
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BITCRC;
3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE interrupt */
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive for Transmit and Receive in Interrupt mode.
3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE interrupt */
3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode.
3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
ARM GAS /tmp/ccywxtmH.s page 67
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 8-bit receive in Interrupt context.
3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize--;
3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->CRCSize == 0U)
3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the receive 8-bit in Interrupt context.
3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
ARM GAS /tmp/ccywxtmH.s page 68
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BITCRC;
3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive in Interrupt context.
3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */
3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the 16-bit receive in Interrupt context.
3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
ARM GAS /tmp/ccywxtmH.s page 69
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BITCRC;
3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the data 8-bit transmit in Interrupt mode.
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the data 16-bit transmit in Interrupt mode.
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
ARM GAS /tmp/ccywxtmH.s page 70
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI Communication Timeout.
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Flag SPI flag to check
3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param State flag state to check
3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
29 .loc 1 3936 1 view -0
30 .cfi_startproc
31 @ args = 4, pretend = 0, frame = 8
32 @ frame_needed = 0, uses_anonymous_args = 0
33 .loc 1 3936 1 is_stmt 0 view .LVU1
34 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
35 .cfi_def_cfa_offset 32
36 .cfi_offset 4, -32
37 .cfi_offset 5, -28
38 .cfi_offset 6, -24
39 .cfi_offset 7, -20
40 .cfi_offset 8, -16
41 .cfi_offset 9, -12
42 .cfi_offset 10, -8
43 .cfi_offset 14, -4
44 0004 82B0 sub sp, sp, #8
45 .cfi_def_cfa_offset 40
46 0006 0546 mov r5, r0
47 0008 8846 mov r8, r1
48 000a 1746 mov r7, r2
49 000c 1E46 mov r6, r3
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
50 .loc 1 3937 3 is_stmt 1 view .LVU2
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_timeout;
51 .loc 1 3938 3 view .LVU3
3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_tickstart;
52 .loc 1 3939 3 view .LVU4
ARM GAS /tmp/ccywxtmH.s page 71
3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Adjust Timeout value in case of end of transfer */
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = Timeout - (HAL_GetTick() - Tickstart);
53 .loc 1 3942 3 view .LVU5
54 .loc 1 3942 30 is_stmt 0 view .LVU6
55 000e FFF7FEFF bl HAL_GetTick
56 .LVL1:
57 .loc 1 3942 44 view .LVU7
58 0012 0A9B ldr r3, [sp, #40]
59 0014 1B1A subs r3, r3, r0
60 .loc 1 3942 17 view .LVU8
61 0016 03EB0609 add r9, r3, r6
62 .LVL2:
3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_tickstart = HAL_GetTick();
63 .loc 1 3943 3 is_stmt 1 view .LVU9
64 .loc 1 3943 19 is_stmt 0 view .LVU10
65 001a FFF7FEFF bl HAL_GetTick
66 .LVL3:
67 001e 8246 mov r10, r0
68 .LVL4:
3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U);
69 .loc 1 3946 3 is_stmt 1 view .LVU11
70 .loc 1 3946 43 is_stmt 0 view .LVU12
71 0020 284B ldr r3, .L16
72 0022 1B68 ldr r3, [r3]
73 .loc 1 3946 50 view .LVU13
74 0024 C3F3CB33 ubfx r3, r3, #15, #12
75 .loc 1 3946 23 view .LVU14
76 0028 09FB03F3 mul r3, r9, r3
77 .loc 1 3946 9 view .LVU15
78 002c 0193 str r3, [sp, #4]
3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
79 .loc 1 3948 3 is_stmt 1 view .LVU16
80 .LVL5:
81 .L3:
82 .loc 1 3948 57 view .LVU17
83 .loc 1 3948 11 is_stmt 0 view .LVU18
84 002e 2B68 ldr r3, [r5]
85 0030 9C68 ldr r4, [r3, #8]
86 .loc 1 3948 48 view .LVU19
87 0032 38EA0404 bics r4, r8, r4
88 0036 0CBF ite eq
89 0038 0123 moveq r3, #1
90 003a 0023 movne r3, #0
91 .loc 1 3948 57 view .LVU20
92 003c BB42 cmp r3, r7
93 003e 3DD0 beq .L12
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY)
94 .loc 1 3950 5 is_stmt 1 view .LVU21
95 .loc 1 3950 8 is_stmt 0 view .LVU22
96 0040 B6F1FF3F cmp r6, #-1
97 0044 F3D0 beq .L3
3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 72
3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
98 .loc 1 3952 7 is_stmt 1 view .LVU23
99 .loc 1 3952 13 is_stmt 0 view .LVU24
100 0046 FFF7FEFF bl HAL_GetTick
101 .LVL6:
102 .loc 1 3952 27 view .LVU25
103 004a A0EB0A00 sub r0, r0, r10
104 .loc 1 3952 10 view .LVU26
105 004e 4845 cmp r0, r9
106 0050 07D2 bcs .L13
3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared
3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master
3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and slave for their respective CRC calculation */
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if(count == 0U)
107 .loc 1 3982 7 is_stmt 1 view .LVU27
108 .loc 1 3982 16 is_stmt 0 view .LVU28
109 0052 019A ldr r2, [sp, #4]
110 .loc 1 3982 9 view .LVU29
111 0054 02B1 cbz r2, .L9
112 0056 4A46 mov r2, r9
113 .L9:
114 .LVL7:
3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = 0U;
3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
115 .loc 1 3986 7 is_stmt 1 view .LVU30
116 .loc 1 3986 12 is_stmt 0 view .LVU31
117 0058 019B ldr r3, [sp, #4]
118 005a 013B subs r3, r3, #1
119 005c 0193 str r3, [sp, #4]
ARM GAS /tmp/ccywxtmH.s page 73
120 005e 9146 mov r9, r2
121 0060 E5E7 b .L3
122 .LVL8:
123 .L13:
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
124 .loc 1 3959 9 is_stmt 1 view .LVU32
125 0062 2A68 ldr r2, [r5]
126 0064 5368 ldr r3, [r2, #4]
127 0066 23F0E003 bic r3, r3, #224
128 006a 5360 str r3, [r2, #4]
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
129 .loc 1 3961 9 view .LVU33
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
130 .loc 1 3961 24 is_stmt 0 view .LVU34
131 006c 6B68 ldr r3, [r5, #4]
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
132 .loc 1 3961 12 view .LVU35
133 006e B3F5827F cmp r3, #260
134 0072 0BD0 beq .L14
135 .L5:
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
136 .loc 1 3969 9 is_stmt 1 view .LVU36
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
137 .loc 1 3969 23 is_stmt 0 view .LVU37
138 0074 AB6A ldr r3, [r5, #40]
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
139 .loc 1 3969 12 view .LVU38
140 0076 B3F5005F cmp r3, #8192
141 007a 14D0 beq .L15
142 .L7:
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
143 .loc 1 3971 11 is_stmt 1 discriminator 1 view .LVU39
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
144 .loc 1 3974 9 discriminator 1 view .LVU40
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
145 .loc 1 3974 21 is_stmt 0 discriminator 1 view .LVU41
146 007c 0123 movs r3, #1
147 007e 85F85D30 strb r3, [r5, #93]
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
148 .loc 1 3977 9 is_stmt 1 discriminator 1 view .LVU42
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
149 .loc 1 3977 9 discriminator 1 view .LVU43
150 0082 0023 movs r3, #0
151 0084 85F85C30 strb r3, [r5, #92]
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
152 .loc 1 3977 9 discriminator 1 view .LVU44
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
153 .loc 1 3979 9 discriminator 1 view .LVU45
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
154 .loc 1 3979 16 is_stmt 0 discriminator 1 view .LVU46
155 0088 0320 movs r0, #3
156 008a 18E0 b .L8
157 .L14:
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
158 .loc 1 3961 65 discriminator 1 view .LVU47
159 008c AB68 ldr r3, [r5, #8]
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
ARM GAS /tmp/ccywxtmH.s page 74
160 .loc 1 3961 50 discriminator 1 view .LVU48
161 008e B3F5004F cmp r3, #32768
162 0092 02D0 beq .L6
3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
163 .loc 1 3962 54 view .LVU49
164 0094 B3F5806F cmp r3, #1024
165 0098 ECD1 bne .L5
166 .L6:
3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
167 .loc 1 3965 11 is_stmt 1 view .LVU50
168 009a 2A68 ldr r2, [r5]
169 009c 1368 ldr r3, [r2]
170 009e 23F04003 bic r3, r3, #64
171 00a2 1360 str r3, [r2]
172 00a4 E6E7 b .L5
173 .L15:
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
174 .loc 1 3971 11 view .LVU51
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
175 .loc 1 3971 11 view .LVU52
176 00a6 2A68 ldr r2, [r5]
177 00a8 1368 ldr r3, [r2]
178 00aa 23F40053 bic r3, r3, #8192
179 00ae 1360 str r3, [r2]
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
180 .loc 1 3971 11 view .LVU53
181 00b0 2A68 ldr r2, [r5]
182 00b2 1368 ldr r3, [r2]
183 00b4 43F40053 orr r3, r3, #8192
184 00b8 1360 str r3, [r2]
185 00ba DFE7 b .L7
186 .L12:
3987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
187 .loc 1 3990 10 is_stmt 0 view .LVU54
188 00bc 0020 movs r0, #0
189 .L8:
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
190 .loc 1 3991 1 view .LVU55
191 00be 02B0 add sp, sp, #8
192 .cfi_def_cfa_offset 32
193 @ sp needed
194 00c0 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
195 .LVL9:
196 .L17:
197 .loc 1 3991 1 view .LVU56
198 .align 2
199 .L16:
200 00c4 00000000 .word SystemCoreClock
201 .cfi_endproc
202 .LFE177:
204 .section .text.SPI_WaitFifoStateUntilTimeout,"ax",%progbits
205 .align 1
206 .syntax unified
207 .thumb
ARM GAS /tmp/ccywxtmH.s page 75
208 .thumb_func
210 SPI_WaitFifoStateUntilTimeout:
211 .LVL10:
212 .LFB178:
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI FIFO Communication Timeout.
3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Fifo Fifo to check
3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param State Fifo state to check
3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
213 .loc 1 4005 1 is_stmt 1 view -0
214 .cfi_startproc
215 @ args = 4, pretend = 0, frame = 8
216 @ frame_needed = 0, uses_anonymous_args = 0
217 .loc 1 4005 1 is_stmt 0 view .LVU58
218 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
219 .cfi_def_cfa_offset 32
220 .cfi_offset 4, -32
221 .cfi_offset 5, -28
222 .cfi_offset 6, -24
223 .cfi_offset 7, -20
224 .cfi_offset 8, -16
225 .cfi_offset 9, -12
226 .cfi_offset 10, -8
227 .cfi_offset 14, -4
228 0004 82B0 sub sp, sp, #8
229 .cfi_def_cfa_offset 40
230 0006 0646 mov r6, r0
231 0008 0C46 mov r4, r1
232 000a 1546 mov r5, r2
233 000c 1F46 mov r7, r3
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
234 .loc 1 4006 3 is_stmt 1 view .LVU59
4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_timeout;
235 .loc 1 4007 3 view .LVU60
4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_tickstart;
236 .loc 1 4008 3 view .LVU61
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t * ptmpreg8;
237 .loc 1 4009 3 view .LVU62
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
238 .loc 1 4010 3 view .LVU63
239 .loc 1 4010 17 is_stmt 0 view .LVU64
240 000e 0023 movs r3, #0
241 .LVL11:
242 .loc 1 4010 17 view .LVU65
243 0010 8DF80330 strb r3, [sp, #3]
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Adjust Timeout value in case of end of transfer */
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = Timeout - (HAL_GetTick() - Tickstart);
ARM GAS /tmp/ccywxtmH.s page 76
244 .loc 1 4013 3 is_stmt 1 view .LVU66
245 .loc 1 4013 28 is_stmt 0 view .LVU67
246 0014 FFF7FEFF bl HAL_GetTick
247 .LVL12:
248 .loc 1 4013 42 view .LVU68
249 0018 0A9B ldr r3, [sp, #40]
250 001a 1B1A subs r3, r3, r0
251 .loc 1 4013 15 view .LVU69
252 001c 03EB0708 add r8, r3, r7
253 .LVL13:
4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_tickstart = HAL_GetTick();
254 .loc 1 4014 3 is_stmt 1 view .LVU70
255 .loc 1 4014 19 is_stmt 0 view .LVU71
256 0020 FFF7FEFF bl HAL_GetTick
257 .LVL14:
258 0024 8146 mov r9, r0
259 .LVL15:
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
260 .loc 1 4017 3 is_stmt 1 view .LVU72
261 .loc 1 4017 35 is_stmt 0 view .LVU73
262 0026 D6F800A0 ldr r10, [r6]
263 .LVL16:
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = tmp_timeout * ((SystemCoreClock * 35U) >> 20U);
264 .loc 1 4020 3 is_stmt 1 view .LVU74
265 .loc 1 4020 43 is_stmt 0 view .LVU75
266 002a 304B ldr r3, .L35
267 002c 1B68 ldr r3, [r3]
268 002e 03EB8303 add r3, r3, r3, lsl #2
269 0032 C3EBC303 rsb r3, r3, r3, lsl #3
270 .loc 1 4020 50 view .LVU76
271 0036 1B0D lsrs r3, r3, #20
272 .loc 1 4020 23 view .LVU77
273 0038 08FB03F3 mul r3, r8, r3
274 .loc 1 4020 9 view .LVU78
275 003c 0193 str r3, [sp, #4]
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->Instance->SR & Fifo) != State)
276 .loc 1 4022 3 is_stmt 1 view .LVU79
277 .loc 1 4022 9 is_stmt 0 view .LVU80
278 003e 02E0 b .L21
279 .LVL17:
280 .L20:
4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY))
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Flush Data Register by a blank read */
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY)
281 .loc 1 4032 5 is_stmt 1 view .LVU81
ARM GAS /tmp/ccywxtmH.s page 77
282 .loc 1 4032 8 is_stmt 0 view .LVU82
283 0040 B7F1FF3F cmp r7, #-1
284 0044 12D1 bne .L30
285 .L21:
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
286 .loc 1 4022 38 is_stmt 1 view .LVU83
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
287 .loc 1 4022 15 is_stmt 0 view .LVU84
288 0046 3368 ldr r3, [r6]
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
289 .loc 1 4022 25 view .LVU85
290 0048 9B68 ldr r3, [r3, #8]
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
291 .loc 1 4022 30 view .LVU86
292 004a 03EA040C and ip, r3, r4
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
293 .loc 1 4022 38 view .LVU87
294 004e AC45 cmp ip, r5
295 0050 47D0 beq .L31
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
296 .loc 1 4024 5 is_stmt 1 view .LVU88
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
297 .loc 1 4024 8 is_stmt 0 view .LVU89
298 0052 B4F5C06F cmp r4, #1536
299 0056 F3D1 bne .L20
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
300 .loc 1 4024 32 discriminator 1 view .LVU90
301 0058 002D cmp r5, #0
302 005a F1D1 bne .L20
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
303 .loc 1 4027 7 is_stmt 1 view .LVU91
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
304 .loc 1 4027 17 is_stmt 0 view .LVU92
305 005c 9AF80C30 ldrb r3, [r10, #12] @ zero_extendqisi2
306 0060 DBB2 uxtb r3, r3
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
307 .loc 1 4027 15 view .LVU93
308 0062 8DF80330 strb r3, [sp, #3]
4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
309 .loc 1 4029 7 is_stmt 1 view .LVU94
310 0066 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
311 006a E9E7 b .L20
312 .L30:
4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
313 .loc 1 4034 7 view .LVU95
314 .loc 1 4034 13 is_stmt 0 view .LVU96
315 006c FFF7FEFF bl HAL_GetTick
316 .LVL18:
317 .loc 1 4034 27 view .LVU97
318 0070 A0EB0900 sub r0, r0, r9
319 .loc 1 4034 10 view .LVU98
320 0074 4045 cmp r0, r8
321 0076 07D2 bcs .L32
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master
ARM GAS /tmp/ccywxtmH.s page 78
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and slave for their respective CRC calculation */
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if(count == 0U)
322 .loc 1 4064 7 is_stmt 1 view .LVU99
323 .loc 1 4064 16 is_stmt 0 view .LVU100
324 0078 019A ldr r2, [sp, #4]
325 .loc 1 4064 9 view .LVU101
326 007a 02B1 cbz r2, .L27
327 007c 4246 mov r2, r8
328 .L27:
329 .LVL19:
4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = 0U;
4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
330 .loc 1 4068 7 is_stmt 1 view .LVU102
331 .loc 1 4068 12 is_stmt 0 view .LVU103
332 007e 019B ldr r3, [sp, #4]
333 0080 013B subs r3, r3, #1
334 0082 0193 str r3, [sp, #4]
335 0084 9046 mov r8, r2
336 0086 DEE7 b .L21
337 .LVL20:
338 .L32:
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
339 .loc 1 4041 9 is_stmt 1 view .LVU104
340 0088 3268 ldr r2, [r6]
341 008a 5368 ldr r3, [r2, #4]
342 008c 23F0E003 bic r3, r3, #224
343 0090 5360 str r3, [r2, #4]
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
344 .loc 1 4043 9 view .LVU105
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
ARM GAS /tmp/ccywxtmH.s page 79
345 .loc 1 4043 24 is_stmt 0 view .LVU106
346 0092 7368 ldr r3, [r6, #4]
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
347 .loc 1 4043 12 view .LVU107
348 0094 B3F5827F cmp r3, #260
349 0098 0BD0 beq .L33
350 .L23:
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
351 .loc 1 4051 9 is_stmt 1 view .LVU108
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
352 .loc 1 4051 23 is_stmt 0 view .LVU109
353 009a B36A ldr r3, [r6, #40]
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
354 .loc 1 4051 12 view .LVU110
355 009c B3F5005F cmp r3, #8192
356 00a0 14D0 beq .L34
357 .L25:
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
358 .loc 1 4053 11 is_stmt 1 discriminator 1 view .LVU111
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
359 .loc 1 4056 9 discriminator 1 view .LVU112
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
360 .loc 1 4056 21 is_stmt 0 discriminator 1 view .LVU113
361 00a2 0123 movs r3, #1
362 00a4 86F85D30 strb r3, [r6, #93]
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
363 .loc 1 4059 9 is_stmt 1 discriminator 1 view .LVU114
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
364 .loc 1 4059 9 discriminator 1 view .LVU115
365 00a8 0023 movs r3, #0
366 00aa 86F85C30 strb r3, [r6, #92]
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
367 .loc 1 4059 9 discriminator 1 view .LVU116
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
368 .loc 1 4061 9 discriminator 1 view .LVU117
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
369 .loc 1 4061 16 is_stmt 0 discriminator 1 view .LVU118
370 00ae 0320 movs r0, #3
371 00b0 18E0 b .L26
372 .L33:
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
373 .loc 1 4043 65 discriminator 1 view .LVU119
374 00b2 B368 ldr r3, [r6, #8]
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
375 .loc 1 4043 50 discriminator 1 view .LVU120
376 00b4 B3F5004F cmp r3, #32768
377 00b8 02D0 beq .L24
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
378 .loc 1 4044 54 view .LVU121
379 00ba B3F5806F cmp r3, #1024
380 00be ECD1 bne .L23
381 .L24:
4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
382 .loc 1 4047 11 is_stmt 1 view .LVU122
383 00c0 3268 ldr r2, [r6]
384 00c2 1368 ldr r3, [r2]
385 00c4 23F04003 bic r3, r3, #64
ARM GAS /tmp/ccywxtmH.s page 80
386 00c8 1360 str r3, [r2]
387 00ca E6E7 b .L23
388 .L34:
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
389 .loc 1 4053 11 view .LVU123
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
390 .loc 1 4053 11 view .LVU124
391 00cc 3268 ldr r2, [r6]
392 00ce 1368 ldr r3, [r2]
393 00d0 23F40053 bic r3, r3, #8192
394 00d4 1360 str r3, [r2]
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
395 .loc 1 4053 11 view .LVU125
396 00d6 3268 ldr r2, [r6]
397 00d8 1368 ldr r3, [r2]
398 00da 43F40053 orr r3, r3, #8192
399 00de 1360 str r3, [r2]
400 00e0 DFE7 b .L25
401 .L31:
4069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
402 .loc 1 4072 10 is_stmt 0 view .LVU126
403 00e2 0020 movs r0, #0
404 .L26:
4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
405 .loc 1 4073 1 view .LVU127
406 00e4 02B0 add sp, sp, #8
407 .cfi_def_cfa_offset 32
408 @ sp needed
409 00e6 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
410 .LVL21:
411 .L36:
412 .loc 1 4073 1 view .LVU128
413 00ea 00BF .align 2
414 .L35:
415 00ec 00000000 .word SystemCoreClock
416 .cfi_endproc
417 .LFE178:
419 .section .text.SPI_EndRxTxTransaction,"ax",%progbits
420 .align 1
421 .syntax unified
422 .thumb
423 .thumb_func
425 SPI_EndRxTxTransaction:
426 .LVL22:
427 .LFB180:
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the check of the RX transaction complete.
4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
ARM GAS /tmp/ccywxtmH.s page 81
4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) !=
4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the check of the RXTX or TX transaction complete.
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle
4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
428 .loc 1 4120 1 is_stmt 1 view -0
429 .cfi_startproc
430 @ args = 0, pretend = 0, frame = 0
431 @ frame_needed = 0, uses_anonymous_args = 0
432 .loc 1 4120 1 is_stmt 0 view .LVU130
433 0000 70B5 push {r4, r5, r6, lr}
434 .cfi_def_cfa_offset 16
435 .cfi_offset 4, -16
436 .cfi_offset 5, -12
437 .cfi_offset 6, -8
438 .cfi_offset 14, -4
439 0002 82B0 sub sp, sp, #8
440 .cfi_def_cfa_offset 24
441 0004 0446 mov r4, r0
442 0006 0D46 mov r5, r1
443 0008 1646 mov r6, r2
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control if the TX fifo is empty */
4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FTLVL, SPI_FTLVL_EMPTY, Timeout, Tickstart) != H
444 .loc 1 4122 3 is_stmt 1 view .LVU131
ARM GAS /tmp/ccywxtmH.s page 82
445 .loc 1 4122 7 is_stmt 0 view .LVU132
446 000a 0092 str r2, [sp]
447 000c 0B46 mov r3, r1
448 000e 0022 movs r2, #0
449 .LVL23:
450 .loc 1 4122 7 view .LVU133
451 0010 4FF4C051 mov r1, #6144
452 .LVL24:
453 .loc 1 4122 7 view .LVU134
454 0014 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
455 .LVL25:
456 .loc 1 4122 6 view .LVU135
457 0018 B0B9 cbnz r0, .L42
4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
458 .loc 1 4129 3 is_stmt 1 view .LVU136
459 .loc 1 4129 7 is_stmt 0 view .LVU137
460 001a 0096 str r6, [sp]
461 001c 2B46 mov r3, r5
462 001e 0022 movs r2, #0
463 0020 8021 movs r1, #128
464 0022 2046 mov r0, r4
465 0024 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
466 .LVL26:
467 .loc 1 4129 6 view .LVU138
468 0028 A8B9 cbnz r0, .L43
4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control if the RX fifo is empty */
4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != H
469 .loc 1 4136 3 is_stmt 1 view .LVU139
470 .loc 1 4136 7 is_stmt 0 view .LVU140
471 002a 0096 str r6, [sp]
472 002c 2B46 mov r3, r5
473 002e 0022 movs r2, #0
474 0030 4FF4C061 mov r1, #1536
475 0034 2046 mov r0, r4
476 0036 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
477 .LVL27:
478 .loc 1 4136 6 view .LVU141
479 003a 50B1 cbz r0, .L39
4137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
480 .loc 1 4138 5 is_stmt 1 view .LVU142
481 003c 236E ldr r3, [r4, #96]
482 003e 43F02003 orr r3, r3, #32
483 0042 2366 str r3, [r4, #96]
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
484 .loc 1 4139 5 view .LVU143
ARM GAS /tmp/ccywxtmH.s page 83
485 .loc 1 4139 12 is_stmt 0 view .LVU144
486 0044 0320 movs r0, #3
487 0046 04E0 b .L39
488 .L42:
4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
489 .loc 1 4124 5 is_stmt 1 view .LVU145
490 0048 236E ldr r3, [r4, #96]
491 004a 43F02003 orr r3, r3, #32
492 004e 2366 str r3, [r4, #96]
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
493 .loc 1 4125 5 view .LVU146
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
494 .loc 1 4125 12 is_stmt 0 view .LVU147
495 0050 0320 movs r0, #3
496 .L39:
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
497 .loc 1 4143 1 view .LVU148
498 0052 02B0 add sp, sp, #8
499 .cfi_remember_state
500 .cfi_def_cfa_offset 16
501 @ sp needed
502 0054 70BD pop {r4, r5, r6, pc}
503 .LVL28:
504 .L43:
505 .cfi_restore_state
4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
506 .loc 1 4131 5 is_stmt 1 view .LVU149
507 0056 236E ldr r3, [r4, #96]
508 0058 43F02003 orr r3, r3, #32
509 005c 2366 str r3, [r4, #96]
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
510 .loc 1 4132 5 view .LVU150
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
511 .loc 1 4132 12 is_stmt 0 view .LVU151
512 005e 0320 movs r0, #3
513 0060 F7E7 b .L39
514 .cfi_endproc
515 .LFE180:
517 .section .text.SPI_EndRxTransaction,"ax",%progbits
518 .align 1
519 .syntax unified
520 .thumb
521 .thumb_func
523 SPI_EndRxTransaction:
524 .LVL29:
525 .LFB179:
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
526 .loc 1 4084 1 is_stmt 1 view -0
527 .cfi_startproc
528 @ args = 0, pretend = 0, frame = 0
529 @ frame_needed = 0, uses_anonymous_args = 0
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
530 .loc 1 4084 1 is_stmt 0 view .LVU153
531 0000 70B5 push {r4, r5, r6, lr}
ARM GAS /tmp/ccywxtmH.s page 84
532 .cfi_def_cfa_offset 16
533 .cfi_offset 4, -16
534 .cfi_offset 5, -12
535 .cfi_offset 6, -8
536 .cfi_offset 14, -4
537 0002 82B0 sub sp, sp, #8
538 .cfi_def_cfa_offset 24
539 0004 0446 mov r4, r0
540 0006 0D46 mov r5, r1
541 0008 1646 mov r6, r2
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
542 .loc 1 4085 3 is_stmt 1 view .LVU154
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
543 .loc 1 4085 18 is_stmt 0 view .LVU155
544 000a 4368 ldr r3, [r0, #4]
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
545 .loc 1 4085 6 view .LVU156
546 000c B3F5827F cmp r3, #260
547 0010 0DD0 beq .L51
548 .LVL30:
549 .L45:
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
550 .loc 1 4093 3 is_stmt 1 view .LVU157
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
551 .loc 1 4093 7 is_stmt 0 view .LVU158
552 0012 0096 str r6, [sp]
553 0014 2B46 mov r3, r5
554 0016 0022 movs r2, #0
555 0018 8021 movs r1, #128
556 .LVL31:
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
557 .loc 1 4093 7 view .LVU159
558 001a 2046 mov r0, r4
559 .LVL32:
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
560 .loc 1 4093 7 view .LVU160
561 001c FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
562 .LVL33:
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
563 .loc 1 4093 6 view .LVU161
564 0020 90B9 cbnz r0, .L52
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
565 .loc 1 4099 3 is_stmt 1 view .LVU162
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
566 .loc 1 4099 18 is_stmt 0 view .LVU163
567 0022 6368 ldr r3, [r4, #4]
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
568 .loc 1 4099 6 view .LVU164
569 0024 B3F5827F cmp r3, #260
570 0028 14D0 beq .L53
571 .L48:
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
572 .loc 1 4110 1 view .LVU165
573 002a 02B0 add sp, sp, #8
574 .cfi_remember_state
575 .cfi_def_cfa_offset 16
576 @ sp needed
ARM GAS /tmp/ccywxtmH.s page 85
577 002c 70BD pop {r4, r5, r6, pc}
578 .LVL34:
579 .L51:
580 .cfi_restore_state
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
581 .loc 1 4085 59 discriminator 1 view .LVU166
582 002e 8368 ldr r3, [r0, #8]
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
583 .loc 1 4085 44 discriminator 1 view .LVU167
584 0030 B3F5004F cmp r3, #32768
585 0034 02D0 beq .L46
4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
586 .loc 1 4086 48 view .LVU168
587 0036 B3F5806F cmp r3, #1024
588 003a EAD1 bne .L45
589 .L46:
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
590 .loc 1 4089 5 is_stmt 1 view .LVU169
591 003c 2268 ldr r2, [r4]
592 .LVL35:
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
593 .loc 1 4089 5 is_stmt 0 view .LVU170
594 003e 1368 ldr r3, [r2]
595 0040 23F04003 bic r3, r3, #64
596 0044 1360 str r3, [r2]
597 0046 E4E7 b .L45
598 .LVL36:
599 .L52:
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
600 .loc 1 4095 5 is_stmt 1 view .LVU171
601 0048 236E ldr r3, [r4, #96]
602 004a 43F02003 orr r3, r3, #32
603 004e 2366 str r3, [r4, #96]
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
604 .loc 1 4096 5 view .LVU172
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
605 .loc 1 4096 12 is_stmt 0 view .LVU173
606 0050 0320 movs r0, #3
607 0052 EAE7 b .L48
608 .L53:
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
609 .loc 1 4099 59 discriminator 1 view .LVU174
610 0054 A368 ldr r3, [r4, #8]
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
611 .loc 1 4099 44 discriminator 1 view .LVU175
612 0056 B3F5004F cmp r3, #32768
613 005a 02D0 beq .L49
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
614 .loc 1 4100 48 view .LVU176
615 005c B3F5806F cmp r3, #1024
616 0060 E3D1 bne .L48
617 .L49:
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
618 .loc 1 4103 5 is_stmt 1 view .LVU177
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
619 .loc 1 4103 9 is_stmt 0 view .LVU178
620 0062 0096 str r6, [sp]
ARM GAS /tmp/ccywxtmH.s page 86
621 0064 2B46 mov r3, r5
622 0066 0022 movs r2, #0
623 0068 4FF4C061 mov r1, #1536
624 006c 2046 mov r0, r4
625 006e FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
626 .LVL37:
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
627 .loc 1 4103 8 view .LVU179
628 0072 0028 cmp r0, #0
629 0074 D9D0 beq .L48
4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
630 .loc 1 4105 7 is_stmt 1 view .LVU180
631 0076 236E ldr r3, [r4, #96]
632 0078 43F02003 orr r3, r3, #32
633 007c 2366 str r3, [r4, #96]
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
634 .loc 1 4106 7 view .LVU181
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
635 .loc 1 4106 14 is_stmt 0 view .LVU182
636 007e 0320 movs r0, #3
637 0080 D3E7 b .L48
638 .cfi_endproc
639 .LFE179:
641 .section .text.SPI_AbortRx_ISR,"ax",%progbits
642 .align 1
643 .syntax unified
644 .thumb
645 .thumb_func
647 SPI_AbortRx_ISR:
648 .LVL38:
649 .LFB184:
4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the RXTX transaction.
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi)
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management */
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
ARM GAS /tmp/ccywxtmH.s page 87
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
4194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the RX transaction.
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
ARM GAS /tmp/ccywxtmH.s page 88
4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi)
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the TX transaction.
4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
ARM GAS /tmp/ccywxtmH.s page 89
4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi)
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE and ERR interrupt */
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle abort a Rx transaction.
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi)
4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
650 .loc 1 4335 1 is_stmt 1 view -0
651 .cfi_startproc
652 @ args = 0, pretend = 0, frame = 8
653 @ frame_needed = 0, uses_anonymous_args = 0
654 .loc 1 4335 1 is_stmt 0 view .LVU184
ARM GAS /tmp/ccywxtmH.s page 90
655 0000 10B5 push {r4, lr}
656 .cfi_def_cfa_offset 8
657 .cfi_offset 4, -8
658 .cfi_offset 14, -4
659 0002 84B0 sub sp, sp, #16
660 .cfi_def_cfa_offset 24
661 0004 0446 mov r4, r0
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
662 .loc 1 4336 3 is_stmt 1 view .LVU185
4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
663 .loc 1 4339 3 view .LVU186
664 0006 0268 ldr r2, [r0]
665 0008 1368 ldr r3, [r2]
666 000a 23F04003 bic r3, r3, #64
667 000e 1360 str r3, [r2]
4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
668 .loc 1 4341 3 view .LVU187
669 .loc 1 4341 56 is_stmt 0 view .LVU188
670 0010 1D4B ldr r3, .L62
671 0012 1B68 ldr r3, [r3]
672 0014 1D4A ldr r2, .L62+4
673 0016 A2FB0323 umull r2, r3, r2, r3
674 001a 5B0A lsrs r3, r3, #9
675 .loc 1 4341 31 view .LVU189
676 001c 6422 movs r2, #100
677 001e 02FB03F3 mul r3, r2, r3
678 .loc 1 4341 9 view .LVU190
679 0022 0393 str r3, [sp, #12]
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNEIE interrupt */
4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
680 .loc 1 4344 3 is_stmt 1 view .LVU191
681 0024 0268 ldr r2, [r0]
682 0026 5368 ldr r3, [r2, #4]
683 0028 23F04003 bic r3, r3, #64
684 002c 5360 str r3, [r2, #4]
685 .L57:
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNEIE is disabled */
4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
686 .loc 1 4347 3 view .LVU192
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
687 .loc 1 4349 5 view .LVU193
688 .loc 1 4349 15 is_stmt 0 view .LVU194
689 002e 039B ldr r3, [sp, #12]
690 .loc 1 4349 8 view .LVU195
691 0030 43B1 cbz r3, .L61
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
692 .loc 1 4354 5 is_stmt 1 view .LVU196
ARM GAS /tmp/ccywxtmH.s page 91
693 .loc 1 4354 10 is_stmt 0 view .LVU197
694 0032 039B ldr r3, [sp, #12]
695 0034 013B subs r3, r3, #1
696 0036 0393 str r3, [sp, #12]
4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
697 .loc 1 4355 12 is_stmt 1 view .LVU198
698 0038 2368 ldr r3, [r4]
699 003a 5B68 ldr r3, [r3, #4]
700 003c 13F0400F tst r3, #64
701 0040 F5D1 bne .L57
702 0042 03E0 b .L56
703 .L61:
4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
704 .loc 1 4351 7 view .LVU199
705 0044 236E ldr r3, [r4, #96]
706 0046 43F04003 orr r3, r3, #64
707 004a 2366 str r3, [r4, #96]
4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
708 .loc 1 4352 7 view .LVU200
709 .L56:
4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick())
710 .loc 1 4358 3 view .LVU201
711 .loc 1 4358 7 is_stmt 0 view .LVU202
712 004c FFF7FEFF bl HAL_GetTick
713 .LVL39:
714 .loc 1 4358 7 view .LVU203
715 0050 0090 str r0, [sp]
716 0052 6423 movs r3, #100
717 0054 0022 movs r2, #0
718 0056 8021 movs r1, #128
719 0058 2046 mov r0, r4
720 005a FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
721 .LVL40:
722 .loc 1 4358 6 view .LVU204
723 005e 08B1 cbz r0, .L58
4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
724 .loc 1 4360 5 is_stmt 1 view .LVU205
725 .loc 1 4360 21 is_stmt 0 view .LVU206
726 0060 4023 movs r3, #64
727 0062 2366 str r3, [r4, #96]
728 .L58:
4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
729 .loc 1 4364 3 is_stmt 1 view .LVU207
730 .loc 1 4364 7 is_stmt 0 view .LVU208
731 0064 FFF7FEFF bl HAL_GetTick
732 .LVL41:
733 0068 0090 str r0, [sp]
734 006a 6423 movs r3, #100
735 006c 0022 movs r2, #0
736 006e 4FF4C061 mov r1, #1536
737 0072 2046 mov r0, r4
ARM GAS /tmp/ccywxtmH.s page 92
738 0074 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
739 .LVL42:
740 .loc 1 4364 6 view .LVU209
741 0078 08B1 cbz r0, .L59
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
742 .loc 1 4366 5 is_stmt 1 view .LVU210
743 .loc 1 4366 21 is_stmt 0 view .LVU211
744 007a 4023 movs r3, #64
745 007c 2366 str r3, [r4, #96]
746 .L59:
4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
747 .loc 1 4369 3 is_stmt 1 view .LVU212
748 .loc 1 4369 15 is_stmt 0 view .LVU213
749 007e 0723 movs r3, #7
750 0080 84F85D30 strb r3, [r4, #93]
4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
751 .loc 1 4370 1 view .LVU214
752 0084 04B0 add sp, sp, #16
753 .cfi_def_cfa_offset 8
754 @ sp needed
755 0086 10BD pop {r4, pc}
756 .LVL43:
757 .L63:
758 .loc 1 4370 1 view .LVU215
759 .align 2
760 .L62:
761 0088 00000000 .word SystemCoreClock
762 008c F1197605 .word 91625969
763 .cfi_endproc
764 .LFE184:
766 .section .text.SPI_AbortTx_ISR,"ax",%progbits
767 .align 1
768 .syntax unified
769 .thumb
770 .thumb_func
772 SPI_AbortTx_ISR:
773 .LVL44:
774 .LFB185:
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle abort a Tx or Rx/Tx transaction.
4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi)
4379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
775 .loc 1 4379 1 is_stmt 1 view -0
776 .cfi_startproc
777 @ args = 0, pretend = 0, frame = 8
778 @ frame_needed = 0, uses_anonymous_args = 0
779 .loc 1 4379 1 is_stmt 0 view .LVU217
780 0000 10B5 push {r4, lr}
781 .cfi_def_cfa_offset 8
ARM GAS /tmp/ccywxtmH.s page 93
782 .cfi_offset 4, -8
783 .cfi_offset 14, -4
784 0002 84B0 sub sp, sp, #16
785 .cfi_def_cfa_offset 24
786 0004 0446 mov r4, r0
4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
787 .loc 1 4380 3 is_stmt 1 view .LVU218
4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
788 .loc 1 4382 3 view .LVU219
789 .loc 1 4382 56 is_stmt 0 view .LVU220
790 0006 384B ldr r3, .L78
791 0008 1B68 ldr r3, [r3]
792 000a 384A ldr r2, .L78+4
793 000c A2FB0323 umull r2, r3, r2, r3
794 0010 5B0A lsrs r3, r3, #9
795 .loc 1 4382 31 view .LVU221
796 0012 6422 movs r2, #100
797 0014 02FB03F3 mul r3, r2, r3
798 .loc 1 4382 9 view .LVU222
799 0018 0393 str r3, [sp, #12]
4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXEIE interrupt */
4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE));
800 .loc 1 4385 3 is_stmt 1 view .LVU223
801 001a 0268 ldr r2, [r0]
802 001c 5368 ldr r3, [r2, #4]
803 001e 23F08003 bic r3, r3, #128
804 0022 5360 str r3, [r2, #4]
805 .L67:
4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXEIE is disabled */
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
806 .loc 1 4388 3 view .LVU224
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
807 .loc 1 4390 5 view .LVU225
808 .loc 1 4390 15 is_stmt 0 view .LVU226
809 0024 039B ldr r3, [sp, #12]
810 .loc 1 4390 8 view .LVU227
811 0026 43B1 cbz r3, .L76
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
812 .loc 1 4395 5 is_stmt 1 view .LVU228
813 .loc 1 4395 10 is_stmt 0 view .LVU229
814 0028 039B ldr r3, [sp, #12]
815 002a 013B subs r3, r3, #1
816 002c 0393 str r3, [sp, #12]
4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE));
817 .loc 1 4396 12 is_stmt 1 view .LVU230
818 002e 2368 ldr r3, [r4]
819 0030 5B68 ldr r3, [r3, #4]
820 0032 13F0800F tst r3, #128
821 0036 F5D1 bne .L67
ARM GAS /tmp/ccywxtmH.s page 94
822 0038 03E0 b .L66
823 .L76:
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
824 .loc 1 4392 7 view .LVU231
825 003a 236E ldr r3, [r4, #96]
826 003c 43F04003 orr r3, r3, #64
827 0040 2366 str r3, [r4, #96]
4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
828 .loc 1 4393 7 view .LVU232
829 .L66:
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
830 .loc 1 4398 3 view .LVU233
831 .loc 1 4398 7 is_stmt 0 view .LVU234
832 0042 FFF7FEFF bl HAL_GetTick
833 .LVL45:
834 .loc 1 4398 7 view .LVU235
835 0046 0246 mov r2, r0
836 0048 6421 movs r1, #100
837 004a 2046 mov r0, r4
838 004c FFF7FEFF bl SPI_EndRxTxTransaction
839 .LVL46:
840 .loc 1 4398 6 view .LVU236
841 0050 08B1 cbz r0, .L68
4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
842 .loc 1 4400 5 is_stmt 1 view .LVU237
843 .loc 1 4400 21 is_stmt 0 view .LVU238
844 0052 4023 movs r3, #64
845 0054 2366 str r3, [r4, #96]
846 .L68:
4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
847 .loc 1 4404 3 is_stmt 1 view .LVU239
848 0056 2268 ldr r2, [r4]
849 0058 1368 ldr r3, [r2]
850 005a 23F04003 bic r3, r3, #64
851 005e 1360 str r3, [r2]
4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
852 .loc 1 4407 3 view .LVU240
853 .loc 1 4407 7 is_stmt 0 view .LVU241
854 0060 FFF7FEFF bl HAL_GetTick
855 .LVL47:
856 0064 0090 str r0, [sp]
857 0066 6423 movs r3, #100
858 0068 0022 movs r2, #0
859 006a 4FF4C061 mov r1, #1536
860 006e 2046 mov r0, r4
861 0070 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
862 .LVL48:
863 .loc 1 4407 6 view .LVU242
864 0074 08B1 cbz r0, .L69
4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 95
4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
865 .loc 1 4409 5 is_stmt 1 view .LVU243
866 .loc 1 4409 21 is_stmt 0 view .LVU244
867 0076 4023 movs r3, #64
868 0078 2366 str r3, [r4, #96]
869 .L69:
4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check case of Full-Duplex Mode and disable directly RXNEIE interrupt */
4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
870 .loc 1 4413 3 is_stmt 1 view .LVU245
871 .loc 1 4413 7 is_stmt 0 view .LVU246
872 007a 2368 ldr r3, [r4]
873 007c 5A68 ldr r2, [r3, #4]
874 .loc 1 4413 6 view .LVU247
875 007e 12F0400F tst r2, #64
876 0082 2BD0 beq .L70
4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNEIE interrupt */
4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
877 .loc 1 4416 5 is_stmt 1 view .LVU248
878 0084 5A68 ldr r2, [r3, #4]
879 0086 22F04002 bic r2, r2, #64
880 008a 5A60 str r2, [r3, #4]
881 .L73:
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNEIE is disabled */
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
882 .loc 1 4419 5 view .LVU249
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
883 .loc 1 4421 7 view .LVU250
884 .loc 1 4421 17 is_stmt 0 view .LVU251
885 008c 039B ldr r3, [sp, #12]
886 .loc 1 4421 10 view .LVU252
887 008e 43B1 cbz r3, .L77
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
888 .loc 1 4426 7 is_stmt 1 view .LVU253
889 .loc 1 4426 12 is_stmt 0 view .LVU254
890 0090 039B ldr r3, [sp, #12]
891 0092 013B subs r3, r3, #1
892 0094 0393 str r3, [sp, #12]
4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
893 .loc 1 4427 14 is_stmt 1 view .LVU255
894 0096 2368 ldr r3, [r4]
895 0098 5B68 ldr r3, [r3, #4]
896 009a 13F0400F tst r3, #64
897 009e F5D1 bne .L73
898 00a0 03E0 b .L72
899 .L77:
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
900 .loc 1 4423 9 view .LVU256
901 00a2 236E ldr r3, [r4, #96]
ARM GAS /tmp/ccywxtmH.s page 96
902 00a4 43F04003 orr r3, r3, #64
903 00a8 2366 str r3, [r4, #96]
4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
904 .loc 1 4424 9 view .LVU257
905 .L72:
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()
906 .loc 1 4430 5 view .LVU258
907 .loc 1 4430 9 is_stmt 0 view .LVU259
908 00aa FFF7FEFF bl HAL_GetTick
909 .LVL49:
910 00ae 0090 str r0, [sp]
911 00b0 6423 movs r3, #100
912 00b2 0022 movs r2, #0
913 00b4 8021 movs r1, #128
914 00b6 2046 mov r0, r4
915 00b8 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
916 .LVL50:
917 .loc 1 4430 8 view .LVU260
918 00bc 08B1 cbz r0, .L74
4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
919 .loc 1 4432 7 is_stmt 1 view .LVU261
920 .loc 1 4432 23 is_stmt 0 view .LVU262
921 00be 4023 movs r3, #64
922 00c0 2366 str r3, [r4, #96]
923 .L74:
4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, H
924 .loc 1 4436 5 is_stmt 1 view .LVU263
925 .loc 1 4436 9 is_stmt 0 view .LVU264
926 00c2 FFF7FEFF bl HAL_GetTick
927 .LVL51:
928 00c6 0090 str r0, [sp]
929 00c8 6423 movs r3, #100
930 00ca 0022 movs r2, #0
931 00cc 4FF4C061 mov r1, #1536
932 00d0 2046 mov r0, r4
933 00d2 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
934 .LVL52:
935 .loc 1 4436 8 view .LVU265
936 00d6 08B1 cbz r0, .L70
4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
937 .loc 1 4438 7 is_stmt 1 view .LVU266
938 .loc 1 4438 23 is_stmt 0 view .LVU267
939 00d8 4023 movs r3, #64
940 00da 2366 str r3, [r4, #96]
941 .L70:
4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
942 .loc 1 4441 3 is_stmt 1 view .LVU268
943 .loc 1 4441 15 is_stmt 0 view .LVU269
ARM GAS /tmp/ccywxtmH.s page 97
944 00dc 0723 movs r3, #7
945 00de 84F85D30 strb r3, [r4, #93]
4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
946 .loc 1 4442 1 view .LVU270
947 00e2 04B0 add sp, sp, #16
948 .cfi_def_cfa_offset 8
949 @ sp needed
950 00e4 10BD pop {r4, pc}
951 .LVL53:
952 .L79:
953 .loc 1 4442 1 view .LVU271
954 00e6 00BF .align 2
955 .L78:
956 00e8 00000000 .word SystemCoreClock
957 00ec F1197605 .word 91625969
958 .cfi_endproc
959 .LFE185:
961 .section .text.HAL_SPI_MspInit,"ax",%progbits
962 .align 1
963 .weak HAL_SPI_MspInit
964 .syntax unified
965 .thumb
966 .thumb_func
968 HAL_SPI_MspInit:
969 .LVL54:
970 .LFB132:
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
971 .loc 1 536 1 is_stmt 1 view -0
972 .cfi_startproc
973 @ args = 0, pretend = 0, frame = 0
974 @ frame_needed = 0, uses_anonymous_args = 0
975 @ link register save eliminated.
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
976 .loc 1 538 3 view .LVU273
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
977 .loc 1 543 1 is_stmt 0 view .LVU274
978 0000 7047 bx lr
979 .cfi_endproc
980 .LFE132:
982 .section .text.HAL_SPI_Init,"ax",%progbits
983 .align 1
984 .global HAL_SPI_Init
985 .syntax unified
986 .thumb
987 .thumb_func
989 HAL_SPI_Init:
990 .LVL55:
991 .LFB130:
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
992 .loc 1 317 1 is_stmt 1 view -0
993 .cfi_startproc
994 @ args = 0, pretend = 0, frame = 0
995 @ frame_needed = 0, uses_anonymous_args = 0
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
996 .loc 1 318 3 view .LVU276
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
997 .loc 1 321 3 view .LVU277
ARM GAS /tmp/ccywxtmH.s page 98
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
998 .loc 1 321 6 is_stmt 0 view .LVU278
999 0000 0028 cmp r0, #0
1000 0002 6FD0 beq .L88
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
1001 .loc 1 317 1 view .LVU279
1002 0004 10B5 push {r4, lr}
1003 .cfi_def_cfa_offset 8
1004 .cfi_offset 4, -8
1005 .cfi_offset 14, -4
1006 0006 0446 mov r4, r0
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
1007 .loc 1 327 3 is_stmt 1 view .LVU280
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
1008 .loc 1 328 3 view .LVU281
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
1009 .loc 1 329 3 view .LVU282
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
1010 .loc 1 330 3 view .LVU283
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
1011 .loc 1 331 3 view .LVU284
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
1012 .loc 1 332 3 view .LVU285
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
1013 .loc 1 333 3 view .LVU286
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
1014 .loc 1 334 3 view .LVU287
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
1015 .loc 1 335 3 view .LVU288
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1016 .loc 1 336 3 view .LVU289
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1017 .loc 1 336 17 is_stmt 0 view .LVU290
1018 0008 436A ldr r3, [r0, #36]
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1019 .loc 1 336 6 view .LVU291
1020 000a 33B9 cbnz r3, .L83
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
1021 .loc 1 338 5 is_stmt 1 view .LVU292
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1022 .loc 1 339 5 view .LVU293
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1023 .loc 1 341 5 view .LVU294
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1024 .loc 1 341 19 is_stmt 0 view .LVU295
1025 000c 4368 ldr r3, [r0, #4]
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1026 .loc 1 341 8 view .LVU296
1027 000e B3F5827F cmp r3, #260
1028 0012 05D0 beq .L84
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1029 .loc 1 348 7 is_stmt 1 view .LVU297
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1030 .loc 1 348 36 is_stmt 0 view .LVU298
1031 0014 0023 movs r3, #0
1032 0016 C361 str r3, [r0, #28]
1033 0018 02E0 b .L84
ARM GAS /tmp/ccywxtmH.s page 99
1034 .L83:
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1035 .loc 1 353 5 is_stmt 1 view .LVU299
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
1036 .loc 1 356 5 view .LVU300
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
1037 .loc 1 356 28 is_stmt 0 view .LVU301
1038 001a 0023 movs r3, #0
1039 001c 0361 str r3, [r0, #16]
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1040 .loc 1 357 5 is_stmt 1 view .LVU302
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1041 .loc 1 357 28 is_stmt 0 view .LVU303
1042 001e 4361 str r3, [r0, #20]
1043 .L84:
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1044 .loc 1 367 3 is_stmt 1 view .LVU304
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1045 .loc 1 367 29 is_stmt 0 view .LVU305
1046 0020 0023 movs r3, #0
1047 0022 A362 str r3, [r4, #40]
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1048 .loc 1 370 3 is_stmt 1 view .LVU306
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1049 .loc 1 370 11 is_stmt 0 view .LVU307
1050 0024 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1051 .loc 1 370 6 view .LVU308
1052 0028 002B cmp r3, #0
1053 002a 52D0 beq .L94
1054 .LVL56:
1055 .L85:
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1056 .loc 1 399 3 is_stmt 1 view .LVU309
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1057 .loc 1 399 15 is_stmt 0 view .LVU310
1058 002c 0223 movs r3, #2
1059 002e 84F85D30 strb r3, [r4, #93]
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1060 .loc 1 402 3 is_stmt 1 view .LVU311
1061 0032 2268 ldr r2, [r4]
1062 0034 1368 ldr r3, [r2]
1063 0036 23F04003 bic r3, r3, #64
1064 003a 1360 str r3, [r2]
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1065 .loc 1 405 3 view .LVU312
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1066 .loc 1 405 17 is_stmt 0 view .LVU313
1067 003c E368 ldr r3, [r4, #12]
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1068 .loc 1 405 6 view .LVU314
1069 003e B3F5E06F cmp r3, #1792
1070 0042 4CD9 bls .L89
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1071 .loc 1 407 11 view .LVU315
1072 0044 0022 movs r2, #0
1073 .L86:
ARM GAS /tmp/ccywxtmH.s page 100
1074 .LVL57:
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1075 .loc 1 415 3 is_stmt 1 view .LVU316
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1076 .loc 1 415 6 is_stmt 0 view .LVU317
1077 0046 B3F5706F cmp r3, #3840
1078 004a 04D0 beq .L87
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1079 .loc 1 415 51 discriminator 1 view .LVU318
1080 004c B3F5E06F cmp r3, #1792
1081 0050 01D0 beq .L87
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1082 .loc 1 418 5 is_stmt 1 view .LVU319
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1083 .loc 1 418 31 is_stmt 0 view .LVU320
1084 0052 0023 movs r3, #0
1085 0054 A362 str r3, [r4, #40]
1086 .L87:
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) |
1087 .loc 1 424 3 is_stmt 1 view .LVU321
1088 0056 6368 ldr r3, [r4, #4]
1089 0058 03F48273 and r3, r3, #260
1090 005c A168 ldr r1, [r4, #8]
1091 005e 01F40441 and r1, r1, #33792
1092 0062 0B43 orrs r3, r3, r1
1093 0064 2169 ldr r1, [r4, #16]
1094 0066 01F00201 and r1, r1, #2
1095 006a 0B43 orrs r3, r3, r1
1096 006c 6169 ldr r1, [r4, #20]
1097 006e 01F00101 and r1, r1, #1
1098 0072 0B43 orrs r3, r3, r1
1099 0074 A169 ldr r1, [r4, #24]
1100 0076 01F40071 and r1, r1, #512
1101 007a 0B43 orrs r3, r3, r1
1102 007c E169 ldr r1, [r4, #28]
1103 007e 01F03801 and r1, r1, #56
1104 0082 0B43 orrs r3, r3, r1
1105 0084 216A ldr r1, [r4, #32]
1106 0086 01F08001 and r1, r1, #128
1107 008a 0B43 orrs r3, r3, r1
1108 008c A16A ldr r1, [r4, #40]
1109 008e 01F40051 and r1, r1, #8192
1110 0092 2068 ldr r0, [r4]
1111 0094 0B43 orrs r3, r3, r1
1112 0096 0360 str r3, [r0]
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.TIMode & SPI_CR2_FRF) |
1113 .loc 1 459 3 view .LVU322
1114 0098 638B ldrh r3, [r4, #26]
1115 009a 03F00403 and r3, r3, #4
1116 009e 616A ldr r1, [r4, #36]
1117 00a0 01F01001 and r1, r1, #16
1118 00a4 0B43 orrs r3, r3, r1
1119 00a6 616B ldr r1, [r4, #52]
1120 00a8 01F00801 and r1, r1, #8
1121 00ac 0B43 orrs r3, r3, r1
1122 00ae E168 ldr r1, [r4, #12]
1123 00b0 01F47061 and r1, r1, #3840
ARM GAS /tmp/ccywxtmH.s page 101
1124 00b4 0B43 orrs r3, r3, r1
1125 00b6 2168 ldr r1, [r4]
1126 00b8 1A43 orrs r2, r2, r3
1127 .LVL58:
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.TIMode & SPI_CR2_FRF) |
1128 .loc 1 459 3 is_stmt 0 view .LVU323
1129 00ba 4A60 str r2, [r1, #4]
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
1130 .loc 1 476 3 is_stmt 1 view .LVU324
1131 00bc 2268 ldr r2, [r4]
1132 00be D369 ldr r3, [r2, #28]
1133 00c0 23F40063 bic r3, r3, #2048
1134 00c4 D361 str r3, [r2, #28]
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1135 .loc 1 479 3 view .LVU325
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1136 .loc 1 479 19 is_stmt 0 view .LVU326
1137 00c6 0020 movs r0, #0
1138 00c8 2066 str r0, [r4, #96]
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1139 .loc 1 480 3 is_stmt 1 view .LVU327
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1140 .loc 1 480 19 is_stmt 0 view .LVU328
1141 00ca 0123 movs r3, #1
1142 00cc 84F85D30 strb r3, [r4, #93]
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1143 .loc 1 482 3 is_stmt 1 view .LVU329
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1144 .loc 1 483 1 is_stmt 0 view .LVU330
1145 00d0 10BD pop {r4, pc}
1146 .LVL59:
1147 .L94:
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1148 .loc 1 373 5 is_stmt 1 view .LVU331
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1149 .loc 1 373 16 is_stmt 0 view .LVU332
1150 00d2 84F85C30 strb r3, [r4, #92]
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1151 .loc 1 395 5 is_stmt 1 view .LVU333
1152 00d6 2046 mov r0, r4
1153 .LVL60:
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1154 .loc 1 395 5 is_stmt 0 view .LVU334
1155 00d8 FFF7FEFF bl HAL_SPI_MspInit
1156 .LVL61:
1157 00dc A6E7 b .L85
1158 .L89:
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1159 .loc 1 411 11 view .LVU335
1160 00de 4FF48052 mov r2, #4096
1161 00e2 B0E7 b .L86
1162 .LVL62:
1163 .L88:
1164 .cfi_def_cfa_offset 0
1165 .cfi_restore 4
1166 .cfi_restore 14
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 102
1167 .loc 1 323 12 view .LVU336
1168 00e4 0120 movs r0, #1
1169 .LVL63:
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1170 .loc 1 483 1 view .LVU337
1171 00e6 7047 bx lr
1172 .cfi_endproc
1173 .LFE130:
1175 .section .text.HAL_SPI_MspDeInit,"ax",%progbits
1176 .align 1
1177 .weak HAL_SPI_MspDeInit
1178 .syntax unified
1179 .thumb
1180 .thumb_func
1182 HAL_SPI_MspDeInit:
1183 .LVL64:
1184 .LFB133:
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
1185 .loc 1 552 1 is_stmt 1 view -0
1186 .cfi_startproc
1187 @ args = 0, pretend = 0, frame = 0
1188 @ frame_needed = 0, uses_anonymous_args = 0
1189 @ link register save eliminated.
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1190 .loc 1 554 3 view .LVU339
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1191 .loc 1 559 1 is_stmt 0 view .LVU340
1192 0000 7047 bx lr
1193 .cfi_endproc
1194 .LFE133:
1196 .section .text.HAL_SPI_DeInit,"ax",%progbits
1197 .align 1
1198 .global HAL_SPI_DeInit
1199 .syntax unified
1200 .thumb
1201 .thumb_func
1203 HAL_SPI_DeInit:
1204 .LVL65:
1205 .LFB131:
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
1206 .loc 1 492 1 is_stmt 1 view -0
1207 .cfi_startproc
1208 @ args = 0, pretend = 0, frame = 0
1209 @ frame_needed = 0, uses_anonymous_args = 0
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1210 .loc 1 494 3 view .LVU342
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1211 .loc 1 494 6 is_stmt 0 view .LVU343
1212 0000 90B1 cbz r0, .L98
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
1213 .loc 1 492 1 view .LVU344
1214 0002 10B5 push {r4, lr}
1215 .cfi_def_cfa_offset 8
1216 .cfi_offset 4, -8
1217 .cfi_offset 14, -4
1218 0004 0446 mov r4, r0
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 103
1219 .loc 1 500 3 is_stmt 1 view .LVU345
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1220 .loc 1 502 3 view .LVU346
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1221 .loc 1 502 15 is_stmt 0 view .LVU347
1222 0006 0223 movs r3, #2
1223 0008 80F85D30 strb r3, [r0, #93]
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1224 .loc 1 505 3 is_stmt 1 view .LVU348
1225 000c 0268 ldr r2, [r0]
1226 000e 1368 ldr r3, [r2]
1227 0010 23F04003 bic r3, r3, #64
1228 0014 1360 str r3, [r2]
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1229 .loc 1 517 3 view .LVU349
1230 0016 FFF7FEFF bl HAL_SPI_MspDeInit
1231 .LVL66:
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1232 .loc 1 520 3 view .LVU350
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1233 .loc 1 520 19 is_stmt 0 view .LVU351
1234 001a 0020 movs r0, #0
1235 001c 2066 str r0, [r4, #96]
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1236 .loc 1 521 3 is_stmt 1 view .LVU352
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1237 .loc 1 521 15 is_stmt 0 view .LVU353
1238 001e 84F85D00 strb r0, [r4, #93]
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1239 .loc 1 524 3 is_stmt 1 view .LVU354
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1240 .loc 1 524 3 view .LVU355
1241 0022 84F85C00 strb r0, [r4, #92]
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1242 .loc 1 524 3 view .LVU356
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1243 .loc 1 526 3 view .LVU357
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1244 .loc 1 527 1 is_stmt 0 view .LVU358
1245 0026 10BD pop {r4, pc}
1246 .LVL67:
1247 .L98:
1248 .cfi_def_cfa_offset 0
1249 .cfi_restore 4
1250 .cfi_restore 14
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1251 .loc 1 496 12 view .LVU359
1252 0028 0120 movs r0, #1
1253 .LVL68:
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1254 .loc 1 527 1 view .LVU360
1255 002a 7047 bx lr
1256 .cfi_endproc
1257 .LFE131:
1259 .section .text.HAL_SPI_Transmit,"ax",%progbits
1260 .align 1
1261 .global HAL_SPI_Transmit
ARM GAS /tmp/ccywxtmH.s page 104
1262 .syntax unified
1263 .thumb
1264 .thumb_func
1266 HAL_SPI_Transmit:
1267 .LVL69:
1268 .LFB134:
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1269 .loc 1 824 1 is_stmt 1 view -0
1270 .cfi_startproc
1271 @ args = 0, pretend = 0, frame = 8
1272 @ frame_needed = 0, uses_anonymous_args = 0
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1273 .loc 1 824 1 is_stmt 0 view .LVU362
1274 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
1275 .cfi_def_cfa_offset 28
1276 .cfi_offset 4, -28
1277 .cfi_offset 5, -24
1278 .cfi_offset 6, -20
1279 .cfi_offset 7, -16
1280 .cfi_offset 8, -12
1281 .cfi_offset 9, -8
1282 .cfi_offset 14, -4
1283 0004 83B0 sub sp, sp, #12
1284 .cfi_def_cfa_offset 40
1285 0006 1D46 mov r5, r3
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1286 .loc 1 825 3 is_stmt 1 view .LVU363
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1287 .loc 1 826 3 view .LVU364
1288 .LVL70:
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1289 .loc 1 827 3 view .LVU365
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1290 .loc 1 830 3 view .LVU366
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1291 .loc 1 833 3 view .LVU367
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1292 .loc 1 833 3 view .LVU368
1293 0008 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
1294 .LVL71:
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1295 .loc 1 833 3 is_stmt 0 view .LVU369
1296 000c 012B cmp r3, #1
1297 000e 00F0F680 beq .L128
1298 0012 0446 mov r4, r0
1299 0014 8846 mov r8, r1
1300 0016 9146 mov r9, r2
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1301 .loc 1 833 3 is_stmt 1 discriminator 2 view .LVU370
1302 0018 0123 movs r3, #1
1303 001a 80F85C30 strb r3, [r0, #92]
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1304 .loc 1 833 3 discriminator 2 view .LVU371
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1305 .loc 1 836 3 discriminator 2 view .LVU372
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1306 .loc 1 836 15 is_stmt 0 discriminator 2 view .LVU373
ARM GAS /tmp/ccywxtmH.s page 105
1307 001e FFF7FEFF bl HAL_GetTick
1308 .LVL72:
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1309 .loc 1 836 15 discriminator 2 view .LVU374
1310 0022 0746 mov r7, r0
1311 .LVL73:
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1312 .loc 1 837 3 is_stmt 1 discriminator 2 view .LVU375
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1313 .loc 1 839 3 discriminator 2 view .LVU376
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1314 .loc 1 839 11 is_stmt 0 discriminator 2 view .LVU377
1315 0024 94F85D60 ldrb r6, [r4, #93] @ zero_extendqisi2
1316 0028 F6B2 uxtb r6, r6
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1317 .loc 1 839 6 discriminator 2 view .LVU378
1318 002a 012E cmp r6, #1
1319 002c 40F0D480 bne .L129
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1320 .loc 1 845 3 is_stmt 1 view .LVU379
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1321 .loc 1 845 6 is_stmt 0 view .LVU380
1322 0030 B8F1000F cmp r8, #0
1323 0034 00F0D180 beq .L105
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1324 .loc 1 845 23 discriminator 1 view .LVU381
1325 0038 B9F1000F cmp r9, #0
1326 003c 00F0CD80 beq .L105
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1327 .loc 1 852 3 is_stmt 1 view .LVU382
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1328 .loc 1 852 21 is_stmt 0 view .LVU383
1329 0040 0323 movs r3, #3
1330 0042 84F85D30 strb r3, [r4, #93]
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1331 .loc 1 853 3 is_stmt 1 view .LVU384
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1332 .loc 1 853 21 is_stmt 0 view .LVU385
1333 0046 0023 movs r3, #0
1334 0048 2366 str r3, [r4, #96]
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1335 .loc 1 854 3 is_stmt 1 view .LVU386
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1336 .loc 1 854 21 is_stmt 0 view .LVU387
1337 004a C4F83880 str r8, [r4, #56]
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1338 .loc 1 855 3 is_stmt 1 view .LVU388
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1339 .loc 1 855 21 is_stmt 0 view .LVU389
1340 004e A4F83C90 strh r9, [r4, #60] @ movhi
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1341 .loc 1 856 3 is_stmt 1 view .LVU390
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1342 .loc 1 856 21 is_stmt 0 view .LVU391
1343 0052 A4F83E90 strh r9, [r4, #62] @ movhi
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1344 .loc 1 859 3 is_stmt 1 view .LVU392
ARM GAS /tmp/ccywxtmH.s page 106
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1345 .loc 1 859 21 is_stmt 0 view .LVU393
1346 0056 2364 str r3, [r4, #64]
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1347 .loc 1 860 3 is_stmt 1 view .LVU394
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1348 .loc 1 860 21 is_stmt 0 view .LVU395
1349 0058 A4F84430 strh r3, [r4, #68] @ movhi
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1350 .loc 1 861 3 is_stmt 1 view .LVU396
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1351 .loc 1 861 21 is_stmt 0 view .LVU397
1352 005c A4F84630 strh r3, [r4, #70] @ movhi
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1353 .loc 1 862 3 is_stmt 1 view .LVU398
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1354 .loc 1 862 21 is_stmt 0 view .LVU399
1355 0060 2365 str r3, [r4, #80]
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1356 .loc 1 863 3 is_stmt 1 view .LVU400
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1357 .loc 1 863 21 is_stmt 0 view .LVU401
1358 0062 E364 str r3, [r4, #76]
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1359 .loc 1 866 3 is_stmt 1 view .LVU402
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1360 .loc 1 866 17 is_stmt 0 view .LVU403
1361 0064 A368 ldr r3, [r4, #8]
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1362 .loc 1 866 6 view .LVU404
1363 0066 B3F5004F cmp r3, #32768
1364 006a 1ED0 beq .L135
1365 .L106:
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1366 .loc 1 882 3 is_stmt 1 view .LVU405
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1367 .loc 1 882 12 is_stmt 0 view .LVU406
1368 006c 2368 ldr r3, [r4]
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1369 .loc 1 882 22 view .LVU407
1370 006e 1A68 ldr r2, [r3]
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1371 .loc 1 882 6 view .LVU408
1372 0070 12F0400F tst r2, #64
1373 0074 03D1 bne .L107
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1374 .loc 1 885 5 is_stmt 1 view .LVU409
1375 0076 1A68 ldr r2, [r3]
1376 0078 42F04002 orr r2, r2, #64
1377 007c 1A60 str r2, [r3]
1378 .L107:
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1379 .loc 1 889 3 view .LVU410
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1380 .loc 1 889 17 is_stmt 0 view .LVU411
1381 007e E368 ldr r3, [r4, #12]
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 107
1382 .loc 1 889 6 view .LVU412
1383 0080 B3F5E06F cmp r3, #1792
1384 0084 42D9 bls .L108
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1385 .loc 1 891 5 is_stmt 1 view .LVU413
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1386 .loc 1 891 20 is_stmt 0 view .LVU414
1387 0086 6368 ldr r3, [r4, #4]
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1388 .loc 1 891 8 view .LVU415
1389 0088 13B1 cbz r3, .L109
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1390 .loc 1 891 45 discriminator 1 view .LVU416
1391 008a B9F1010F cmp r9, #1
1392 008e 23D1 bne .L111
1393 .L109:
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1394 .loc 1 893 7 is_stmt 1 view .LVU417
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1395 .loc 1 893 46 is_stmt 0 view .LVU418
1396 0090 A26B ldr r2, [r4, #56]
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1397 .loc 1 893 11 view .LVU419
1398 0092 2368 ldr r3, [r4]
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1399 .loc 1 893 28 view .LVU420
1400 0094 1288 ldrh r2, [r2]
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1401 .loc 1 893 26 view .LVU421
1402 0096 DA60 str r2, [r3, #12]
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1403 .loc 1 894 7 is_stmt 1 view .LVU422
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1404 .loc 1 894 11 is_stmt 0 view .LVU423
1405 0098 A36B ldr r3, [r4, #56]
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1406 .loc 1 894 24 view .LVU424
1407 009a 0233 adds r3, r3, #2
1408 009c A363 str r3, [r4, #56]
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1409 .loc 1 895 7 is_stmt 1 view .LVU425
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1410 .loc 1 895 11 is_stmt 0 view .LVU426
1411 009e E38F ldrh r3, [r4, #62]
1412 00a0 9BB2 uxth r3, r3
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1413 .loc 1 895 24 view .LVU427
1414 00a2 013B subs r3, r3, #1
1415 00a4 9BB2 uxth r3, r3
1416 00a6 E387 strh r3, [r4, #62] @ movhi
1417 00a8 16E0 b .L111
1418 .L135:
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1419 .loc 1 869 5 is_stmt 1 view .LVU428
1420 00aa 2268 ldr r2, [r4]
1421 00ac 1368 ldr r3, [r2]
1422 00ae 23F04003 bic r3, r3, #64
ARM GAS /tmp/ccywxtmH.s page 108
1423 00b2 1360 str r3, [r2]
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1424 .loc 1 870 5 view .LVU429
1425 00b4 2268 ldr r2, [r4]
1426 00b6 1368 ldr r3, [r2]
1427 00b8 43F48043 orr r3, r3, #16384
1428 00bc 1360 str r3, [r2]
1429 00be D5E7 b .L106
1430 .LVL74:
1431 .L112:
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1432 .loc 1 910 9 view .LVU430
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1433 .loc 1 910 16 is_stmt 0 view .LVU431
1434 00c0 FFF7FEFF bl HAL_GetTick
1435 .LVL75:
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1436 .loc 1 910 30 view .LVU432
1437 00c4 C01B subs r0, r0, r7
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1438 .loc 1 910 12 view .LVU433
1439 00c6 A842 cmp r0, r5
1440 00c8 03D3 bcc .L114
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1441 .loc 1 910 56 discriminator 1 view .LVU434
1442 00ca B5F1FF3F cmp r5, #-1
1443 00ce 40F08E80 bne .L130
1444 .L114:
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1445 .loc 1 910 87 discriminator 3 view .LVU435
1446 00d2 002D cmp r5, #0
1447 00d4 00F08D80 beq .L131
1448 .L111:
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1449 .loc 1 898 30 is_stmt 1 view .LVU436
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1450 .loc 1 898 16 is_stmt 0 view .LVU437
1451 00d8 E38F ldrh r3, [r4, #62]
1452 00da 9BB2 uxth r3, r3
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1453 .loc 1 898 30 view .LVU438
1454 00dc 002B cmp r3, #0
1455 00de 66D0 beq .L116
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1456 .loc 1 901 7 is_stmt 1 view .LVU439
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1457 .loc 1 901 11 is_stmt 0 view .LVU440
1458 00e0 2368 ldr r3, [r4]
1459 00e2 9A68 ldr r2, [r3, #8]
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1460 .loc 1 901 10 view .LVU441
1461 00e4 12F0020F tst r2, #2
1462 00e8 EAD0 beq .L112
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1463 .loc 1 903 9 is_stmt 1 view .LVU442
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1464 .loc 1 903 48 is_stmt 0 view .LVU443
ARM GAS /tmp/ccywxtmH.s page 109
1465 00ea A26B ldr r2, [r4, #56]
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1466 .loc 1 903 30 view .LVU444
1467 00ec 1288 ldrh r2, [r2]
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1468 .loc 1 903 28 view .LVU445
1469 00ee DA60 str r2, [r3, #12]
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1470 .loc 1 904 9 is_stmt 1 view .LVU446
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1471 .loc 1 904 13 is_stmt 0 view .LVU447
1472 00f0 A36B ldr r3, [r4, #56]
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1473 .loc 1 904 26 view .LVU448
1474 00f2 0233 adds r3, r3, #2
1475 00f4 A363 str r3, [r4, #56]
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1476 .loc 1 905 9 is_stmt 1 view .LVU449
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1477 .loc 1 905 13 is_stmt 0 view .LVU450
1478 00f6 B4F83EC0 ldrh ip, [r4, #62]
1479 00fa 1FFA8CFC uxth ip, ip
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1480 .loc 1 905 26 view .LVU451
1481 00fe 0CF1FF3C add ip, ip, #-1
1482 0102 1FFA8CFC uxth ip, ip
1483 0106 A4F83EC0 strh ip, [r4, #62] @ movhi
1484 010a E5E7 b .L111
1485 .LVL76:
1486 .L108:
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1487 .loc 1 921 5 is_stmt 1 view .LVU452
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1488 .loc 1 921 20 is_stmt 0 view .LVU453
1489 010c 6368 ldr r3, [r4, #4]
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1490 .loc 1 921 8 view .LVU454
1491 010e 13B1 cbz r3, .L117
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1492 .loc 1 921 45 discriminator 1 view .LVU455
1493 0110 B9F1010F cmp r9, #1
1494 0114 33D1 bne .L120
1495 .L117:
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1496 .loc 1 923 7 is_stmt 1 view .LVU456
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1497 .loc 1 923 15 is_stmt 0 view .LVU457
1498 0116 E38F ldrh r3, [r4, #62]
1499 0118 9BB2 uxth r3, r3
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1500 .loc 1 923 10 view .LVU458
1501 011a 012B cmp r3, #1
1502 011c 0CD9 bls .L119
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1503 .loc 1 926 9 is_stmt 1 view .LVU459
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1504 .loc 1 926 48 is_stmt 0 view .LVU460
ARM GAS /tmp/ccywxtmH.s page 110
1505 011e A26B ldr r2, [r4, #56]
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1506 .loc 1 926 13 view .LVU461
1507 0120 2368 ldr r3, [r4]
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1508 .loc 1 926 30 view .LVU462
1509 0122 1288 ldrh r2, [r2]
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1510 .loc 1 926 28 view .LVU463
1511 0124 DA60 str r2, [r3, #12]
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1512 .loc 1 927 9 is_stmt 1 view .LVU464
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1513 .loc 1 927 13 is_stmt 0 view .LVU465
1514 0126 A36B ldr r3, [r4, #56]
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1515 .loc 1 927 26 view .LVU466
1516 0128 0233 adds r3, r3, #2
1517 012a A363 str r3, [r4, #56]
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1518 .loc 1 928 9 is_stmt 1 view .LVU467
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1519 .loc 1 928 13 is_stmt 0 view .LVU468
1520 012c E38F ldrh r3, [r4, #62]
1521 012e 9BB2 uxth r3, r3
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1522 .loc 1 928 27 view .LVU469
1523 0130 023B subs r3, r3, #2
1524 0132 9BB2 uxth r3, r3
1525 0134 E387 strh r3, [r4, #62] @ movhi
1526 0136 22E0 b .L120
1527 .L119:
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1528 .loc 1 932 9 is_stmt 1 view .LVU470
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1529 .loc 1 932 56 is_stmt 0 view .LVU471
1530 0138 A26B ldr r2, [r4, #56]
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1531 .loc 1 932 32 view .LVU472
1532 013a 2368 ldr r3, [r4]
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1533 .loc 1 932 51 view .LVU473
1534 013c 1278 ldrb r2, [r2] @ zero_extendqisi2
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1535 .loc 1 932 48 view .LVU474
1536 013e 1A73 strb r2, [r3, #12]
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1537 .loc 1 933 9 is_stmt 1 view .LVU475
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1538 .loc 1 933 13 is_stmt 0 view .LVU476
1539 0140 A36B ldr r3, [r4, #56]
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1540 .loc 1 933 26 view .LVU477
1541 0142 0133 adds r3, r3, #1
1542 0144 A363 str r3, [r4, #56]
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1543 .loc 1 934 9 is_stmt 1 view .LVU478
ARM GAS /tmp/ccywxtmH.s page 111
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1544 .loc 1 934 13 is_stmt 0 view .LVU479
1545 0146 E38F ldrh r3, [r4, #62]
1546 0148 9BB2 uxth r3, r3
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1547 .loc 1 934 26 view .LVU480
1548 014a 013B subs r3, r3, #1
1549 014c 9BB2 uxth r3, r3
1550 014e E387 strh r3, [r4, #62] @ movhi
1551 0150 15E0 b .L120
1552 .LVL77:
1553 .L122:
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1554 .loc 1 951 11 is_stmt 1 view .LVU481
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1555 .loc 1 951 58 is_stmt 0 view .LVU482
1556 0152 A36B ldr r3, [r4, #56]
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1557 .loc 1 951 53 view .LVU483
1558 0154 1B78 ldrb r3, [r3] @ zero_extendqisi2
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1559 .loc 1 951 50 view .LVU484
1560 0156 1373 strb r3, [r2, #12]
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1561 .loc 1 952 11 is_stmt 1 view .LVU485
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1562 .loc 1 952 15 is_stmt 0 view .LVU486
1563 0158 A36B ldr r3, [r4, #56]
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1564 .loc 1 952 27 view .LVU487
1565 015a 0133 adds r3, r3, #1
1566 015c A363 str r3, [r4, #56]
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1567 .loc 1 953 11 is_stmt 1 view .LVU488
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1568 .loc 1 953 15 is_stmt 0 view .LVU489
1569 015e E38F ldrh r3, [r4, #62]
1570 0160 9BB2 uxth r3, r3
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1571 .loc 1 953 28 view .LVU490
1572 0162 013B subs r3, r3, #1
1573 0164 9BB2 uxth r3, r3
1574 0166 E387 strh r3, [r4, #62] @ movhi
1575 0168 09E0 b .L120
1576 .L121:
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1577 .loc 1 959 9 is_stmt 1 view .LVU491
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1578 .loc 1 959 16 is_stmt 0 view .LVU492
1579 016a FFF7FEFF bl HAL_GetTick
1580 .LVL78:
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1581 .loc 1 959 30 view .LVU493
1582 016e C01B subs r0, r0, r7
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1583 .loc 1 959 12 view .LVU494
1584 0170 A842 cmp r0, r5
ARM GAS /tmp/ccywxtmH.s page 112
1585 0172 02D3 bcc .L124
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1586 .loc 1 959 56 discriminator 1 view .LVU495
1587 0174 B5F1FF3F cmp r5, #-1
1588 0178 3DD1 bne .L132
1589 .L124:
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1590 .loc 1 959 87 discriminator 3 view .LVU496
1591 017a 002D cmp r5, #0
1592 017c 3DD0 beq .L133
1593 .L120:
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1594 .loc 1 937 30 is_stmt 1 view .LVU497
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1595 .loc 1 937 16 is_stmt 0 view .LVU498
1596 017e E38F ldrh r3, [r4, #62]
1597 0180 9BB2 uxth r3, r3
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1598 .loc 1 937 30 view .LVU499
1599 0182 A3B1 cbz r3, .L116
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1600 .loc 1 940 7 is_stmt 1 view .LVU500
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1601 .loc 1 940 11 is_stmt 0 view .LVU501
1602 0184 2268 ldr r2, [r4]
1603 0186 9368 ldr r3, [r2, #8]
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1604 .loc 1 940 10 view .LVU502
1605 0188 13F0020F tst r3, #2
1606 018c EDD0 beq .L121
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1607 .loc 1 942 9 is_stmt 1 view .LVU503
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1608 .loc 1 942 17 is_stmt 0 view .LVU504
1609 018e E38F ldrh r3, [r4, #62]
1610 0190 9BB2 uxth r3, r3
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1611 .loc 1 942 12 view .LVU505
1612 0192 012B cmp r3, #1
1613 0194 DDD9 bls .L122
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1614 .loc 1 945 11 is_stmt 1 view .LVU506
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1615 .loc 1 945 50 is_stmt 0 view .LVU507
1616 0196 A36B ldr r3, [r4, #56]
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1617 .loc 1 945 32 view .LVU508
1618 0198 1B88 ldrh r3, [r3]
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1619 .loc 1 945 30 view .LVU509
1620 019a D360 str r3, [r2, #12]
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1621 .loc 1 946 11 is_stmt 1 view .LVU510
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1622 .loc 1 946 15 is_stmt 0 view .LVU511
1623 019c A36B ldr r3, [r4, #56]
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
ARM GAS /tmp/ccywxtmH.s page 113
1624 .loc 1 946 28 view .LVU512
1625 019e 0233 adds r3, r3, #2
1626 01a0 A363 str r3, [r4, #56]
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1627 .loc 1 947 11 is_stmt 1 view .LVU513
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1628 .loc 1 947 15 is_stmt 0 view .LVU514
1629 01a2 E38F ldrh r3, [r4, #62]
1630 01a4 9BB2 uxth r3, r3
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1631 .loc 1 947 29 view .LVU515
1632 01a6 023B subs r3, r3, #2
1633 01a8 9BB2 uxth r3, r3
1634 01aa E387 strh r3, [r4, #62] @ movhi
1635 01ac E7E7 b .L120
1636 .L116:
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1637 .loc 1 976 3 is_stmt 1 view .LVU516
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1638 .loc 1 976 7 is_stmt 0 view .LVU517
1639 01ae 3A46 mov r2, r7
1640 01b0 2946 mov r1, r5
1641 01b2 2046 mov r0, r4
1642 01b4 FFF7FEFF bl SPI_EndRxTxTransaction
1643 .LVL79:
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1644 .loc 1 976 6 view .LVU518
1645 01b8 08B1 cbz r0, .L126
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1646 .loc 1 978 5 is_stmt 1 view .LVU519
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1647 .loc 1 978 21 is_stmt 0 view .LVU520
1648 01ba 2023 movs r3, #32
1649 01bc 2366 str r3, [r4, #96]
1650 .L126:
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1651 .loc 1 982 3 is_stmt 1 view .LVU521
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1652 .loc 1 982 17 is_stmt 0 view .LVU522
1653 01be A368 ldr r3, [r4, #8]
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1654 .loc 1 982 6 view .LVU523
1655 01c0 33B9 cbnz r3, .L127
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1656 .loc 1 984 5 is_stmt 1 view .LVU524
1657 .LBB2:
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1658 .loc 1 984 5 view .LVU525
1659 01c2 0193 str r3, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1660 .loc 1 984 5 view .LVU526
1661 01c4 2368 ldr r3, [r4]
1662 01c6 DA68 ldr r2, [r3, #12]
1663 01c8 0192 str r2, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1664 .loc 1 984 5 view .LVU527
1665 01ca 9B68 ldr r3, [r3, #8]
ARM GAS /tmp/ccywxtmH.s page 114
1666 01cc 0193 str r3, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1667 .loc 1 984 5 view .LVU528
1668 01ce 019B ldr r3, [sp, #4]
1669 .L127:
1670 .LBE2:
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1671 .loc 1 984 5 discriminator 1 view .LVU529
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1672 .loc 1 987 3 discriminator 1 view .LVU530
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1673 .loc 1 987 11 is_stmt 0 discriminator 1 view .LVU531
1674 01d0 236E ldr r3, [r4, #96]
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1675 .loc 1 987 6 discriminator 1 view .LVU532
1676 01d2 13B9 cbnz r3, .L105
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1677 .loc 1 826 21 view .LVU533
1678 01d4 0026 movs r6, #0
1679 01d6 00E0 b .L105
1680 .LVL80:
1681 .L129:
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1682 .loc 1 841 15 view .LVU534
1683 01d8 0226 movs r6, #2
1684 .LVL81:
1685 .L105:
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1686 .loc 1 993 3 is_stmt 1 view .LVU535
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1687 .loc 1 993 15 is_stmt 0 view .LVU536
1688 01da 0123 movs r3, #1
1689 01dc 84F85D30 strb r3, [r4, #93]
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1690 .loc 1 995 3 is_stmt 1 view .LVU537
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1691 .loc 1 995 3 view .LVU538
1692 01e0 0023 movs r3, #0
1693 01e2 84F85C30 strb r3, [r4, #92]
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1694 .loc 1 995 3 view .LVU539
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1695 .loc 1 996 3 view .LVU540
1696 .LVL82:
1697 .L104:
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1698 .loc 1 997 1 is_stmt 0 view .LVU541
1699 01e6 3046 mov r0, r6
1700 01e8 03B0 add sp, sp, #12
1701 .cfi_remember_state
1702 .cfi_def_cfa_offset 28
1703 @ sp needed
1704 01ea BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
1705 .LVL83:
1706 .L130:
1707 .cfi_restore_state
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
ARM GAS /tmp/ccywxtmH.s page 115
1708 .loc 1 912 21 view .LVU542
1709 01ee 0326 movs r6, #3
1710 01f0 F3E7 b .L105
1711 .L131:
1712 01f2 0326 movs r6, #3
1713 01f4 F1E7 b .L105
1714 .L132:
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1715 .loc 1 961 21 view .LVU543
1716 01f6 0326 movs r6, #3
1717 01f8 EFE7 b .L105
1718 .L133:
1719 01fa 0326 movs r6, #3
1720 01fc EDE7 b .L105
1721 .LVL84:
1722 .L128:
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1723 .loc 1 833 3 view .LVU544
1724 01fe 0226 movs r6, #2
1725 0200 F1E7 b .L104
1726 .cfi_endproc
1727 .LFE134:
1729 .section .text.HAL_SPI_TransmitReceive,"ax",%progbits
1730 .align 1
1731 .global HAL_SPI_TransmitReceive
1732 .syntax unified
1733 .thumb
1734 .thumb_func
1736 HAL_SPI_TransmitReceive:
1737 .LVL85:
1738 .LFB136:
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1739 .loc 1 1250 1 is_stmt 1 view -0
1740 .cfi_startproc
1741 @ args = 4, pretend = 0, frame = 0
1742 @ frame_needed = 0, uses_anonymous_args = 0
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1743 .loc 1 1250 1 is_stmt 0 view .LVU546
1744 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
1745 .cfi_def_cfa_offset 32
1746 .cfi_offset 3, -32
1747 .cfi_offset 4, -28
1748 .cfi_offset 5, -24
1749 .cfi_offset 6, -20
1750 .cfi_offset 7, -16
1751 .cfi_offset 8, -12
1752 .cfi_offset 9, -8
1753 .cfi_offset 14, -4
1754 0004 1F46 mov r7, r3
1755 0006 089D ldr r5, [sp, #32]
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_RxXferCount;
1756 .loc 1 1251 3 is_stmt 1 view .LVU547
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1757 .loc 1 1252 3 view .LVU548
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1758 .loc 1 1253 3 view .LVU549
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
ARM GAS /tmp/ccywxtmH.s page 116
1759 .loc 1 1254 3 view .LVU550
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1760 .loc 1 1255 3 view .LVU551
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1761 .loc 1 1265 3 view .LVU552
1762 .LVL86:
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1763 .loc 1 1266 3 view .LVU553
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1764 .loc 1 1269 3 view .LVU554
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1765 .loc 1 1272 3 view .LVU555
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1766 .loc 1 1272 3 view .LVU556
1767 0008 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
1768 .LVL87:
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1769 .loc 1 1272 3 is_stmt 0 view .LVU557
1770 000c 012B cmp r3, #1
1771 000e 00F06481 beq .L163
1772 0012 0446 mov r4, r0
1773 0014 8846 mov r8, r1
1774 0016 9146 mov r9, r2
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1775 .loc 1 1272 3 is_stmt 1 discriminator 2 view .LVU558
1776 0018 0123 movs r3, #1
1777 001a 80F85C30 strb r3, [r0, #92]
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1778 .loc 1 1272 3 discriminator 2 view .LVU559
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1779 .loc 1 1275 3 discriminator 2 view .LVU560
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1780 .loc 1 1275 15 is_stmt 0 discriminator 2 view .LVU561
1781 001e FFF7FEFF bl HAL_GetTick
1782 .LVL88:
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1783 .loc 1 1275 15 discriminator 2 view .LVU562
1784 0022 0646 mov r6, r0
1785 .LVL89:
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1786 .loc 1 1278 3 is_stmt 1 discriminator 2 view .LVU563
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1787 .loc 1 1278 23 is_stmt 0 discriminator 2 view .LVU564
1788 0024 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
1789 0028 DBB2 uxtb r3, r3
1790 .LVL90:
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1791 .loc 1 1279 3 is_stmt 1 discriminator 2 view .LVU565
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1792 .loc 1 1279 23 is_stmt 0 discriminator 2 view .LVU566
1793 002a 6268 ldr r2, [r4, #4]
1794 .LVL91:
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_RxXferCount = Size;
1795 .loc 1 1280 3 is_stmt 1 discriminator 2 view .LVU567
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1796 .loc 1 1281 3 discriminator 2 view .LVU568
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
ARM GAS /tmp/ccywxtmH.s page 117
1797 .loc 1 1287 3 discriminator 2 view .LVU569
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1798 .loc 1 1287 6 is_stmt 0 discriminator 2 view .LVU570
1799 002c 012B cmp r3, #1
1800 002e 0AD0 beq .L138
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1801 .loc 1 1287 7 discriminator 1 view .LVU571
1802 0030 B2F5827F cmp r2, #260
1803 0034 40F03881 bne .L164
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1804 .loc 1 1288 54 view .LVU572
1805 0038 A268 ldr r2, [r4, #8]
1806 .LVL92:
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1807 .loc 1 1288 40 view .LVU573
1808 003a 002A cmp r2, #0
1809 003c 40F03D81 bne .L165
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1810 .loc 1 1288 90 discriminator 1 view .LVU574
1811 0040 042B cmp r3, #4
1812 0042 40F03C81 bne .L166
1813 .L138:
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1814 .loc 1 1294 3 is_stmt 1 view .LVU575
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1815 .loc 1 1294 6 is_stmt 0 view .LVU576
1816 0046 B8F1000F cmp r8, #0
1817 004a 00F03A81 beq .L167
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1818 .loc 1 1294 25 discriminator 1 view .LVU577
1819 004e B9F1000F cmp r9, #0
1820 0052 00F03881 beq .L168
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1821 .loc 1 1294 46 discriminator 2 view .LVU578
1822 0056 002F cmp r7, #0
1823 0058 00F03781 beq .L169
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1824 .loc 1 1301 3 is_stmt 1 view .LVU579
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1825 .loc 1 1301 11 is_stmt 0 view .LVU580
1826 005c 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
1827 .LVL93:
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1828 .loc 1 1301 11 view .LVU581
1829 0060 DBB2 uxtb r3, r3
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1830 .loc 1 1301 6 view .LVU582
1831 0062 042B cmp r3, #4
1832 0064 02D0 beq .L140
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1833 .loc 1 1303 5 is_stmt 1 view .LVU583
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1834 .loc 1 1303 17 is_stmt 0 view .LVU584
1835 0066 0523 movs r3, #5
1836 0068 84F85D30 strb r3, [r4, #93]
1837 .L140:
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
ARM GAS /tmp/ccywxtmH.s page 118
1838 .loc 1 1307 3 is_stmt 1 view .LVU585
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1839 .loc 1 1307 21 is_stmt 0 view .LVU586
1840 006c 0023 movs r3, #0
1841 006e 2366 str r3, [r4, #96]
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1842 .loc 1 1308 3 is_stmt 1 view .LVU587
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1843 .loc 1 1308 21 is_stmt 0 view .LVU588
1844 0070 C4F84090 str r9, [r4, #64]
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1845 .loc 1 1309 3 is_stmt 1 view .LVU589
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1846 .loc 1 1309 21 is_stmt 0 view .LVU590
1847 0074 A4F84670 strh r7, [r4, #70] @ movhi
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1848 .loc 1 1310 3 is_stmt 1 view .LVU591
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1849 .loc 1 1310 21 is_stmt 0 view .LVU592
1850 0078 A4F84470 strh r7, [r4, #68] @ movhi
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1851 .loc 1 1311 3 is_stmt 1 view .LVU593
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1852 .loc 1 1311 21 is_stmt 0 view .LVU594
1853 007c C4F83880 str r8, [r4, #56]
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1854 .loc 1 1312 3 is_stmt 1 view .LVU595
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1855 .loc 1 1312 21 is_stmt 0 view .LVU596
1856 0080 E787 strh r7, [r4, #62] @ movhi
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1857 .loc 1 1313 3 is_stmt 1 view .LVU597
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1858 .loc 1 1313 21 is_stmt 0 view .LVU598
1859 0082 A787 strh r7, [r4, #60] @ movhi
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1860 .loc 1 1316 3 is_stmt 1 view .LVU599
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1861 .loc 1 1316 21 is_stmt 0 view .LVU600
1862 0084 E364 str r3, [r4, #76]
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1863 .loc 1 1317 3 is_stmt 1 view .LVU601
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1864 .loc 1 1317 21 is_stmt 0 view .LVU602
1865 0086 2365 str r3, [r4, #80]
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1866 .loc 1 1328 3 is_stmt 1 view .LVU603
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1867 .loc 1 1328 18 is_stmt 0 view .LVU604
1868 0088 E368 ldr r3, [r4, #12]
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1869 .loc 1 1328 6 view .LVU605
1870 008a B3F5E06F cmp r3, #1792
1871 008e 01D8 bhi .L141
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1872 .loc 1 1328 49 discriminator 1 view .LVU606
1873 0090 012F cmp r7, #1
ARM GAS /tmp/ccywxtmH.s page 119
1874 0092 23D9 bls .L142
1875 .L141:
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1876 .loc 1 1331 5 is_stmt 1 view .LVU607
1877 0094 2268 ldr r2, [r4]
1878 0096 5368 ldr r3, [r2, #4]
1879 0098 23F48053 bic r3, r3, #4096
1880 009c 5360 str r3, [r2, #4]
1881 .LVL94:
1882 .L143:
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1883 .loc 1 1340 3 view .LVU608
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1884 .loc 1 1340 12 is_stmt 0 view .LVU609
1885 009e 2368 ldr r3, [r4]
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1886 .loc 1 1340 22 view .LVU610
1887 00a0 1A68 ldr r2, [r3]
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1888 .loc 1 1340 6 view .LVU611
1889 00a2 12F0400F tst r2, #64
1890 00a6 03D1 bne .L144
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1891 .loc 1 1343 5 is_stmt 1 view .LVU612
1892 00a8 1A68 ldr r2, [r3]
1893 00aa 42F04002 orr r2, r2, #64
1894 00ae 1A60 str r2, [r3]
1895 .L144:
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1896 .loc 1 1347 3 view .LVU613
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1897 .loc 1 1347 17 is_stmt 0 view .LVU614
1898 00b0 E368 ldr r3, [r4, #12]
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1899 .loc 1 1347 6 view .LVU615
1900 00b2 B3F5E06F cmp r3, #1792
1901 00b6 58D9 bls .L145
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1902 .loc 1 1349 5 is_stmt 1 view .LVU616
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1903 .loc 1 1349 20 is_stmt 0 view .LVU617
1904 00b8 6368 ldr r3, [r4, #4]
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1905 .loc 1 1349 8 view .LVU618
1906 00ba 0BB1 cbz r3, .L146
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1907 .loc 1 1349 45 discriminator 1 view .LVU619
1908 00bc 012F cmp r7, #1
1909 00be 0BD1 bne .L147
1910 .L146:
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1911 .loc 1 1351 7 is_stmt 1 view .LVU620
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1912 .loc 1 1351 46 is_stmt 0 view .LVU621
1913 00c0 A26B ldr r2, [r4, #56]
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1914 .loc 1 1351 11 view .LVU622
ARM GAS /tmp/ccywxtmH.s page 120
1915 00c2 2368 ldr r3, [r4]
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1916 .loc 1 1351 28 view .LVU623
1917 00c4 1288 ldrh r2, [r2]
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1918 .loc 1 1351 26 view .LVU624
1919 00c6 DA60 str r2, [r3, #12]
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1920 .loc 1 1352 7 is_stmt 1 view .LVU625
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1921 .loc 1 1352 11 is_stmt 0 view .LVU626
1922 00c8 A36B ldr r3, [r4, #56]
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1923 .loc 1 1352 24 view .LVU627
1924 00ca 0233 adds r3, r3, #2
1925 00cc A363 str r3, [r4, #56]
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1926 .loc 1 1353 7 is_stmt 1 view .LVU628
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1927 .loc 1 1353 11 is_stmt 0 view .LVU629
1928 00ce E38F ldrh r3, [r4, #62]
1929 00d0 9BB2 uxth r3, r3
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1930 .loc 1 1353 24 view .LVU630
1931 00d2 013B subs r3, r3, #1
1932 00d4 9BB2 uxth r3, r3
1933 00d6 E387 strh r3, [r4, #62] @ movhi
1934 .L147:
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1935 .loc 1 1387 19 view .LVU631
1936 00d8 0127 movs r7, #1
1937 .LVL95:
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1938 .loc 1 1387 19 view .LVU632
1939 00da 31E0 b .L148
1940 .LVL96:
1941 .L142:
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1942 .loc 1 1336 5 is_stmt 1 view .LVU633
1943 00dc 2268 ldr r2, [r4]
1944 00de 5368 ldr r3, [r2, #4]
1945 00e0 43F48053 orr r3, r3, #4096
1946 00e4 5360 str r3, [r2, #4]
1947 .LVL97:
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1948 .loc 1 1336 5 is_stmt 0 view .LVU634
1949 00e6 DAE7 b .L143
1950 .LVL98:
1951 .L175:
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1952 .loc 1 1360 9 is_stmt 1 view .LVU635
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1953 .loc 1 1360 48 is_stmt 0 view .LVU636
1954 00e8 A26B ldr r2, [r4, #56]
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1955 .loc 1 1360 30 view .LVU637
1956 00ea 1288 ldrh r2, [r2]
ARM GAS /tmp/ccywxtmH.s page 121
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1957 .loc 1 1360 28 view .LVU638
1958 00ec DA60 str r2, [r3, #12]
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1959 .loc 1 1361 9 is_stmt 1 view .LVU639
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1960 .loc 1 1361 13 is_stmt 0 view .LVU640
1961 00ee A36B ldr r3, [r4, #56]
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1962 .loc 1 1361 26 view .LVU641
1963 00f0 0233 adds r3, r3, #2
1964 00f2 A363 str r3, [r4, #56]
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1965 .loc 1 1362 9 is_stmt 1 view .LVU642
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1966 .loc 1 1362 13 is_stmt 0 view .LVU643
1967 00f4 E38F ldrh r3, [r4, #62]
1968 00f6 9BB2 uxth r3, r3
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1969 .loc 1 1362 26 view .LVU644
1970 00f8 013B subs r3, r3, #1
1971 00fa 9BB2 uxth r3, r3
1972 00fc E387 strh r3, [r4, #62] @ movhi
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1973 .loc 1 1364 9 is_stmt 1 view .LVU645
1974 .LVL99:
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1975 .loc 1 1364 19 is_stmt 0 view .LVU646
1976 00fe 0027 movs r7, #0
1977 .LVL100:
1978 .L149:
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1979 .loc 1 1381 7 is_stmt 1 view .LVU647
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1980 .loc 1 1381 12 is_stmt 0 view .LVU648
1981 0100 2368 ldr r3, [r4]
1982 0102 9A68 ldr r2, [r3, #8]
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1983 .loc 1 1381 10 view .LVU649
1984 0104 12F0010F tst r2, #1
1985 0108 11D0 beq .L150
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1986 .loc 1 1381 61 discriminator 1 view .LVU650
1987 010a B4F84620 ldrh r2, [r4, #70]
1988 010e 92B2 uxth r2, r2
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1989 .loc 1 1381 53 discriminator 1 view .LVU651
1990 0110 6AB1 cbz r2, .L150
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1991 .loc 1 1383 9 is_stmt 1 view .LVU652
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1992 .loc 1 1383 67 is_stmt 0 view .LVU653
1993 0112 DA68 ldr r2, [r3, #12]
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1994 .loc 1 1383 27 view .LVU654
1995 0114 236C ldr r3, [r4, #64]
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
ARM GAS /tmp/ccywxtmH.s page 122
1996 .loc 1 1383 41 view .LVU655
1997 0116 1A80 strh r2, [r3] @ movhi
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1998 .loc 1 1384 9 is_stmt 1 view .LVU656
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1999 .loc 1 1384 13 is_stmt 0 view .LVU657
2000 0118 236C ldr r3, [r4, #64]
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2001 .loc 1 1384 26 view .LVU658
2002 011a 0233 adds r3, r3, #2
2003 011c 2364 str r3, [r4, #64]
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2004 .loc 1 1385 9 is_stmt 1 view .LVU659
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2005 .loc 1 1385 13 is_stmt 0 view .LVU660
2006 011e B4F84630 ldrh r3, [r4, #70]
2007 0122 9BB2 uxth r3, r3
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2008 .loc 1 1385 26 view .LVU661
2009 0124 013B subs r3, r3, #1
2010 0126 9BB2 uxth r3, r3
2011 0128 A4F84630 strh r3, [r4, #70] @ movhi
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2012 .loc 1 1387 9 is_stmt 1 view .LVU662
2013 .LVL101:
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2014 .loc 1 1387 19 is_stmt 0 view .LVU663
2015 012c 0127 movs r7, #1
2016 .LVL102:
2017 .L150:
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2018 .loc 1 1389 7 is_stmt 1 view .LVU664
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2019 .loc 1 1389 13 is_stmt 0 view .LVU665
2020 012e FFF7FEFF bl HAL_GetTick
2021 .LVL103:
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2022 .loc 1 1389 27 view .LVU666
2023 0132 831B subs r3, r0, r6
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2024 .loc 1 1389 10 view .LVU667
2025 0134 AB42 cmp r3, r5
2026 0136 03D3 bcc .L148
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2027 .loc 1 1389 53 discriminator 1 view .LVU668
2028 0138 B5F1FF3F cmp r5, #-1
2029 013c 40F0C780 bne .L170
2030 .LVL104:
2031 .L148:
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2032 .loc 1 1355 37 is_stmt 1 view .LVU669
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2033 .loc 1 1355 17 is_stmt 0 view .LVU670
2034 0140 E38F ldrh r3, [r4, #62]
2035 0142 9BB2 uxth r3, r3
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2036 .loc 1 1355 37 view .LVU671
ARM GAS /tmp/ccywxtmH.s page 123
2037 0144 2BB9 cbnz r3, .L151
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2038 .loc 1 1355 45 discriminator 1 view .LVU672
2039 0146 B4F84630 ldrh r3, [r4, #70]
2040 014a 9BB2 uxth r3, r3
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2041 .loc 1 1355 37 discriminator 1 view .LVU673
2042 014c 002B cmp r3, #0
2043 014e 00F0A180 beq .L152
2044 .L151:
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2045 .loc 1 1358 7 is_stmt 1 view .LVU674
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2046 .loc 1 1358 12 is_stmt 0 view .LVU675
2047 0152 2368 ldr r3, [r4]
2048 0154 9A68 ldr r2, [r3, #8]
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2049 .loc 1 1358 10 view .LVU676
2050 0156 12F0020F tst r2, #2
2051 015a D1D0 beq .L149
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2052 .loc 1 1358 60 discriminator 1 view .LVU677
2053 015c E28F ldrh r2, [r4, #62]
2054 015e 92B2 uxth r2, r2
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2055 .loc 1 1358 52 discriminator 1 view .LVU678
2056 0160 002A cmp r2, #0
2057 0162 CDD0 beq .L149
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2058 .loc 1 1358 80 discriminator 2 view .LVU679
2059 0164 002F cmp r7, #0
2060 0166 CBD0 beq .L149
2061 0168 BEE7 b .L175
2062 .LVL105:
2063 .L145:
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2064 .loc 1 1399 5 is_stmt 1 view .LVU680
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2065 .loc 1 1399 20 is_stmt 0 view .LVU681
2066 016a 6368 ldr r3, [r4, #4]
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2067 .loc 1 1399 8 view .LVU682
2068 016c 0BB1 cbz r3, .L153
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2069 .loc 1 1399 45 discriminator 1 view .LVU683
2070 016e 012F cmp r7, #1
2071 0170 0FD1 bne .L154
2072 .L153:
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2073 .loc 1 1401 7 is_stmt 1 view .LVU684
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2074 .loc 1 1401 15 is_stmt 0 view .LVU685
2075 0172 E38F ldrh r3, [r4, #62]
2076 0174 9BB2 uxth r3, r3
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2077 .loc 1 1401 10 view .LVU686
2078 0176 012B cmp r3, #1
ARM GAS /tmp/ccywxtmH.s page 124
2079 0178 0DD9 bls .L155
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2080 .loc 1 1403 9 is_stmt 1 view .LVU687
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2081 .loc 1 1403 48 is_stmt 0 view .LVU688
2082 017a A26B ldr r2, [r4, #56]
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2083 .loc 1 1403 13 view .LVU689
2084 017c 2368 ldr r3, [r4]
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2085 .loc 1 1403 30 view .LVU690
2086 017e 1288 ldrh r2, [r2]
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2087 .loc 1 1403 28 view .LVU691
2088 0180 DA60 str r2, [r3, #12]
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2089 .loc 1 1404 9 is_stmt 1 view .LVU692
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2090 .loc 1 1404 13 is_stmt 0 view .LVU693
2091 0182 A36B ldr r3, [r4, #56]
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2092 .loc 1 1404 26 view .LVU694
2093 0184 0233 adds r3, r3, #2
2094 0186 A363 str r3, [r4, #56]
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2095 .loc 1 1405 9 is_stmt 1 view .LVU695
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2096 .loc 1 1405 13 is_stmt 0 view .LVU696
2097 0188 E38F ldrh r3, [r4, #62]
2098 018a 9BB2 uxth r3, r3
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2099 .loc 1 1405 27 view .LVU697
2100 018c 023B subs r3, r3, #2
2101 018e 9BB2 uxth r3, r3
2102 0190 E387 strh r3, [r4, #62] @ movhi
2103 .L154:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2104 .loc 1 1469 19 view .LVU698
2105 0192 0127 movs r7, #1
2106 .LVL106:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2107 .loc 1 1469 19 view .LVU699
2108 0194 49E0 b .L161
2109 .LVL107:
2110 .L155:
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2111 .loc 1 1409 9 is_stmt 1 view .LVU700
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2112 .loc 1 1409 54 is_stmt 0 view .LVU701
2113 0196 A26B ldr r2, [r4, #56]
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2114 .loc 1 1409 31 view .LVU702
2115 0198 2368 ldr r3, [r4]
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2116 .loc 1 1409 49 view .LVU703
2117 019a 1278 ldrb r2, [r2] @ zero_extendqisi2
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
ARM GAS /tmp/ccywxtmH.s page 125
2118 .loc 1 1409 46 view .LVU704
2119 019c 1A73 strb r2, [r3, #12]
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2120 .loc 1 1410 9 is_stmt 1 view .LVU705
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2121 .loc 1 1410 13 is_stmt 0 view .LVU706
2122 019e A36B ldr r3, [r4, #56]
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2123 .loc 1 1410 25 view .LVU707
2124 01a0 0133 adds r3, r3, #1
2125 01a2 A363 str r3, [r4, #56]
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2126 .loc 1 1411 9 is_stmt 1 view .LVU708
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2127 .loc 1 1411 13 is_stmt 0 view .LVU709
2128 01a4 E38F ldrh r3, [r4, #62]
2129 01a6 9BB2 uxth r3, r3
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2130 .loc 1 1411 26 view .LVU710
2131 01a8 013B subs r3, r3, #1
2132 01aa 9BB2 uxth r3, r3
2133 01ac E387 strh r3, [r4, #62] @ movhi
2134 01ae F0E7 b .L154
2135 .LVL108:
2136 .L177:
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2137 .loc 1 1419 9 is_stmt 1 view .LVU711
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2138 .loc 1 1419 17 is_stmt 0 view .LVU712
2139 01b0 E28F ldrh r2, [r4, #62]
2140 01b2 92B2 uxth r2, r2
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2141 .loc 1 1419 12 view .LVU713
2142 01b4 012A cmp r2, #1
2143 01b6 0CD9 bls .L157
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2144 .loc 1 1421 11 is_stmt 1 view .LVU714
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2145 .loc 1 1421 50 is_stmt 0 view .LVU715
2146 01b8 A26B ldr r2, [r4, #56]
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2147 .loc 1 1421 32 view .LVU716
2148 01ba 1288 ldrh r2, [r2]
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2149 .loc 1 1421 30 view .LVU717
2150 01bc DA60 str r2, [r3, #12]
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2151 .loc 1 1422 11 is_stmt 1 view .LVU718
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2152 .loc 1 1422 15 is_stmt 0 view .LVU719
2153 01be A36B ldr r3, [r4, #56]
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2154 .loc 1 1422 28 view .LVU720
2155 01c0 0233 adds r3, r3, #2
2156 01c2 A363 str r3, [r4, #56]
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2157 .loc 1 1423 11 is_stmt 1 view .LVU721
ARM GAS /tmp/ccywxtmH.s page 126
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2158 .loc 1 1423 15 is_stmt 0 view .LVU722
2159 01c4 E38F ldrh r3, [r4, #62]
2160 01c6 9BB2 uxth r3, r3
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2161 .loc 1 1423 29 view .LVU723
2162 01c8 023B subs r3, r3, #2
2163 01ca 9BB2 uxth r3, r3
2164 01cc E387 strh r3, [r4, #62] @ movhi
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2165 .loc 1 1432 19 view .LVU724
2166 01ce 0027 movs r7, #0
2167 .LVL109:
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2168 .loc 1 1432 19 view .LVU725
2169 01d0 3DE0 b .L156
2170 .LVL110:
2171 .L157:
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2172 .loc 1 1427 11 is_stmt 1 view .LVU726
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2173 .loc 1 1427 56 is_stmt 0 view .LVU727
2174 01d2 A26B ldr r2, [r4, #56]
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2175 .loc 1 1427 51 view .LVU728
2176 01d4 1278 ldrb r2, [r2] @ zero_extendqisi2
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2177 .loc 1 1427 48 view .LVU729
2178 01d6 1A73 strb r2, [r3, #12]
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2179 .loc 1 1428 11 is_stmt 1 view .LVU730
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2180 .loc 1 1428 15 is_stmt 0 view .LVU731
2181 01d8 A36B ldr r3, [r4, #56]
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2182 .loc 1 1428 27 view .LVU732
2183 01da 0133 adds r3, r3, #1
2184 01dc A363 str r3, [r4, #56]
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2185 .loc 1 1429 11 is_stmt 1 view .LVU733
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2186 .loc 1 1429 15 is_stmt 0 view .LVU734
2187 01de E38F ldrh r3, [r4, #62]
2188 01e0 9BB2 uxth r3, r3
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2189 .loc 1 1429 28 view .LVU735
2190 01e2 013B subs r3, r3, #1
2191 01e4 9BB2 uxth r3, r3
2192 01e6 E387 strh r3, [r4, #62] @ movhi
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2193 .loc 1 1432 19 view .LVU736
2194 01e8 0027 movs r7, #0
2195 .LVL111:
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2196 .loc 1 1432 19 view .LVU737
2197 01ea 30E0 b .L156
2198 .LVL112:
ARM GAS /tmp/ccywxtmH.s page 127
2199 .L178:
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2200 .loc 1 1459 13 is_stmt 1 view .LVU738
2201 01ec 2268 ldr r2, [r4]
2202 01ee 5368 ldr r3, [r2, #4]
2203 01f0 43F48053 orr r3, r3, #4096
2204 01f4 5360 str r3, [r2, #4]
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2205 .loc 1 1469 19 is_stmt 0 view .LVU739
2206 01f6 0127 movs r7, #1
2207 .LVL113:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2208 .loc 1 1469 19 view .LVU740
2209 01f8 0DE0 b .L158
2210 .LVL114:
2211 .L159:
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2212 .loc 1 1464 11 is_stmt 1 view .LVU741
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2213 .loc 1 1464 28 is_stmt 0 view .LVU742
2214 01fa 226C ldr r2, [r4, #64]
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2215 .loc 1 1464 44 view .LVU743
2216 01fc 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2217 .loc 1 1464 42 view .LVU744
2218 01fe 1370 strb r3, [r2]
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2219 .loc 1 1465 11 is_stmt 1 view .LVU745
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2220 .loc 1 1465 15 is_stmt 0 view .LVU746
2221 0200 236C ldr r3, [r4, #64]
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2222 .loc 1 1465 27 view .LVU747
2223 0202 0133 adds r3, r3, #1
2224 0204 2364 str r3, [r4, #64]
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2225 .loc 1 1466 11 is_stmt 1 view .LVU748
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2226 .loc 1 1466 15 is_stmt 0 view .LVU749
2227 0206 B4F84630 ldrh r3, [r4, #70]
2228 020a 9BB2 uxth r3, r3
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2229 .loc 1 1466 28 view .LVU750
2230 020c 013B subs r3, r3, #1
2231 020e 9BB2 uxth r3, r3
2232 0210 A4F84630 strh r3, [r4, #70] @ movhi
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2233 .loc 1 1469 19 view .LVU751
2234 0214 0127 movs r7, #1
2235 .LVL115:
2236 .L158:
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2237 .loc 1 1471 7 is_stmt 1 view .LVU752
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2238 .loc 1 1471 14 is_stmt 0 view .LVU753
2239 0216 FFF7FEFF bl HAL_GetTick
ARM GAS /tmp/ccywxtmH.s page 128
2240 .LVL116:
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2241 .loc 1 1471 28 view .LVU754
2242 021a 801B subs r0, r0, r6
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2243 .loc 1 1471 10 view .LVU755
2244 021c A842 cmp r0, r5
2245 021e 02D3 bcc .L160
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2246 .loc 1 1471 54 discriminator 1 view .LVU756
2247 0220 B5F1FF3F cmp r5, #-1
2248 0224 55D1 bne .L172
2249 .L160:
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2250 .loc 1 1471 87 discriminator 3 view .LVU757
2251 0226 002D cmp r5, #0
2252 0228 55D0 beq .L176
2253 .LVL117:
2254 .L161:
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2255 .loc 1 1414 37 is_stmt 1 view .LVU758
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2256 .loc 1 1414 17 is_stmt 0 view .LVU759
2257 022a E38F ldrh r3, [r4, #62]
2258 022c 9BB2 uxth r3, r3
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2259 .loc 1 1414 37 view .LVU760
2260 022e 23B9 cbnz r3, .L162
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2261 .loc 1 1414 45 discriminator 1 view .LVU761
2262 0230 B4F84630 ldrh r3, [r4, #70]
2263 0234 9BB2 uxth r3, r3
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2264 .loc 1 1414 37 discriminator 1 view .LVU762
2265 0236 002B cmp r3, #0
2266 0238 2CD0 beq .L152
2267 .L162:
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2268 .loc 1 1417 7 is_stmt 1 view .LVU763
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2269 .loc 1 1417 12 is_stmt 0 view .LVU764
2270 023a 2368 ldr r3, [r4]
2271 023c 9A68 ldr r2, [r3, #8]
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2272 .loc 1 1417 10 view .LVU765
2273 023e 12F0020F tst r2, #2
2274 0242 04D0 beq .L156
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2275 .loc 1 1417 60 discriminator 1 view .LVU766
2276 0244 E28F ldrh r2, [r4, #62]
2277 0246 92B2 uxth r2, r2
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2278 .loc 1 1417 52 discriminator 1 view .LVU767
2279 0248 0AB1 cbz r2, .L156
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2280 .loc 1 1417 80 discriminator 2 view .LVU768
2281 024a 002F cmp r7, #0
ARM GAS /tmp/ccywxtmH.s page 129
2282 024c B0D1 bne .L177
2283 .LVL118:
2284 .L156:
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2285 .loc 1 1449 7 is_stmt 1 view .LVU769
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2286 .loc 1 1449 12 is_stmt 0 view .LVU770
2287 024e 2368 ldr r3, [r4]
2288 0250 9A68 ldr r2, [r3, #8]
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2289 .loc 1 1449 10 view .LVU771
2290 0252 12F0010F tst r2, #1
2291 0256 DED0 beq .L158
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2292 .loc 1 1449 61 discriminator 1 view .LVU772
2293 0258 B4F84620 ldrh r2, [r4, #70]
2294 025c 92B2 uxth r2, r2
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2295 .loc 1 1449 53 discriminator 1 view .LVU773
2296 025e 002A cmp r2, #0
2297 0260 D9D0 beq .L158
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2298 .loc 1 1451 9 is_stmt 1 view .LVU774
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2299 .loc 1 1451 17 is_stmt 0 view .LVU775
2300 0262 B4F84620 ldrh r2, [r4, #70]
2301 0266 92B2 uxth r2, r2
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2302 .loc 1 1451 12 view .LVU776
2303 0268 012A cmp r2, #1
2304 026a C6D9 bls .L159
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2305 .loc 1 1453 11 is_stmt 1 view .LVU777
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2306 .loc 1 1453 69 is_stmt 0 view .LVU778
2307 026c DA68 ldr r2, [r3, #12]
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2308 .loc 1 1453 29 view .LVU779
2309 026e 236C ldr r3, [r4, #64]
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2310 .loc 1 1453 43 view .LVU780
2311 0270 1A80 strh r2, [r3] @ movhi
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2312 .loc 1 1454 11 is_stmt 1 view .LVU781
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2313 .loc 1 1454 15 is_stmt 0 view .LVU782
2314 0272 236C ldr r3, [r4, #64]
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2315 .loc 1 1454 28 view .LVU783
2316 0274 0233 adds r3, r3, #2
2317 0276 2364 str r3, [r4, #64]
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
2318 .loc 1 1455 11 is_stmt 1 view .LVU784
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
2319 .loc 1 1455 15 is_stmt 0 view .LVU785
2320 0278 B4F84630 ldrh r3, [r4, #70]
2321 027c 9BB2 uxth r3, r3
ARM GAS /tmp/ccywxtmH.s page 130
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
2322 .loc 1 1455 29 view .LVU786
2323 027e 023B subs r3, r3, #2
2324 0280 9BB2 uxth r3, r3
2325 0282 A4F84630 strh r3, [r4, #70] @ movhi
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2326 .loc 1 1456 11 is_stmt 1 view .LVU787
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2327 .loc 1 1456 19 is_stmt 0 view .LVU788
2328 0286 B4F84630 ldrh r3, [r4, #70]
2329 028a 9BB2 uxth r3, r3
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2330 .loc 1 1456 14 view .LVU789
2331 028c 012B cmp r3, #1
2332 028e ADD9 bls .L178
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2333 .loc 1 1469 19 view .LVU790
2334 0290 0127 movs r7, #1
2335 .LVL119:
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2336 .loc 1 1469 19 view .LVU791
2337 0292 C0E7 b .L158
2338 .LVL120:
2339 .L152:
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2340 .loc 1 1537 3 is_stmt 1 view .LVU792
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2341 .loc 1 1537 7 is_stmt 0 view .LVU793
2342 0294 3246 mov r2, r6
2343 0296 2946 mov r1, r5
2344 0298 2046 mov r0, r4
2345 029a FFF7FEFF bl SPI_EndRxTxTransaction
2346 .LVL121:
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2347 .loc 1 1537 6 view .LVU794
2348 029e 20B1 cbz r0, .L139
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
2349 .loc 1 1539 5 is_stmt 1 view .LVU795
2350 .LVL122:
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2351 .loc 1 1540 5 view .LVU796
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2352 .loc 1 1540 21 is_stmt 0 view .LVU797
2353 02a0 2023 movs r3, #32
2354 02a2 2366 str r3, [r4, #96]
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
2355 .loc 1 1539 15 view .LVU798
2356 02a4 0120 movs r0, #1
2357 02a6 00E0 b .L139
2358 .LVL123:
2359 .L164:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2360 .loc 1 1290 15 view .LVU799
2361 02a8 0220 movs r0, #2
2362 .LVL124:
2363 .L139:
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
ARM GAS /tmp/ccywxtmH.s page 131
2364 .loc 1 1544 3 is_stmt 1 view .LVU800
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2365 .loc 1 1544 15 is_stmt 0 view .LVU801
2366 02aa 0123 movs r3, #1
2367 02ac 84F85D30 strb r3, [r4, #93]
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2368 .loc 1 1545 3 is_stmt 1 view .LVU802
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2369 .loc 1 1545 3 view .LVU803
2370 02b0 0023 movs r3, #0
2371 02b2 84F85C30 strb r3, [r4, #92]
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2372 .loc 1 1545 3 view .LVU804
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2373 .loc 1 1546 3 view .LVU805
2374 .LVL125:
2375 .L137:
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2376 .loc 1 1547 1 is_stmt 0 view .LVU806
2377 02b6 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
2378 .LVL126:
2379 .L165:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2380 .loc 1 1290 15 view .LVU807
2381 02ba 0220 movs r0, #2
2382 .LVL127:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2383 .loc 1 1290 15 view .LVU808
2384 02bc F5E7 b .L139
2385 .LVL128:
2386 .L166:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2387 .loc 1 1290 15 view .LVU809
2388 02be 0220 movs r0, #2
2389 .LVL129:
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2390 .loc 1 1290 15 view .LVU810
2391 02c0 F3E7 b .L139
2392 .LVL130:
2393 .L167:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2394 .loc 1 1296 15 view .LVU811
2395 02c2 0120 movs r0, #1
2396 .LVL131:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2397 .loc 1 1296 15 view .LVU812
2398 02c4 F1E7 b .L139
2399 .LVL132:
2400 .L168:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2401 .loc 1 1296 15 view .LVU813
2402 02c6 0120 movs r0, #1
2403 .LVL133:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2404 .loc 1 1296 15 view .LVU814
2405 02c8 EFE7 b .L139
2406 .LVL134:
ARM GAS /tmp/ccywxtmH.s page 132
2407 .L169:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2408 .loc 1 1296 15 view .LVU815
2409 02ca 0120 movs r0, #1
2410 .LVL135:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2411 .loc 1 1296 15 view .LVU816
2412 02cc EDE7 b .L139
2413 .LVL136:
2414 .L170:
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2415 .loc 1 1391 19 view .LVU817
2416 02ce 0320 movs r0, #3
2417 02d0 EBE7 b .L139
2418 .L172:
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2419 .loc 1 1473 19 view .LVU818
2420 02d2 0320 movs r0, #3
2421 02d4 E9E7 b .L139
2422 .L176:
2423 02d6 0320 movs r0, #3
2424 02d8 E7E7 b .L139
2425 .LVL137:
2426 .L163:
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2427 .loc 1 1272 3 view .LVU819
2428 02da 0220 movs r0, #2
2429 .LVL138:
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2430 .loc 1 1272 3 view .LVU820
2431 02dc EBE7 b .L137
2432 .cfi_endproc
2433 .LFE136:
2435 .section .text.HAL_SPI_Receive,"ax",%progbits
2436 .align 1
2437 .global HAL_SPI_Receive
2438 .syntax unified
2439 .thumb
2440 .thumb_func
2442 HAL_SPI_Receive:
2443 .LVL139:
2444 .LFB135:
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2445 .loc 1 1009 1 is_stmt 1 view -0
2446 .cfi_startproc
2447 @ args = 0, pretend = 0, frame = 0
2448 @ frame_needed = 0, uses_anonymous_args = 0
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2449 .loc 1 1009 1 is_stmt 0 view .LVU822
2450 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
2451 .cfi_def_cfa_offset 28
2452 .cfi_offset 4, -28
2453 .cfi_offset 5, -24
2454 .cfi_offset 6, -20
2455 .cfi_offset 7, -16
2456 .cfi_offset 8, -12
2457 .cfi_offset 9, -8
ARM GAS /tmp/ccywxtmH.s page 133
2458 .cfi_offset 14, -4
2459 0004 83B0 sub sp, sp, #12
2460 .cfi_def_cfa_offset 40
2461 0006 0446 mov r4, r0
2462 0008 8846 mov r8, r1
2463 000a 9146 mov r9, r2
2464 000c 1D46 mov r5, r3
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2465 .loc 1 1015 3 is_stmt 1 view .LVU823
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2466 .loc 1 1016 3 view .LVU824
2467 .LVL140:
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2468 .loc 1 1018 3 view .LVU825
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2469 .loc 1 1018 18 is_stmt 0 view .LVU826
2470 000e 4068 ldr r0, [r0, #4]
2471 .LVL141:
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2472 .loc 1 1018 6 view .LVU827
2473 0010 B0F5827F cmp r0, #260
2474 0014 43D0 beq .L206
2475 .LVL142:
2476 .L180:
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2477 .loc 1 1026 3 is_stmt 1 view .LVU828
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2478 .loc 1 1026 3 view .LVU829
2479 0016 94F85C30 ldrb r3, [r4, #92] @ zero_extendqisi2
2480 001a 012B cmp r3, #1
2481 001c 00F0C380 beq .L199
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2482 .loc 1 1026 3 discriminator 2 view .LVU830
2483 0020 0123 movs r3, #1
2484 0022 84F85C30 strb r3, [r4, #92]
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2485 .loc 1 1026 3 discriminator 2 view .LVU831
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2486 .loc 1 1029 3 discriminator 2 view .LVU832
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2487 .loc 1 1029 15 is_stmt 0 discriminator 2 view .LVU833
2488 0026 FFF7FEFF bl HAL_GetTick
2489 .LVL143:
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2490 .loc 1 1029 15 discriminator 2 view .LVU834
2491 002a 0746 mov r7, r0
2492 .LVL144:
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2493 .loc 1 1031 3 is_stmt 1 discriminator 2 view .LVU835
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2494 .loc 1 1031 11 is_stmt 0 discriminator 2 view .LVU836
2495 002c 94F85D60 ldrb r6, [r4, #93] @ zero_extendqisi2
2496 0030 F6B2 uxtb r6, r6
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2497 .loc 1 1031 6 discriminator 2 view .LVU837
2498 0032 012E cmp r6, #1
2499 0034 40F0A480 bne .L200
ARM GAS /tmp/ccywxtmH.s page 134
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2500 .loc 1 1037 3 is_stmt 1 view .LVU838
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2501 .loc 1 1037 6 is_stmt 0 view .LVU839
2502 0038 B8F1000F cmp r8, #0
2503 003c 00F0A180 beq .L182
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2504 .loc 1 1037 23 discriminator 1 view .LVU840
2505 0040 B9F1000F cmp r9, #0
2506 0044 00F09D80 beq .L182
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2507 .loc 1 1044 3 is_stmt 1 view .LVU841
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2508 .loc 1 1044 21 is_stmt 0 view .LVU842
2509 0048 0423 movs r3, #4
2510 004a 84F85D30 strb r3, [r4, #93]
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2511 .loc 1 1045 3 is_stmt 1 view .LVU843
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2512 .loc 1 1045 21 is_stmt 0 view .LVU844
2513 004e 0023 movs r3, #0
2514 0050 2366 str r3, [r4, #96]
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2515 .loc 1 1046 3 is_stmt 1 view .LVU845
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2516 .loc 1 1046 21 is_stmt 0 view .LVU846
2517 0052 C4F84080 str r8, [r4, #64]
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2518 .loc 1 1047 3 is_stmt 1 view .LVU847
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2519 .loc 1 1047 21 is_stmt 0 view .LVU848
2520 0056 A4F84490 strh r9, [r4, #68] @ movhi
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2521 .loc 1 1048 3 is_stmt 1 view .LVU849
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2522 .loc 1 1048 21 is_stmt 0 view .LVU850
2523 005a A4F84690 strh r9, [r4, #70] @ movhi
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2524 .loc 1 1051 3 is_stmt 1 view .LVU851
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2525 .loc 1 1051 21 is_stmt 0 view .LVU852
2526 005e A363 str r3, [r4, #56]
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2527 .loc 1 1052 3 is_stmt 1 view .LVU853
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2528 .loc 1 1052 21 is_stmt 0 view .LVU854
2529 0060 A387 strh r3, [r4, #60] @ movhi
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2530 .loc 1 1053 3 is_stmt 1 view .LVU855
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2531 .loc 1 1053 21 is_stmt 0 view .LVU856
2532 0062 E387 strh r3, [r4, #62] @ movhi
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2533 .loc 1 1054 3 is_stmt 1 view .LVU857
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2534 .loc 1 1054 21 is_stmt 0 view .LVU858
2535 0064 E364 str r3, [r4, #76]
ARM GAS /tmp/ccywxtmH.s page 135
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2536 .loc 1 1055 3 is_stmt 1 view .LVU859
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2537 .loc 1 1055 21 is_stmt 0 view .LVU860
2538 0066 2365 str r3, [r4, #80]
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2539 .loc 1 1068 3 is_stmt 1 view .LVU861
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2540 .loc 1 1068 17 is_stmt 0 view .LVU862
2541 0068 E368 ldr r3, [r4, #12]
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2542 .loc 1 1068 6 view .LVU863
2543 006a B3F5E06F cmp r3, #1792
2544 006e 24D9 bls .L183
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2545 .loc 1 1071 5 is_stmt 1 view .LVU864
2546 0070 2268 ldr r2, [r4]
2547 0072 5368 ldr r3, [r2, #4]
2548 0074 23F48053 bic r3, r3, #4096
2549 0078 5360 str r3, [r2, #4]
2550 .L184:
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2551 .loc 1 1080 3 view .LVU865
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2552 .loc 1 1080 17 is_stmt 0 view .LVU866
2553 007a A368 ldr r3, [r4, #8]
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2554 .loc 1 1080 6 view .LVU867
2555 007c B3F5004F cmp r3, #32768
2556 0080 21D0 beq .L207
2557 .L185:
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2558 .loc 1 1088 3 is_stmt 1 view .LVU868
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2559 .loc 1 1088 12 is_stmt 0 view .LVU869
2560 0082 2368 ldr r3, [r4]
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2561 .loc 1 1088 22 view .LVU870
2562 0084 1A68 ldr r2, [r3]
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2563 .loc 1 1088 6 view .LVU871
2564 0086 12F0400F tst r2, #64
2565 008a 03D1 bne .L186
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2566 .loc 1 1091 5 is_stmt 1 view .LVU872
2567 008c 1A68 ldr r2, [r3]
2568 008e 42F04002 orr r2, r2, #64
2569 0092 1A60 str r2, [r3]
2570 .L186:
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2571 .loc 1 1095 3 view .LVU873
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2572 .loc 1 1095 17 is_stmt 0 view .LVU874
2573 0094 E368 ldr r3, [r4, #12]
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2574 .loc 1 1095 6 view .LVU875
2575 0096 B3F5E06F cmp r3, #1792
ARM GAS /tmp/ccywxtmH.s page 136
2576 009a 29D9 bls .L187
2577 009c 4AE0 b .L188
2578 .LVL145:
2579 .L206:
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2580 .loc 1 1018 58 discriminator 1 view .LVU876
2581 009e A368 ldr r3, [r4, #8]
2582 .LVL146:
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2583 .loc 1 1018 44 discriminator 1 view .LVU877
2584 00a0 002B cmp r3, #0
2585 00a2 B8D1 bne .L180
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
2586 .loc 1 1020 5 is_stmt 1 view .LVU878
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
2587 .loc 1 1020 17 is_stmt 0 view .LVU879
2588 00a4 0423 movs r3, #4
2589 00a6 84F85D30 strb r3, [r4, #93]
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2590 .loc 1 1022 5 is_stmt 1 view .LVU880
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2591 .loc 1 1022 12 is_stmt 0 view .LVU881
2592 00aa 0095 str r5, [sp]
2593 00ac 1346 mov r3, r2
2594 00ae 0A46 mov r2, r1
2595 .LVL147:
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2596 .loc 1 1022 12 view .LVU882
2597 00b0 2046 mov r0, r4
2598 00b2 FFF7FEFF bl HAL_SPI_TransmitReceive
2599 .LVL148:
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2600 .loc 1 1022 12 view .LVU883
2601 00b6 0646 mov r6, r0
2602 00b8 69E0 b .L181
2603 .LVL149:
2604 .L183:
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2605 .loc 1 1076 5 is_stmt 1 view .LVU884
2606 00ba 2268 ldr r2, [r4]
2607 00bc 5368 ldr r3, [r2, #4]
2608 00be 43F48053 orr r3, r3, #4096
2609 00c2 5360 str r3, [r2, #4]
2610 00c4 D9E7 b .L184
2611 .L207:
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
2612 .loc 1 1083 5 view .LVU885
2613 00c6 2268 ldr r2, [r4]
2614 00c8 1368 ldr r3, [r2]
2615 00ca 23F04003 bic r3, r3, #64
2616 00ce 1360 str r3, [r2]
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2617 .loc 1 1084 5 view .LVU886
2618 00d0 2268 ldr r2, [r4]
2619 00d2 1368 ldr r3, [r2]
2620 00d4 23F48043 bic r3, r3, #16384
2621 00d8 1360 str r3, [r2]
ARM GAS /tmp/ccywxtmH.s page 137
2622 00da D2E7 b .L185
2623 .LVL150:
2624 .L189:
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2625 .loc 1 1111 9 view .LVU887
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2626 .loc 1 1111 16 is_stmt 0 view .LVU888
2627 00dc FFF7FEFF bl HAL_GetTick
2628 .LVL151:
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2629 .loc 1 1111 30 view .LVU889
2630 00e0 C01B subs r0, r0, r7
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2631 .loc 1 1111 12 view .LVU890
2632 00e2 A842 cmp r0, r5
2633 00e4 02D3 bcc .L191
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2634 .loc 1 1111 56 discriminator 1 view .LVU891
2635 00e6 B5F1FF3F cmp r5, #-1
2636 00ea 54D1 bne .L201
2637 .L191:
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2638 .loc 1 1111 87 discriminator 3 view .LVU892
2639 00ec 002D cmp r5, #0
2640 00ee 54D0 beq .L202
2641 .L187:
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2642 .loc 1 1098 30 is_stmt 1 view .LVU893
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2643 .loc 1 1098 16 is_stmt 0 view .LVU894
2644 00f0 B4F84630 ldrh r3, [r4, #70]
2645 00f4 9BB2 uxth r3, r3
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2646 .loc 1 1098 30 view .LVU895
2647 00f6 002B cmp r3, #0
2648 00f8 36D0 beq .L193
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2649 .loc 1 1101 7 is_stmt 1 view .LVU896
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2650 .loc 1 1101 11 is_stmt 0 view .LVU897
2651 00fa 2368 ldr r3, [r4]
2652 00fc 9A68 ldr r2, [r3, #8]
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2653 .loc 1 1101 10 view .LVU898
2654 00fe 12F0010F tst r2, #1
2655 0102 EBD0 beq .L189
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2656 .loc 1 1104 9 is_stmt 1 view .LVU899
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2657 .loc 1 1104 27 is_stmt 0 view .LVU900
2658 0104 226C ldr r2, [r4, #64]
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2659 .loc 1 1104 43 view .LVU901
2660 0106 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2661 .loc 1 1104 41 view .LVU902
2662 0108 1370 strb r3, [r2]
ARM GAS /tmp/ccywxtmH.s page 138
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2663 .loc 1 1105 9 is_stmt 1 view .LVU903
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2664 .loc 1 1105 13 is_stmt 0 view .LVU904
2665 010a 236C ldr r3, [r4, #64]
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2666 .loc 1 1105 26 view .LVU905
2667 010c 0133 adds r3, r3, #1
2668 010e 2364 str r3, [r4, #64]
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2669 .loc 1 1106 9 is_stmt 1 view .LVU906
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2670 .loc 1 1106 13 is_stmt 0 view .LVU907
2671 0110 B4F84630 ldrh r3, [r4, #70]
2672 0114 9BB2 uxth r3, r3
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2673 .loc 1 1106 26 view .LVU908
2674 0116 013B subs r3, r3, #1
2675 0118 9BB2 uxth r3, r3
2676 011a A4F84630 strh r3, [r4, #70] @ movhi
2677 011e E7E7 b .L187
2678 .L194:
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2679 .loc 1 1134 9 is_stmt 1 view .LVU909
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2680 .loc 1 1134 16 is_stmt 0 view .LVU910
2681 0120 FFF7FEFF bl HAL_GetTick
2682 .LVL152:
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2683 .loc 1 1134 30 view .LVU911
2684 0124 C01B subs r0, r0, r7
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2685 .loc 1 1134 12 view .LVU912
2686 0126 A842 cmp r0, r5
2687 0128 02D3 bcc .L196
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2688 .loc 1 1134 56 discriminator 1 view .LVU913
2689 012a B5F1FF3F cmp r5, #-1
2690 012e 36D1 bne .L203
2691 .L196:
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2692 .loc 1 1134 87 discriminator 3 view .LVU914
2693 0130 002D cmp r5, #0
2694 0132 36D0 beq .L204
2695 .L188:
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2696 .loc 1 1122 30 is_stmt 1 view .LVU915
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2697 .loc 1 1122 16 is_stmt 0 view .LVU916
2698 0134 B4F84630 ldrh r3, [r4, #70]
2699 0138 9BB2 uxth r3, r3
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2700 .loc 1 1122 30 view .LVU917
2701 013a ABB1 cbz r3, .L193
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2702 .loc 1 1125 7 is_stmt 1 view .LVU918
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 139
2703 .loc 1 1125 11 is_stmt 0 view .LVU919
2704 013c 2368 ldr r3, [r4]
2705 013e 9A68 ldr r2, [r3, #8]
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2706 .loc 1 1125 10 view .LVU920
2707 0140 12F0010F tst r2, #1
2708 0144 ECD0 beq .L194
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2709 .loc 1 1127 9 is_stmt 1 view .LVU921
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2710 .loc 1 1127 67 is_stmt 0 view .LVU922
2711 0146 DA68 ldr r2, [r3, #12]
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2712 .loc 1 1127 27 view .LVU923
2713 0148 236C ldr r3, [r4, #64]
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2714 .loc 1 1127 41 view .LVU924
2715 014a 1A80 strh r2, [r3] @ movhi
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2716 .loc 1 1128 9 is_stmt 1 view .LVU925
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2717 .loc 1 1128 13 is_stmt 0 view .LVU926
2718 014c 236C ldr r3, [r4, #64]
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2719 .loc 1 1128 26 view .LVU927
2720 014e 0233 adds r3, r3, #2
2721 0150 2364 str r3, [r4, #64]
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2722 .loc 1 1129 9 is_stmt 1 view .LVU928
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2723 .loc 1 1129 13 is_stmt 0 view .LVU929
2724 0152 B4F846C0 ldrh ip, [r4, #70]
2725 0156 1FFA8CFC uxth ip, ip
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2726 .loc 1 1129 26 view .LVU930
2727 015a 0CF1FF3C add ip, ip, #-1
2728 015e 1FFA8CFC uxth ip, ip
2729 0162 A4F846C0 strh ip, [r4, #70] @ movhi
2730 0166 E5E7 b .L188
2731 .L193:
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2732 .loc 1 1213 3 is_stmt 1 view .LVU931
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2733 .loc 1 1213 7 is_stmt 0 view .LVU932
2734 0168 3A46 mov r2, r7
2735 016a 2946 mov r1, r5
2736 016c 2046 mov r0, r4
2737 016e FFF7FEFF bl SPI_EndRxTransaction
2738 .LVL153:
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2739 .loc 1 1213 6 view .LVU933
2740 0172 08B1 cbz r0, .L198
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2741 .loc 1 1215 5 is_stmt 1 view .LVU934
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2742 .loc 1 1215 21 is_stmt 0 view .LVU935
2743 0174 2023 movs r3, #32
ARM GAS /tmp/ccywxtmH.s page 140
2744 0176 2366 str r3, [r4, #96]
2745 .L198:
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2746 .loc 1 1227 3 is_stmt 1 view .LVU936
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2747 .loc 1 1227 11 is_stmt 0 view .LVU937
2748 0178 236E ldr r3, [r4, #96]
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2749 .loc 1 1227 6 view .LVU938
2750 017a 13B9 cbnz r3, .L182
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2751 .loc 1 1016 21 view .LVU939
2752 017c 0026 movs r6, #0
2753 017e 00E0 b .L182
2754 .LVL154:
2755 .L200:
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2756 .loc 1 1033 15 view .LVU940
2757 0180 0226 movs r6, #2
2758 .LVL155:
2759 .L182:
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2760 .loc 1 1233 3 is_stmt 1 view .LVU941
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2761 .loc 1 1233 15 is_stmt 0 view .LVU942
2762 0182 0123 movs r3, #1
2763 0184 84F85D30 strb r3, [r4, #93]
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2764 .loc 1 1234 3 is_stmt 1 view .LVU943
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2765 .loc 1 1234 3 view .LVU944
2766 0188 0023 movs r3, #0
2767 018a 84F85C30 strb r3, [r4, #92]
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2768 .loc 1 1234 3 view .LVU945
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2769 .loc 1 1235 3 view .LVU946
2770 .LVL156:
2771 .L181:
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2772 .loc 1 1236 1 is_stmt 0 view .LVU947
2773 018e 3046 mov r0, r6
2774 0190 03B0 add sp, sp, #12
2775 .cfi_remember_state
2776 .cfi_def_cfa_offset 28
2777 @ sp needed
2778 0192 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
2779 .LVL157:
2780 .L201:
2781 .cfi_restore_state
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2782 .loc 1 1113 21 view .LVU948
2783 0196 0326 movs r6, #3
2784 0198 F3E7 b .L182
2785 .L202:
2786 019a 0326 movs r6, #3
2787 019c F1E7 b .L182
ARM GAS /tmp/ccywxtmH.s page 141
2788 .L203:
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2789 .loc 1 1136 21 view .LVU949
2790 019e 0326 movs r6, #3
2791 01a0 EFE7 b .L182
2792 .L204:
2793 01a2 0326 movs r6, #3
2794 01a4 EDE7 b .L182
2795 .LVL158:
2796 .L199:
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2797 .loc 1 1026 3 view .LVU950
2798 01a6 0226 movs r6, #2
2799 01a8 F1E7 b .L181
2800 .cfi_endproc
2801 .LFE135:
2803 .section .text.HAL_SPI_Transmit_IT,"ax",%progbits
2804 .align 1
2805 .global HAL_SPI_Transmit_IT
2806 .syntax unified
2807 .thumb
2808 .thumb_func
2810 HAL_SPI_Transmit_IT:
2811 .LVL159:
2812 .LFB137:
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2813 .loc 1 1558 1 is_stmt 1 view -0
2814 .cfi_startproc
2815 @ args = 0, pretend = 0, frame = 0
2816 @ frame_needed = 0, uses_anonymous_args = 0
2817 @ link register save eliminated.
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2818 .loc 1 1558 1 is_stmt 0 view .LVU952
2819 0000 0346 mov r3, r0
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2820 .loc 1 1559 3 is_stmt 1 view .LVU953
2821 .LVL160:
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2822 .loc 1 1562 3 view .LVU954
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2823 .loc 1 1565 3 view .LVU955
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2824 .loc 1 1565 3 view .LVU956
2825 0002 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
2826 .LVL161:
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2827 .loc 1 1565 3 is_stmt 0 view .LVU957
2828 0006 0128 cmp r0, #1
2829 0008 4CD0 beq .L214
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2830 .loc 1 1565 3 is_stmt 1 discriminator 2 view .LVU958
2831 000a 0120 movs r0, #1
2832 000c 83F85C00 strb r0, [r3, #92]
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2833 .loc 1 1565 3 discriminator 2 view .LVU959
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2834 .loc 1 1567 3 discriminator 2 view .LVU960
ARM GAS /tmp/ccywxtmH.s page 142
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2835 .loc 1 1567 6 is_stmt 0 discriminator 2 view .LVU961
2836 0010 0029 cmp r1, #0
2837 0012 3CD0 beq .L215
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2838 .loc 1 1567 23 discriminator 1 view .LVU962
2839 0014 002A cmp r2, #0
2840 0016 3CD0 beq .L216
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2841 .loc 1 1573 3 is_stmt 1 view .LVU963
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2842 .loc 1 1573 11 is_stmt 0 view .LVU964
2843 0018 93F85D00 ldrb r0, [r3, #93] @ zero_extendqisi2
2844 001c C0B2 uxtb r0, r0
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2845 .loc 1 1573 6 view .LVU965
2846 001e 0128 cmp r0, #1
2847 0020 3CD1 bne .L217
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2848 .loc 1 1580 3 is_stmt 1 view .LVU966
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2849 .loc 1 1580 21 is_stmt 0 view .LVU967
2850 0022 0320 movs r0, #3
2851 0024 83F85D00 strb r0, [r3, #93]
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2852 .loc 1 1581 3 is_stmt 1 view .LVU968
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2853 .loc 1 1581 21 is_stmt 0 view .LVU969
2854 0028 0020 movs r0, #0
2855 002a 1866 str r0, [r3, #96]
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2856 .loc 1 1582 3 is_stmt 1 view .LVU970
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2857 .loc 1 1582 21 is_stmt 0 view .LVU971
2858 002c 9963 str r1, [r3, #56]
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2859 .loc 1 1583 3 is_stmt 1 view .LVU972
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2860 .loc 1 1583 21 is_stmt 0 view .LVU973
2861 002e 9A87 strh r2, [r3, #60] @ movhi
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2862 .loc 1 1584 3 is_stmt 1 view .LVU974
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2863 .loc 1 1584 21 is_stmt 0 view .LVU975
2864 0030 DA87 strh r2, [r3, #62] @ movhi
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
2865 .loc 1 1587 3 is_stmt 1 view .LVU976
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
2866 .loc 1 1587 21 is_stmt 0 view .LVU977
2867 0032 1864 str r0, [r3, #64]
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2868 .loc 1 1588 3 is_stmt 1 view .LVU978
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2869 .loc 1 1588 21 is_stmt 0 view .LVU979
2870 0034 A3F84400 strh r0, [r3, #68] @ movhi
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2871 .loc 1 1589 3 is_stmt 1 view .LVU980
ARM GAS /tmp/ccywxtmH.s page 143
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2872 .loc 1 1589 21 is_stmt 0 view .LVU981
2873 0038 A3F84600 strh r0, [r3, #70] @ movhi
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2874 .loc 1 1590 3 is_stmt 1 view .LVU982
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2875 .loc 1 1590 21 is_stmt 0 view .LVU983
2876 003c D864 str r0, [r3, #76]
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2877 .loc 1 1593 3 is_stmt 1 view .LVU984
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2878 .loc 1 1593 17 is_stmt 0 view .LVU985
2879 003e DA68 ldr r2, [r3, #12]
2880 .LVL162:
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2881 .loc 1 1593 6 view .LVU986
2882 0040 B2F5E06F cmp r2, #1792
2883 0044 15D9 bls .L211
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2884 .loc 1 1595 5 is_stmt 1 view .LVU987
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2885 .loc 1 1595 17 is_stmt 0 view .LVU988
2886 0046 184A ldr r2, .L220
2887 0048 1A65 str r2, [r3, #80]
2888 .L212:
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2889 .loc 1 1603 3 is_stmt 1 view .LVU989
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2890 .loc 1 1603 17 is_stmt 0 view .LVU990
2891 004a 9A68 ldr r2, [r3, #8]
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2892 .loc 1 1603 6 view .LVU991
2893 004c B2F5004F cmp r2, #32768
2894 0050 12D0 beq .L219
2895 .LVL163:
2896 .L213:
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2897 .loc 1 1619 3 is_stmt 1 view .LVU992
2898 0052 1968 ldr r1, [r3]
2899 0054 4A68 ldr r2, [r1, #4]
2900 0056 42F0A002 orr r2, r2, #160
2901 005a 4A60 str r2, [r1, #4]
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2902 .loc 1 1623 3 view .LVU993
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2903 .loc 1 1623 12 is_stmt 0 view .LVU994
2904 005c 1A68 ldr r2, [r3]
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2905 .loc 1 1623 22 view .LVU995
2906 005e 1168 ldr r1, [r2]
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2907 .loc 1 1623 6 view .LVU996
2908 0060 11F0400F tst r1, #64
2909 0064 1CD1 bne .L218
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2910 .loc 1 1626 5 is_stmt 1 view .LVU997
2911 0066 1168 ldr r1, [r2]
ARM GAS /tmp/ccywxtmH.s page 144
2912 0068 41F04001 orr r1, r1, #64
2913 006c 1160 str r1, [r2]
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2914 .loc 1 1559 21 is_stmt 0 view .LVU998
2915 006e 0020 movs r0, #0
2916 0070 10E0 b .L210
2917 .LVL164:
2918 .L211:
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2919 .loc 1 1599 5 is_stmt 1 view .LVU999
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2920 .loc 1 1599 17 is_stmt 0 view .LVU1000
2921 0072 0E4A ldr r2, .L220+4
2922 0074 1A65 str r2, [r3, #80]
2923 0076 E8E7 b .L212
2924 .L219:
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
2925 .loc 1 1606 5 is_stmt 1 view .LVU1001
2926 0078 1968 ldr r1, [r3]
2927 .LVL165:
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
2928 .loc 1 1606 5 is_stmt 0 view .LVU1002
2929 007a 0A68 ldr r2, [r1]
2930 007c 22F04002 bic r2, r2, #64
2931 0080 0A60 str r2, [r1]
2932 .LVL166:
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2933 .loc 1 1607 5 is_stmt 1 view .LVU1003
2934 0082 1968 ldr r1, [r3]
2935 0084 0A68 ldr r2, [r1]
2936 0086 42F48042 orr r2, r2, #16384
2937 008a 0A60 str r2, [r1]
2938 008c E1E7 b .L213
2939 .LVL167:
2940 .L215:
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2941 .loc 1 1569 15 is_stmt 0 view .LVU1004
2942 008e 0120 movs r0, #1
2943 0090 00E0 b .L210
2944 .L216:
2945 0092 0120 movs r0, #1
2946 .LVL168:
2947 .L210:
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2948 .loc 1 1630 3 is_stmt 1 view .LVU1005
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2949 .loc 1 1630 3 view .LVU1006
2950 0094 0022 movs r2, #0
2951 0096 83F85C20 strb r2, [r3, #92]
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2952 .loc 1 1630 3 view .LVU1007
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2953 .loc 1 1631 3 view .LVU1008
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2954 .loc 1 1631 10 is_stmt 0 view .LVU1009
2955 009a 7047 bx lr
2956 .LVL169:
ARM GAS /tmp/ccywxtmH.s page 145
2957 .L217:
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2958 .loc 1 1575 15 view .LVU1010
2959 009c 0220 movs r0, #2
2960 009e F9E7 b .L210
2961 .LVL170:
2962 .L218:
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2963 .loc 1 1559 21 view .LVU1011
2964 00a0 0020 movs r0, #0
2965 00a2 F7E7 b .L210
2966 .LVL171:
2967 .L214:
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2968 .loc 1 1565 3 view .LVU1012
2969 00a4 0220 movs r0, #2
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2970 .loc 1 1632 1 view .LVU1013
2971 00a6 7047 bx lr
2972 .L221:
2973 .align 2
2974 .L220:
2975 00a8 00000000 .word SPI_TxISR_16BIT
2976 00ac 00000000 .word SPI_TxISR_8BIT
2977 .cfi_endproc
2978 .LFE137:
2980 .section .text.HAL_SPI_TransmitReceive_IT,"ax",%progbits
2981 .align 1
2982 .global HAL_SPI_TransmitReceive_IT
2983 .syntax unified
2984 .thumb
2985 .thumb_func
2987 HAL_SPI_TransmitReceive_IT:
2988 .LVL172:
2989 .LFB139:
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
2990 .loc 1 1750 1 is_stmt 1 view -0
2991 .cfi_startproc
2992 @ args = 0, pretend = 0, frame = 0
2993 @ frame_needed = 0, uses_anonymous_args = 0
2994 @ link register save eliminated.
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
2995 .loc 1 1750 1 is_stmt 0 view .LVU1015
2996 0000 8446 mov ip, r0
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
2997 .loc 1 1751 3 is_stmt 1 view .LVU1016
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2998 .loc 1 1752 3 view .LVU1017
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2999 .loc 1 1753 3 view .LVU1018
3000 .LVL173:
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3001 .loc 1 1756 3 view .LVU1019
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3002 .loc 1 1759 3 view .LVU1020
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3003 .loc 1 1759 3 view .LVU1021
ARM GAS /tmp/ccywxtmH.s page 146
3004 0002 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
3005 .LVL174:
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3006 .loc 1 1759 3 is_stmt 0 view .LVU1022
3007 0006 0128 cmp r0, #1
3008 0008 79D0 beq .L232
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3009 .loc 1 1750 1 discriminator 2 view .LVU1023
3010 000a 10B4 push {r4}
3011 .cfi_def_cfa_offset 4
3012 .cfi_offset 4, -4
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3013 .loc 1 1759 3 is_stmt 1 discriminator 2 view .LVU1024
3014 000c 0120 movs r0, #1
3015 000e 8CF85C00 strb r0, [ip, #92]
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3016 .loc 1 1759 3 discriminator 2 view .LVU1025
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3017 .loc 1 1762 3 discriminator 2 view .LVU1026
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3018 .loc 1 1762 23 is_stmt 0 discriminator 2 view .LVU1027
3019 0012 9CF85D00 ldrb r0, [ip, #93] @ zero_extendqisi2
3020 0016 C0B2 uxtb r0, r0
3021 .LVL175:
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3022 .loc 1 1763 3 is_stmt 1 discriminator 2 view .LVU1028
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3023 .loc 1 1763 23 is_stmt 0 discriminator 2 view .LVU1029
3024 0018 DCF80440 ldr r4, [ip, #4]
3025 .LVL176:
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3026 .loc 1 1765 3 is_stmt 1 discriminator 2 view .LVU1030
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3027 .loc 1 1765 6 is_stmt 0 discriminator 2 view .LVU1031
3028 001c 0128 cmp r0, #1
3029 001e 08D0 beq .L224
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3030 .loc 1 1765 7 discriminator 1 view .LVU1032
3031 0020 B4F5827F cmp r4, #260
3032 0024 58D1 bne .L233
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3033 .loc 1 1766 54 view .LVU1033
3034 0026 DCF80840 ldr r4, [ip, #8]
3035 .LVL177:
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3036 .loc 1 1766 40 view .LVU1034
3037 002a 002C cmp r4, #0
3038 002c 5BD1 bne .L234
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3039 .loc 1 1766 90 discriminator 1 view .LVU1035
3040 002e 0428 cmp r0, #4
3041 0030 5BD1 bne .L235
3042 .L224:
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3043 .loc 1 1772 3 is_stmt 1 view .LVU1036
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3044 .loc 1 1772 6 is_stmt 0 view .LVU1037
ARM GAS /tmp/ccywxtmH.s page 147
3045 0032 0029 cmp r1, #0
3046 0034 5BD0 beq .L236
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3047 .loc 1 1772 25 discriminator 1 view .LVU1038
3048 0036 002A cmp r2, #0
3049 0038 5BD0 beq .L237
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3050 .loc 1 1772 46 discriminator 2 view .LVU1039
3051 003a 002B cmp r3, #0
3052 003c 5BD0 beq .L238
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3053 .loc 1 1779 3 is_stmt 1 view .LVU1040
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3054 .loc 1 1779 11 is_stmt 0 view .LVU1041
3055 003e 9CF85D00 ldrb r0, [ip, #93] @ zero_extendqisi2
3056 .LVL178:
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3057 .loc 1 1779 11 view .LVU1042
3058 0042 C0B2 uxtb r0, r0
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3059 .loc 1 1779 6 view .LVU1043
3060 0044 0428 cmp r0, #4
3061 0046 02D0 beq .L226
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3062 .loc 1 1781 5 is_stmt 1 view .LVU1044
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3063 .loc 1 1781 17 is_stmt 0 view .LVU1045
3064 0048 0520 movs r0, #5
3065 004a 8CF85D00 strb r0, [ip, #93]
3066 .L226:
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3067 .loc 1 1785 3 is_stmt 1 view .LVU1046
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3068 .loc 1 1785 21 is_stmt 0 view .LVU1047
3069 004e 0020 movs r0, #0
3070 0050 CCF86000 str r0, [ip, #96]
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3071 .loc 1 1786 3 is_stmt 1 view .LVU1048
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3072 .loc 1 1786 21 is_stmt 0 view .LVU1049
3073 0054 CCF83810 str r1, [ip, #56]
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3074 .loc 1 1787 3 is_stmt 1 view .LVU1050
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3075 .loc 1 1787 21 is_stmt 0 view .LVU1051
3076 0058 ACF83C30 strh r3, [ip, #60] @ movhi
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3077 .loc 1 1788 3 is_stmt 1 view .LVU1052
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3078 .loc 1 1788 21 is_stmt 0 view .LVU1053
3079 005c ACF83E30 strh r3, [ip, #62] @ movhi
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3080 .loc 1 1789 3 is_stmt 1 view .LVU1054
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3081 .loc 1 1789 21 is_stmt 0 view .LVU1055
3082 0060 CCF84020 str r2, [ip, #64]
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
ARM GAS /tmp/ccywxtmH.s page 148
3083 .loc 1 1790 3 is_stmt 1 view .LVU1056
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3084 .loc 1 1790 21 is_stmt 0 view .LVU1057
3085 0064 ACF84430 strh r3, [ip, #68] @ movhi
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3086 .loc 1 1791 3 is_stmt 1 view .LVU1058
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3087 .loc 1 1791 21 is_stmt 0 view .LVU1059
3088 0068 ACF84630 strh r3, [ip, #70] @ movhi
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3089 .loc 1 1794 3 is_stmt 1 view .LVU1060
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3090 .loc 1 1794 17 is_stmt 0 view .LVU1061
3091 006c DCF80C20 ldr r2, [ip, #12]
3092 .LVL179:
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3093 .loc 1 1794 6 view .LVU1062
3094 0070 B2F5E06F cmp r2, #1792
3095 0074 22D9 bls .L227
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3096 .loc 1 1796 5 is_stmt 1 view .LVU1063
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3097 .loc 1 1796 21 is_stmt 0 view .LVU1064
3098 0076 2349 ldr r1, .L244
3099 .LVL180:
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3100 .loc 1 1796 21 view .LVU1065
3101 0078 CCF84C10 str r1, [ip, #76]
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3102 .loc 1 1797 5 is_stmt 1 view .LVU1066
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3103 .loc 1 1797 21 is_stmt 0 view .LVU1067
3104 007c 2249 ldr r1, .L244+4
3105 007e CCF85010 str r1, [ip, #80]
3106 .L228:
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3107 .loc 1 1823 3 is_stmt 1 view .LVU1068
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3108 .loc 1 1823 6 is_stmt 0 view .LVU1069
3109 0082 B2F5E06F cmp r2, #1792
3110 0086 01D8 bhi .L229
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3111 .loc 1 1823 49 discriminator 1 view .LVU1070
3112 0088 012B cmp r3, #1
3113 008a 1ED9 bls .L230
3114 .L229:
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3115 .loc 1 1826 5 is_stmt 1 view .LVU1071
3116 008c DCF80020 ldr r2, [ip]
3117 0090 5368 ldr r3, [r2, #4]
3118 .LVL181:
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3119 .loc 1 1826 5 is_stmt 0 view .LVU1072
3120 0092 23F48053 bic r3, r3, #4096
3121 0096 5360 str r3, [r2, #4]
3122 .LVL182:
3123 .L231:
ARM GAS /tmp/ccywxtmH.s page 149
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3124 .loc 1 1835 3 is_stmt 1 view .LVU1073
3125 0098 DCF80020 ldr r2, [ip]
3126 009c 5368 ldr r3, [r2, #4]
3127 009e 43F0E003 orr r3, r3, #224
3128 00a2 5360 str r3, [r2, #4]
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3129 .loc 1 1838 3 view .LVU1074
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3130 .loc 1 1838 12 is_stmt 0 view .LVU1075
3131 00a4 DCF80030 ldr r3, [ip]
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3132 .loc 1 1838 22 view .LVU1076
3133 00a8 1A68 ldr r2, [r3]
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3134 .loc 1 1838 6 view .LVU1077
3135 00aa 12F0400F tst r2, #64
3136 00ae 24D1 bne .L239
1841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3137 .loc 1 1841 5 is_stmt 1 view .LVU1078
3138 00b0 1A68 ldr r2, [r3]
3139 00b2 42F04002 orr r2, r2, #64
3140 00b6 1A60 str r2, [r3]
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3141 .loc 1 1753 24 is_stmt 0 view .LVU1079
3142 00b8 0020 movs r0, #0
3143 00ba 0EE0 b .L225
3144 .LVL183:
3145 .L227:
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3146 .loc 1 1801 5 is_stmt 1 view .LVU1080
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3147 .loc 1 1801 21 is_stmt 0 view .LVU1081
3148 00bc 1349 ldr r1, .L244+8
3149 .LVL184:
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3150 .loc 1 1801 21 view .LVU1082
3151 00be CCF84C10 str r1, [ip, #76]
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3152 .loc 1 1802 5 is_stmt 1 view .LVU1083
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3153 .loc 1 1802 21 is_stmt 0 view .LVU1084
3154 00c2 1349 ldr r1, .L244+12
3155 00c4 CCF85010 str r1, [ip, #80]
3156 00c8 DBE7 b .L228
3157 .L230:
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3158 .loc 1 1831 5 is_stmt 1 view .LVU1085
3159 00ca DCF80020 ldr r2, [ip]
3160 00ce 5368 ldr r3, [r2, #4]
3161 .LVL185:
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3162 .loc 1 1831 5 is_stmt 0 view .LVU1086
3163 00d0 43F48053 orr r3, r3, #4096
3164 00d4 5360 str r3, [r2, #4]
3165 .LVL186:
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 150
3166 .loc 1 1831 5 view .LVU1087
3167 00d6 DFE7 b .L231
3168 .LVL187:
3169 .L233:
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3170 .loc 1 1768 15 view .LVU1088
3171 00d8 0220 movs r0, #2
3172 .LVL188:
3173 .L225:
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3174 .loc 1 1846 3 is_stmt 1 view .LVU1089
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3175 .loc 1 1846 3 view .LVU1090
3176 00da 0023 movs r3, #0
3177 00dc 8CF85C30 strb r3, [ip, #92]
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3178 .loc 1 1846 3 view .LVU1091
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3179 .loc 1 1847 3 view .LVU1092
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3180 .loc 1 1848 1 is_stmt 0 view .LVU1093
3181 00e0 5DF8044B ldr r4, [sp], #4
3182 .cfi_remember_state
3183 .cfi_restore 4
3184 .cfi_def_cfa_offset 0
3185 00e4 7047 bx lr
3186 .LVL189:
3187 .L234:
3188 .cfi_restore_state
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3189 .loc 1 1768 15 view .LVU1094
3190 00e6 0220 movs r0, #2
3191 .LVL190:
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3192 .loc 1 1768 15 view .LVU1095
3193 00e8 F7E7 b .L225
3194 .LVL191:
3195 .L235:
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3196 .loc 1 1768 15 view .LVU1096
3197 00ea 0220 movs r0, #2
3198 .LVL192:
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3199 .loc 1 1768 15 view .LVU1097
3200 00ec F5E7 b .L225
3201 .LVL193:
3202 .L236:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3203 .loc 1 1774 15 view .LVU1098
3204 00ee 0120 movs r0, #1
3205 .LVL194:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3206 .loc 1 1774 15 view .LVU1099
3207 00f0 F3E7 b .L225
3208 .LVL195:
3209 .L237:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
ARM GAS /tmp/ccywxtmH.s page 151
3210 .loc 1 1774 15 view .LVU1100
3211 00f2 0120 movs r0, #1
3212 .LVL196:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3213 .loc 1 1774 15 view .LVU1101
3214 00f4 F1E7 b .L225
3215 .LVL197:
3216 .L238:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3217 .loc 1 1774 15 view .LVU1102
3218 00f6 0120 movs r0, #1
3219 .LVL198:
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3220 .loc 1 1774 15 view .LVU1103
3221 00f8 EFE7 b .L225
3222 .LVL199:
3223 .L239:
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3224 .loc 1 1753 24 view .LVU1104
3225 00fa 0020 movs r0, #0
3226 00fc EDE7 b .L225
3227 .LVL200:
3228 .L232:
3229 .cfi_def_cfa_offset 0
3230 .cfi_restore 4
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3231 .loc 1 1759 3 view .LVU1105
3232 00fe 0220 movs r0, #2
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3233 .loc 1 1848 1 view .LVU1106
3234 0100 7047 bx lr
3235 .L245:
3236 0102 00BF .align 2
3237 .L244:
3238 0104 00000000 .word SPI_2linesRxISR_16BIT
3239 0108 00000000 .word SPI_2linesTxISR_16BIT
3240 010c 00000000 .word SPI_2linesRxISR_8BIT
3241 0110 00000000 .word SPI_2linesTxISR_8BIT
3242 .cfi_endproc
3243 .LFE139:
3245 .section .text.HAL_SPI_Receive_IT,"ax",%progbits
3246 .align 1
3247 .global HAL_SPI_Receive_IT
3248 .syntax unified
3249 .thumb
3250 .thumb_func
3252 HAL_SPI_Receive_IT:
3253 .LVL201:
3254 .LFB138:
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3255 .loc 1 1643 1 is_stmt 1 view -0
3256 .cfi_startproc
3257 @ args = 0, pretend = 0, frame = 0
3258 @ frame_needed = 0, uses_anonymous_args = 0
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3259 .loc 1 1643 1 is_stmt 0 view .LVU1108
3260 0000 08B5 push {r3, lr}
ARM GAS /tmp/ccywxtmH.s page 152
3261 .cfi_def_cfa_offset 8
3262 .cfi_offset 3, -8
3263 .cfi_offset 14, -4
3264 0002 8446 mov ip, r0
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3265 .loc 1 1644 3 is_stmt 1 view .LVU1109
3266 .LVL202:
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3267 .loc 1 1646 3 view .LVU1110
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3268 .loc 1 1646 18 is_stmt 0 view .LVU1111
3269 0004 8368 ldr r3, [r0, #8]
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3270 .loc 1 1646 6 view .LVU1112
3271 0006 1BB9 cbnz r3, .L247
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3272 .loc 1 1646 68 discriminator 1 view .LVU1113
3273 0008 4368 ldr r3, [r0, #4]
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3274 .loc 1 1646 54 discriminator 1 view .LVU1114
3275 000a B3F5827F cmp r3, #260
3276 000e 48D0 beq .L257
3277 .L247:
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3278 .loc 1 1654 3 is_stmt 1 view .LVU1115
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3279 .loc 1 1654 3 view .LVU1116
3280 0010 9CF85C30 ldrb r3, [ip, #92] @ zero_extendqisi2
3281 0014 012B cmp r3, #1
3282 0016 6AD0 beq .L253
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3283 .loc 1 1654 3 discriminator 2 view .LVU1117
3284 0018 0123 movs r3, #1
3285 001a 8CF85C30 strb r3, [ip, #92]
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3286 .loc 1 1654 3 discriminator 2 view .LVU1118
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3287 .loc 1 1656 3 discriminator 2 view .LVU1119
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3288 .loc 1 1656 11 is_stmt 0 discriminator 2 view .LVU1120
3289 001e 9CF85D00 ldrb r0, [ip, #93] @ zero_extendqisi2
3290 .LVL203:
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3291 .loc 1 1656 11 discriminator 2 view .LVU1121
3292 0022 C0B2 uxtb r0, r0
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3293 .loc 1 1656 6 discriminator 2 view .LVU1122
3294 0024 9842 cmp r0, r3
3295 0026 5BD1 bne .L254
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3296 .loc 1 1662 3 is_stmt 1 view .LVU1123
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3297 .loc 1 1662 6 is_stmt 0 view .LVU1124
3298 0028 0029 cmp r1, #0
3299 002a 5AD0 beq .L249
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3300 .loc 1 1662 23 discriminator 1 view .LVU1125
ARM GAS /tmp/ccywxtmH.s page 153
3301 002c 002A cmp r2, #0
3302 002e 58D0 beq .L249
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3303 .loc 1 1669 3 is_stmt 1 view .LVU1126
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3304 .loc 1 1669 21 is_stmt 0 view .LVU1127
3305 0030 0423 movs r3, #4
3306 0032 8CF85D30 strb r3, [ip, #93]
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3307 .loc 1 1670 3 is_stmt 1 view .LVU1128
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3308 .loc 1 1670 21 is_stmt 0 view .LVU1129
3309 0036 0023 movs r3, #0
3310 0038 CCF86030 str r3, [ip, #96]
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3311 .loc 1 1671 3 is_stmt 1 view .LVU1130
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3312 .loc 1 1671 21 is_stmt 0 view .LVU1131
3313 003c CCF84010 str r1, [ip, #64]
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3314 .loc 1 1672 3 is_stmt 1 view .LVU1132
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3315 .loc 1 1672 21 is_stmt 0 view .LVU1133
3316 0040 ACF84420 strh r2, [ip, #68] @ movhi
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3317 .loc 1 1673 3 is_stmt 1 view .LVU1134
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3318 .loc 1 1673 21 is_stmt 0 view .LVU1135
3319 0044 ACF84620 strh r2, [ip, #70] @ movhi
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
3320 .loc 1 1676 3 is_stmt 1 view .LVU1136
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
3321 .loc 1 1676 21 is_stmt 0 view .LVU1137
3322 0048 CCF83830 str r3, [ip, #56]
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3323 .loc 1 1677 3 is_stmt 1 view .LVU1138
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3324 .loc 1 1677 21 is_stmt 0 view .LVU1139
3325 004c ACF83C30 strh r3, [ip, #60] @ movhi
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3326 .loc 1 1678 3 is_stmt 1 view .LVU1140
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3327 .loc 1 1678 21 is_stmt 0 view .LVU1141
3328 0050 ACF83E30 strh r3, [ip, #62] @ movhi
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3329 .loc 1 1679 3 is_stmt 1 view .LVU1142
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3330 .loc 1 1679 21 is_stmt 0 view .LVU1143
3331 0054 CCF85030 str r3, [ip, #80]
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3332 .loc 1 1682 3 is_stmt 1 view .LVU1144
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3333 .loc 1 1682 17 is_stmt 0 view .LVU1145
3334 0058 DCF80C30 ldr r3, [ip, #12]
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3335 .loc 1 1682 6 view .LVU1146
3336 005c B3F5E06F cmp r3, #1792
ARM GAS /tmp/ccywxtmH.s page 154
3337 0060 27D9 bls .L250
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
3338 .loc 1 1685 5 is_stmt 1 view .LVU1147
3339 0062 DCF80020 ldr r2, [ip]
3340 .LVL204:
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
3341 .loc 1 1685 5 is_stmt 0 view .LVU1148
3342 0066 5368 ldr r3, [r2, #4]
3343 0068 23F48053 bic r3, r3, #4096
3344 006c 5360 str r3, [r2, #4]
3345 .LVL205:
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3346 .loc 1 1686 5 is_stmt 1 view .LVU1149
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3347 .loc 1 1686 17 is_stmt 0 view .LVU1150
3348 006e 214B ldr r3, .L259
3349 0070 CCF84C30 str r3, [ip, #76]
3350 .L251:
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3351 .loc 1 1696 3 is_stmt 1 view .LVU1151
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3352 .loc 1 1696 17 is_stmt 0 view .LVU1152
3353 0074 DCF80830 ldr r3, [ip, #8]
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3354 .loc 1 1696 6 view .LVU1153
3355 0078 B3F5004F cmp r3, #32768
3356 007c 23D0 beq .L258
3357 .L252:
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3358 .loc 1 1721 3 is_stmt 1 view .LVU1154
3359 007e DCF80020 ldr r2, [ip]
3360 0082 5368 ldr r3, [r2, #4]
3361 0084 43F06003 orr r3, r3, #96
3362 0088 5360 str r3, [r2, #4]
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3363 .loc 1 1728 3 view .LVU1155
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3364 .loc 1 1728 12 is_stmt 0 view .LVU1156
3365 008a DCF80030 ldr r3, [ip]
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3366 .loc 1 1728 22 view .LVU1157
3367 008e 1A68 ldr r2, [r3]
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3368 .loc 1 1728 6 view .LVU1158
3369 0090 12F0400F tst r2, #64
3370 0094 29D1 bne .L255
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3371 .loc 1 1731 5 is_stmt 1 view .LVU1159
3372 0096 1A68 ldr r2, [r3]
3373 0098 42F04002 orr r2, r2, #64
3374 009c 1A60 str r2, [r3]
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3375 .loc 1 1644 21 is_stmt 0 view .LVU1160
3376 009e 0020 movs r0, #0
3377 00a0 1FE0 b .L249
3378 .LVL206:
3379 .L257:
ARM GAS /tmp/ccywxtmH.s page 155
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
3380 .loc 1 1648 5 is_stmt 1 view .LVU1161
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
3381 .loc 1 1648 17 is_stmt 0 view .LVU1162
3382 00a2 0423 movs r3, #4
3383 00a4 80F85D30 strb r3, [r0, #93]
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3384 .loc 1 1650 5 is_stmt 1 view .LVU1163
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3385 .loc 1 1650 12 is_stmt 0 view .LVU1164
3386 00a8 1346 mov r3, r2
3387 00aa 0A46 mov r2, r1
3388 .LVL207:
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3389 .loc 1 1650 12 view .LVU1165
3390 00ac FFF7FEFF bl HAL_SPI_TransmitReceive_IT
3391 .LVL208:
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3392 .loc 1 1650 12 view .LVU1166
3393 00b0 1AE0 b .L248
3394 .LVL209:
3395 .L250:
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
3396 .loc 1 1691 5 is_stmt 1 view .LVU1167
3397 00b2 DCF80020 ldr r2, [ip]
3398 .LVL210:
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
3399 .loc 1 1691 5 is_stmt 0 view .LVU1168
3400 00b6 5368 ldr r3, [r2, #4]
3401 00b8 43F48053 orr r3, r3, #4096
3402 00bc 5360 str r3, [r2, #4]
3403 .LVL211:
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3404 .loc 1 1692 5 is_stmt 1 view .LVU1169
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3405 .loc 1 1692 17 is_stmt 0 view .LVU1170
3406 00be 0E4B ldr r3, .L259+4
3407 00c0 CCF84C30 str r3, [ip, #76]
3408 00c4 D6E7 b .L251
3409 .L258:
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
3410 .loc 1 1699 5 is_stmt 1 view .LVU1171
3411 00c6 DCF80020 ldr r2, [ip]
3412 00ca 1368 ldr r3, [r2]
3413 00cc 23F04003 bic r3, r3, #64
3414 00d0 1360 str r3, [r2]
1700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3415 .loc 1 1700 5 view .LVU1172
3416 00d2 DCF80020 ldr r2, [ip]
3417 00d6 1368 ldr r3, [r2]
3418 00d8 23F48043 bic r3, r3, #16384
3419 00dc 1360 str r3, [r2]
3420 00de CEE7 b .L252
3421 .LVL212:
3422 .L254:
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3423 .loc 1 1658 15 is_stmt 0 view .LVU1173
ARM GAS /tmp/ccywxtmH.s page 156
3424 00e0 0220 movs r0, #2
3425 .LVL213:
3426 .L249:
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3427 .loc 1 1736 3 is_stmt 1 view .LVU1174
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3428 .loc 1 1736 3 view .LVU1175
3429 00e2 0023 movs r3, #0
3430 00e4 8CF85C30 strb r3, [ip, #92]
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3431 .loc 1 1736 3 view .LVU1176
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3432 .loc 1 1737 3 view .LVU1177
3433 .LVL214:
3434 .L248:
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3435 .loc 1 1738 1 is_stmt 0 view .LVU1178
3436 00e8 08BD pop {r3, pc}
3437 .LVL215:
3438 .L255:
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3439 .loc 1 1644 21 view .LVU1179
3440 00ea 0020 movs r0, #0
3441 00ec F9E7 b .L249
3442 .LVL216:
3443 .L253:
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3444 .loc 1 1654 3 view .LVU1180
3445 00ee 0220 movs r0, #2
3446 .LVL217:
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3447 .loc 1 1654 3 view .LVU1181
3448 00f0 FAE7 b .L248
3449 .L260:
3450 00f2 00BF .align 2
3451 .L259:
3452 00f4 00000000 .word SPI_RxISR_16BIT
3453 00f8 00000000 .word SPI_RxISR_8BIT
3454 .cfi_endproc
3455 .LFE138:
3457 .section .text.HAL_SPI_Transmit_DMA,"ax",%progbits
3458 .align 1
3459 .global HAL_SPI_Transmit_DMA
3460 .syntax unified
3461 .thumb
3462 .thumb_func
3464 HAL_SPI_Transmit_DMA:
3465 .LVL218:
3466 .LFB140:
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3467 .loc 1 1859 1 is_stmt 1 view -0
3468 .cfi_startproc
3469 @ args = 0, pretend = 0, frame = 0
3470 @ frame_needed = 0, uses_anonymous_args = 0
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3471 .loc 1 1859 1 is_stmt 0 view .LVU1183
3472 0000 38B5 push {r3, r4, r5, lr}
ARM GAS /tmp/ccywxtmH.s page 157
3473 .cfi_def_cfa_offset 16
3474 .cfi_offset 3, -16
3475 .cfi_offset 4, -12
3476 .cfi_offset 5, -8
3477 .cfi_offset 14, -4
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3478 .loc 1 1860 3 is_stmt 1 view .LVU1184
3479 .LVL219:
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3480 .loc 1 1863 3 view .LVU1185
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3481 .loc 1 1866 3 view .LVU1186
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3482 .loc 1 1869 3 view .LVU1187
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3483 .loc 1 1869 3 view .LVU1188
3484 0002 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
3485 0006 012B cmp r3, #1
3486 0008 00F08C80 beq .L269
3487 000c 0446 mov r4, r0
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3488 .loc 1 1869 3 discriminator 2 view .LVU1189
3489 000e 0123 movs r3, #1
3490 0010 80F85C30 strb r3, [r0, #92]
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3491 .loc 1 1869 3 discriminator 2 view .LVU1190
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3492 .loc 1 1871 3 discriminator 2 view .LVU1191
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3493 .loc 1 1871 11 is_stmt 0 discriminator 2 view .LVU1192
3494 0014 90F85D50 ldrb r5, [r0, #93] @ zero_extendqisi2
3495 0018 EDB2 uxtb r5, r5
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3496 .loc 1 1871 6 discriminator 2 view .LVU1193
3497 001a 9D42 cmp r5, r3
3498 001c 7CD1 bne .L270
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3499 .loc 1 1877 3 is_stmt 1 view .LVU1194
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3500 .loc 1 1877 6 is_stmt 0 view .LVU1195
3501 001e 0029 cmp r1, #0
3502 0020 7BD0 beq .L263
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3503 .loc 1 1877 23 discriminator 1 view .LVU1196
3504 0022 002A cmp r2, #0
3505 0024 79D0 beq .L263
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3506 .loc 1 1884 3 is_stmt 1 view .LVU1197
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3507 .loc 1 1884 21 is_stmt 0 view .LVU1198
3508 0026 0323 movs r3, #3
3509 0028 80F85D30 strb r3, [r0, #93]
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
3510 .loc 1 1885 3 is_stmt 1 view .LVU1199
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
3511 .loc 1 1885 21 is_stmt 0 view .LVU1200
3512 002c 0023 movs r3, #0
ARM GAS /tmp/ccywxtmH.s page 158
3513 002e 0366 str r3, [r0, #96]
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3514 .loc 1 1886 3 is_stmt 1 view .LVU1201
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3515 .loc 1 1886 21 is_stmt 0 view .LVU1202
3516 0030 8163 str r1, [r0, #56]
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3517 .loc 1 1887 3 is_stmt 1 view .LVU1203
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3518 .loc 1 1887 21 is_stmt 0 view .LVU1204
3519 0032 8287 strh r2, [r0, #60] @ movhi
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3520 .loc 1 1888 3 is_stmt 1 view .LVU1205
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3521 .loc 1 1888 21 is_stmt 0 view .LVU1206
3522 0034 C287 strh r2, [r0, #62] @ movhi
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3523 .loc 1 1891 3 is_stmt 1 view .LVU1207
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3524 .loc 1 1891 21 is_stmt 0 view .LVU1208
3525 0036 0364 str r3, [r0, #64]
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
3526 .loc 1 1892 3 is_stmt 1 view .LVU1209
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
3527 .loc 1 1892 21 is_stmt 0 view .LVU1210
3528 0038 0365 str r3, [r0, #80]
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
3529 .loc 1 1893 3 is_stmt 1 view .LVU1211
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
3530 .loc 1 1893 21 is_stmt 0 view .LVU1212
3531 003a C364 str r3, [r0, #76]
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3532 .loc 1 1894 3 is_stmt 1 view .LVU1213
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3533 .loc 1 1894 21 is_stmt 0 view .LVU1214
3534 003c A0F84430 strh r3, [r0, #68] @ movhi
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3535 .loc 1 1895 3 is_stmt 1 view .LVU1215
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3536 .loc 1 1895 21 is_stmt 0 view .LVU1216
3537 0040 A0F84630 strh r3, [r0, #70] @ movhi
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3538 .loc 1 1898 3 is_stmt 1 view .LVU1217
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3539 .loc 1 1898 17 is_stmt 0 view .LVU1218
3540 0044 8368 ldr r3, [r0, #8]
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3541 .loc 1 1898 6 view .LVU1219
3542 0046 B3F5004F cmp r3, #32768
3543 004a 39D0 beq .L272
3544 .LVL220:
3545 .L264:
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3546 .loc 1 1914 3 is_stmt 1 view .LVU1220
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3547 .loc 1 1914 7 is_stmt 0 view .LVU1221
3548 004c 636D ldr r3, [r4, #84]
ARM GAS /tmp/ccywxtmH.s page 159
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3549 .loc 1 1914 38 view .LVU1222
3550 004e 364A ldr r2, .L275
3551 0050 DA62 str r2, [r3, #44]
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3552 .loc 1 1917 3 is_stmt 1 view .LVU1223
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3553 .loc 1 1917 7 is_stmt 0 view .LVU1224
3554 0052 636D ldr r3, [r4, #84]
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3555 .loc 1 1917 34 view .LVU1225
3556 0054 354A ldr r2, .L275+4
3557 0056 9A62 str r2, [r3, #40]
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3558 .loc 1 1920 3 is_stmt 1 view .LVU1226
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3559 .loc 1 1920 7 is_stmt 0 view .LVU1227
3560 0058 636D ldr r3, [r4, #84]
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3561 .loc 1 1920 35 view .LVU1228
3562 005a 354A ldr r2, .L275+8
3563 005c 1A63 str r2, [r3, #48]
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3564 .loc 1 1923 3 is_stmt 1 view .LVU1229
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3565 .loc 1 1923 7 is_stmt 0 view .LVU1230
3566 005e 636D ldr r3, [r4, #84]
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3567 .loc 1 1923 35 view .LVU1231
3568 0060 0022 movs r2, #0
3569 0062 5A63 str r2, [r3, #52]
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode is enabled only if the DMA setting is HALWORD */
3570 .loc 1 1925 3 is_stmt 1 view .LVU1232
3571 0064 2268 ldr r2, [r4]
3572 0066 5368 ldr r3, [r2, #4]
3573 0068 23F48043 bic r3, r3, #16384
3574 006c 5360 str r3, [r2, #4]
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3575 .loc 1 1927 3 view .LVU1233
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3576 .loc 1 1927 18 is_stmt 0 view .LVU1234
3577 006e E368 ldr r3, [r4, #12]
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3578 .loc 1 1927 6 view .LVU1235
3579 0070 B3F5E06F cmp r3, #1792
3580 0074 04D8 bhi .L265
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3581 .loc 1 1927 58 discriminator 1 view .LVU1236
3582 0076 636D ldr r3, [r4, #84]
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3583 .loc 1 1927 72 discriminator 1 view .LVU1237
3584 0078 5B69 ldr r3, [r3, #20]
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3585 .loc 1 1927 50 discriminator 1 view .LVU1238
3586 007a B3F5806F cmp r3, #1024
3587 007e 2AD0 beq .L273
3588 .L265:
ARM GAS /tmp/ccywxtmH.s page 160
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3589 .loc 1 1943 3 is_stmt 1 view .LVU1239
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3590 .loc 1 1943 91 is_stmt 0 view .LVU1240
3591 0080 2268 ldr r2, [r4]
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3592 .loc 1 1944 38 view .LVU1241
3593 0082 E38F ldrh r3, [r4, #62]
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3594 .loc 1 1943 17 view .LVU1242
3595 0084 9BB2 uxth r3, r3
3596 0086 0C32 adds r2, r2, #12
3597 0088 A16B ldr r1, [r4, #56]
3598 .LVL221:
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3599 .loc 1 1943 17 view .LVU1243
3600 008a 606D ldr r0, [r4, #84]
3601 .LVL222:
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3602 .loc 1 1943 17 view .LVU1244
3603 008c FFF7FEFF bl HAL_DMA_Start_IT
3604 .LVL223:
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3605 .loc 1 1943 6 view .LVU1245
3606 0090 0146 mov r1, r0
3607 0092 0028 cmp r0, #0
3608 0094 38D1 bne .L274
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3609 .loc 1 1955 3 is_stmt 1 view .LVU1246
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3610 .loc 1 1955 12 is_stmt 0 view .LVU1247
3611 0096 2368 ldr r3, [r4]
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3612 .loc 1 1955 22 view .LVU1248
3613 0098 1A68 ldr r2, [r3]
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3614 .loc 1 1955 6 view .LVU1249
3615 009a 12F0400F tst r2, #64
3616 009e 03D1 bne .L268
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3617 .loc 1 1958 5 is_stmt 1 view .LVU1250
3618 00a0 1A68 ldr r2, [r3]
3619 00a2 42F04002 orr r2, r2, #64
3620 00a6 1A60 str r2, [r3]
3621 .L268:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3622 .loc 1 1962 3 view .LVU1251
3623 00a8 2268 ldr r2, [r4]
3624 00aa 5368 ldr r3, [r2, #4]
3625 00ac 43F02003 orr r3, r3, #32
3626 00b0 5360 str r3, [r2, #4]
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3627 .loc 1 1965 3 view .LVU1252
3628 00b2 2268 ldr r2, [r4]
3629 00b4 5368 ldr r3, [r2, #4]
3630 00b6 43F00203 orr r3, r3, #2
3631 00ba 5360 str r3, [r2, #4]
ARM GAS /tmp/ccywxtmH.s page 161
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3632 .loc 1 1860 21 is_stmt 0 view .LVU1253
3633 00bc 0D46 mov r5, r1
3634 00be 2CE0 b .L263
3635 .LVL224:
3636 .L272:
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
3637 .loc 1 1901 5 is_stmt 1 view .LVU1254
3638 00c0 0268 ldr r2, [r0]
3639 .LVL225:
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
3640 .loc 1 1901 5 is_stmt 0 view .LVU1255
3641 00c2 1368 ldr r3, [r2]
3642 00c4 23F04003 bic r3, r3, #64
3643 00c8 1360 str r3, [r2]
3644 .LVL226:
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3645 .loc 1 1902 5 is_stmt 1 view .LVU1256
3646 00ca 0268 ldr r2, [r0]
3647 00cc 1368 ldr r3, [r2]
3648 00ce 43F48043 orr r3, r3, #16384
3649 00d2 1360 str r3, [r2]
3650 00d4 BAE7 b .L264
3651 .L273:
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3652 .loc 1 1930 5 view .LVU1257
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3653 .loc 1 1930 14 is_stmt 0 view .LVU1258
3654 00d6 E38F ldrh r3, [r4, #62]
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3655 .loc 1 1930 8 view .LVU1259
3656 00d8 13F0010F tst r3, #1
3657 00dc 09D1 bne .L266
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U);
3658 .loc 1 1932 7 is_stmt 1 view .LVU1260
3659 00de 2268 ldr r2, [r4]
3660 00e0 5368 ldr r3, [r2, #4]
3661 00e2 23F48043 bic r3, r3, #16384
3662 00e6 5360 str r3, [r2, #4]
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3663 .loc 1 1933 7 view .LVU1261
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3664 .loc 1 1933 32 is_stmt 0 view .LVU1262
3665 00e8 E38F ldrh r3, [r4, #62]
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3666 .loc 1 1933 25 view .LVU1263
3667 00ea C3F34E03 ubfx r3, r3, #1, #15
3668 00ee E387 strh r3, [r4, #62] @ movhi
3669 00f0 C6E7 b .L265
3670 .L266:
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
3671 .loc 1 1937 7 is_stmt 1 view .LVU1264
3672 00f2 2268 ldr r2, [r4]
3673 00f4 5368 ldr r3, [r2, #4]
3674 00f6 43F48043 orr r3, r3, #16384
3675 00fa 5360 str r3, [r2, #4]
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 162
3676 .loc 1 1938 7 view .LVU1265
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3677 .loc 1 1938 32 is_stmt 0 view .LVU1266
3678 00fc E38F ldrh r3, [r4, #62]
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3679 .loc 1 1938 53 view .LVU1267
3680 00fe C3F34E03 ubfx r3, r3, #1, #15
3681 0102 0133 adds r3, r3, #1
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3682 .loc 1 1938 25 view .LVU1268
3683 0104 E387 strh r3, [r4, #62] @ movhi
3684 0106 BBE7 b .L265
3685 .LVL227:
3686 .L274:
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
3687 .loc 1 1947 5 is_stmt 1 view .LVU1269
3688 0108 236E ldr r3, [r4, #96]
3689 010a 43F01003 orr r3, r3, #16
3690 010e 2366 str r3, [r4, #96]
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3691 .loc 1 1948 5 view .LVU1270
3692 .LVL228:
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3693 .loc 1 1950 5 view .LVU1271
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3694 .loc 1 1950 17 is_stmt 0 view .LVU1272
3695 0110 0123 movs r3, #1
3696 0112 84F85D30 strb r3, [r4, #93]
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3697 .loc 1 1951 5 is_stmt 1 view .LVU1273
3698 0116 00E0 b .L263
3699 .LVL229:
3700 .L270:
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3701 .loc 1 1873 15 is_stmt 0 view .LVU1274
3702 0118 0225 movs r5, #2
3703 .LVL230:
3704 .L263:
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3705 .loc 1 1969 3 is_stmt 1 view .LVU1275
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3706 .loc 1 1969 3 view .LVU1276
3707 011a 0023 movs r3, #0
3708 011c 84F85C30 strb r3, [r4, #92]
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3709 .loc 1 1969 3 view .LVU1277
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3710 .loc 1 1970 3 view .LVU1278
3711 .LVL231:
3712 .L262:
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3713 .loc 1 1971 1 is_stmt 0 view .LVU1279
3714 0120 2846 mov r0, r5
3715 0122 38BD pop {r3, r4, r5, pc}
3716 .LVL232:
3717 .L269:
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 163
3718 .loc 1 1869 3 view .LVU1280
3719 0124 0225 movs r5, #2
3720 0126 FBE7 b .L262
3721 .L276:
3722 .align 2
3723 .L275:
3724 0128 00000000 .word SPI_DMAHalfTransmitCplt
3725 012c 00000000 .word SPI_DMATransmitCplt
3726 0130 00000000 .word SPI_DMAError
3727 .cfi_endproc
3728 .LFE140:
3730 .section .text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits
3731 .align 1
3732 .global HAL_SPI_TransmitReceive_DMA
3733 .syntax unified
3734 .thumb
3735 .thumb_func
3737 HAL_SPI_TransmitReceive_DMA:
3738 .LVL233:
3739 .LFB142:
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3740 .loc 1 2139 1 is_stmt 1 view -0
3741 .cfi_startproc
3742 @ args = 0, pretend = 0, frame = 0
3743 @ frame_needed = 0, uses_anonymous_args = 0
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3744 .loc 1 2139 1 is_stmt 0 view .LVU1282
3745 0000 38B5 push {r3, r4, r5, lr}
3746 .cfi_def_cfa_offset 16
3747 .cfi_offset 3, -16
3748 .cfi_offset 4, -12
3749 .cfi_offset 5, -8
3750 .cfi_offset 14, -4
3751 0002 0446 mov r4, r0
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
3752 .loc 1 2140 3 is_stmt 1 view .LVU1283
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3753 .loc 1 2141 3 view .LVU1284
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3754 .loc 1 2142 3 view .LVU1285
3755 .LVL234:
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
3756 .loc 1 2145 3 view .LVU1286
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3757 .loc 1 2146 3 view .LVU1287
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3758 .loc 1 2149 3 view .LVU1288
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3759 .loc 1 2152 3 view .LVU1289
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3760 .loc 1 2152 3 view .LVU1290
3761 0004 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
3762 .LVL235:
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3763 .loc 1 2152 3 is_stmt 0 view .LVU1291
3764 0008 0128 cmp r0, #1
3765 000a 00F00381 beq .L293
ARM GAS /tmp/ccywxtmH.s page 164
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3766 .loc 1 2152 3 is_stmt 1 discriminator 2 view .LVU1292
3767 000e 0120 movs r0, #1
3768 0010 84F85C00 strb r0, [r4, #92]
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3769 .loc 1 2152 3 discriminator 2 view .LVU1293
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3770 .loc 1 2155 3 discriminator 2 view .LVU1294
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3771 .loc 1 2155 23 is_stmt 0 discriminator 2 view .LVU1295
3772 0014 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
3773 0018 C0B2 uxtb r0, r0
3774 .LVL236:
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3775 .loc 1 2156 3 is_stmt 1 discriminator 2 view .LVU1296
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3776 .loc 1 2156 23 is_stmt 0 discriminator 2 view .LVU1297
3777 001a 6568 ldr r5, [r4, #4]
3778 .LVL237:
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3779 .loc 1 2158 3 is_stmt 1 discriminator 2 view .LVU1298
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3780 .loc 1 2158 6 is_stmt 0 discriminator 2 view .LVU1299
3781 001c 0128 cmp r0, #1
3782 001e 0AD0 beq .L279
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3783 .loc 1 2158 7 discriminator 1 view .LVU1300
3784 0020 B5F5827F cmp r5, #260
3785 0024 40F0E580 bne .L294
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3786 .loc 1 2159 54 view .LVU1301
3787 0028 A568 ldr r5, [r4, #8]
3788 .LVL238:
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3789 .loc 1 2159 40 view .LVU1302
3790 002a 002D cmp r5, #0
3791 002c 40F0E680 bne .L295
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3792 .loc 1 2159 90 discriminator 1 view .LVU1303
3793 0030 0428 cmp r0, #4
3794 0032 40F0E580 bne .L296
3795 .L279:
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3796 .loc 1 2165 3 is_stmt 1 view .LVU1304
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3797 .loc 1 2165 6 is_stmt 0 view .LVU1305
3798 0036 0029 cmp r1, #0
3799 0038 00F0E480 beq .L297
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3800 .loc 1 2165 25 discriminator 1 view .LVU1306
3801 003c 002A cmp r2, #0
3802 003e 00F0E380 beq .L298
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3803 .loc 1 2165 46 discriminator 2 view .LVU1307
3804 0042 002B cmp r3, #0
3805 0044 00F0E280 beq .L299
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 165
3806 .loc 1 2172 3 is_stmt 1 view .LVU1308
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3807 .loc 1 2172 11 is_stmt 0 view .LVU1309
3808 0048 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
3809 .LVL239:
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3810 .loc 1 2172 11 view .LVU1310
3811 004c C0B2 uxtb r0, r0
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3812 .loc 1 2172 6 view .LVU1311
3813 004e 0428 cmp r0, #4
3814 0050 02D0 beq .L281
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3815 .loc 1 2174 5 is_stmt 1 view .LVU1312
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3816 .loc 1 2174 17 is_stmt 0 view .LVU1313
3817 0052 0520 movs r0, #5
3818 0054 84F85D00 strb r0, [r4, #93]
3819 .L281:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3820 .loc 1 2178 3 is_stmt 1 view .LVU1314
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3821 .loc 1 2178 21 is_stmt 0 view .LVU1315
3822 0058 0020 movs r0, #0
3823 005a 2066 str r0, [r4, #96]
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3824 .loc 1 2179 3 is_stmt 1 view .LVU1316
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3825 .loc 1 2179 21 is_stmt 0 view .LVU1317
3826 005c A163 str r1, [r4, #56]
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3827 .loc 1 2180 3 is_stmt 1 view .LVU1318
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3828 .loc 1 2180 21 is_stmt 0 view .LVU1319
3829 005e A387 strh r3, [r4, #60] @ movhi
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3830 .loc 1 2181 3 is_stmt 1 view .LVU1320
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3831 .loc 1 2181 21 is_stmt 0 view .LVU1321
3832 0060 E387 strh r3, [r4, #62] @ movhi
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3833 .loc 1 2182 3 is_stmt 1 view .LVU1322
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3834 .loc 1 2182 21 is_stmt 0 view .LVU1323
3835 0062 2264 str r2, [r4, #64]
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3836 .loc 1 2183 3 is_stmt 1 view .LVU1324
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3837 .loc 1 2183 21 is_stmt 0 view .LVU1325
3838 0064 A4F84430 strh r3, [r4, #68] @ movhi
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3839 .loc 1 2184 3 is_stmt 1 view .LVU1326
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3840 .loc 1 2184 21 is_stmt 0 view .LVU1327
3841 0068 A4F84630 strh r3, [r4, #70] @ movhi
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3842 .loc 1 2187 3 is_stmt 1 view .LVU1328
ARM GAS /tmp/ccywxtmH.s page 166
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3843 .loc 1 2187 21 is_stmt 0 view .LVU1329
3844 006c E064 str r0, [r4, #76]
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3845 .loc 1 2188 3 is_stmt 1 view .LVU1330
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3846 .loc 1 2188 21 is_stmt 0 view .LVU1331
3847 006e 2065 str r0, [r4, #80]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3848 .loc 1 2200 3 is_stmt 1 view .LVU1332
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3849 .loc 1 2200 18 is_stmt 0 view .LVU1333
3850 0070 E368 ldr r3, [r4, #12]
3851 .LVL240:
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3852 .loc 1 2200 6 view .LVU1334
3853 0072 B3F5E06F cmp r3, #1792
3854 0076 05D8 bhi .L282
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3855 .loc 1 2200 58 discriminator 1 view .LVU1335
3856 0078 A36D ldr r3, [r4, #88]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3857 .loc 1 2200 72 discriminator 1 view .LVU1336
3858 007a 5B69 ldr r3, [r3, #20]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3859 .loc 1 2200 50 discriminator 1 view .LVU1337
3860 007c B3F5806F cmp r3, #1024
3861 0080 00F0C680 beq .L300
3862 .L282:
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3863 .loc 1 2209 3 is_stmt 1 view .LVU1338
3864 0084 2268 ldr r2, [r4]
3865 .LVL241:
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3866 .loc 1 2209 3 is_stmt 0 view .LVU1339
3867 0086 5368 ldr r3, [r2, #4]
3868 0088 23F4C043 bic r3, r3, #24576
3869 008c 5360 str r3, [r2, #4]
3870 .LVL242:
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3871 .loc 1 2212 3 is_stmt 1 view .LVU1340
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3872 .loc 1 2212 17 is_stmt 0 view .LVU1341
3873 008e E368 ldr r3, [r4, #12]
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3874 .loc 1 2212 6 view .LVU1342
3875 0090 B3F5E06F cmp r3, #1792
3876 0094 28D9 bls .L283
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3877 .loc 1 2215 5 is_stmt 1 view .LVU1343
3878 0096 2268 ldr r2, [r4]
3879 0098 5368 ldr r3, [r2, #4]
3880 009a 23F48053 bic r3, r3, #4096
3881 009e 5360 str r3, [r2, #4]
3882 .L284:
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3883 .loc 1 2255 3 view .LVU1344
ARM GAS /tmp/ccywxtmH.s page 167
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3884 .loc 1 2255 11 is_stmt 0 view .LVU1345
3885 00a0 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
3886 00a4 DBB2 uxtb r3, r3
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3887 .loc 1 2255 6 view .LVU1346
3888 00a6 042B cmp r3, #4
3889 00a8 69D0 beq .L302
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3890 .loc 1 2264 5 is_stmt 1 view .LVU1347
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3891 .loc 1 2264 9 is_stmt 0 view .LVU1348
3892 00aa A36D ldr r3, [r4, #88]
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3893 .loc 1 2264 40 view .LVU1349
3894 00ac 5A4A ldr r2, .L305
3895 00ae DA62 str r2, [r3, #44]
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3896 .loc 1 2265 5 is_stmt 1 view .LVU1350
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3897 .loc 1 2265 9 is_stmt 0 view .LVU1351
3898 00b0 A36D ldr r3, [r4, #88]
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3899 .loc 1 2265 40 view .LVU1352
3900 00b2 5A4A ldr r2, .L305+4
3901 00b4 9A62 str r2, [r3, #40]
3902 .L289:
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3903 .loc 1 2269 3 is_stmt 1 view .LVU1353
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3904 .loc 1 2269 7 is_stmt 0 view .LVU1354
3905 00b6 A36D ldr r3, [r4, #88]
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3906 .loc 1 2269 35 view .LVU1355
3907 00b8 594A ldr r2, .L305+8
3908 00ba 1A63 str r2, [r3, #48]
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3909 .loc 1 2272 3 is_stmt 1 view .LVU1356
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3910 .loc 1 2272 7 is_stmt 0 view .LVU1357
3911 00bc A36D ldr r3, [r4, #88]
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3912 .loc 1 2272 35 view .LVU1358
3913 00be 0022 movs r2, #0
3914 00c0 5A63 str r2, [r3, #52]
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3915 .loc 1 2275 3 is_stmt 1 view .LVU1359
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3916 .loc 1 2275 63 is_stmt 0 view .LVU1360
3917 00c2 2168 ldr r1, [r4]
3918 .LVL243:
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3919 .loc 1 2276 38 view .LVU1361
3920 00c4 B4F84630 ldrh r3, [r4, #70]
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3921 .loc 1 2275 17 view .LVU1362
3922 00c8 9BB2 uxth r3, r3
ARM GAS /tmp/ccywxtmH.s page 168
3923 00ca 226C ldr r2, [r4, #64]
3924 00cc 0C31 adds r1, r1, #12
3925 00ce A06D ldr r0, [r4, #88]
3926 00d0 FFF7FEFF bl HAL_DMA_Start_IT
3927 .LVL244:
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3928 .loc 1 2275 6 view .LVU1363
3929 00d4 0028 cmp r0, #0
3930 00d6 59D0 beq .L290
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
3931 .loc 1 2279 5 is_stmt 1 view .LVU1364
3932 00d8 236E ldr r3, [r4, #96]
3933 00da 43F01003 orr r3, r3, #16
3934 00de 2366 str r3, [r4, #96]
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3935 .loc 1 2280 5 view .LVU1365
3936 .LVL245:
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3937 .loc 1 2282 5 view .LVU1366
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3938 .loc 1 2282 17 is_stmt 0 view .LVU1367
3939 00e0 0120 movs r0, #1
3940 00e2 84F85D00 strb r0, [r4, #93]
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3941 .loc 1 2283 5 is_stmt 1 view .LVU1368
3942 00e6 85E0 b .L280
3943 .LVL246:
3944 .L283:
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3945 .loc 1 2220 5 view .LVU1369
3946 00e8 2268 ldr r2, [r4]
3947 00ea 5368 ldr r3, [r2, #4]
3948 00ec 43F48053 orr r3, r3, #4096
3949 00f0 5360 str r3, [r2, #4]
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3950 .loc 1 2222 5 view .LVU1370
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3951 .loc 1 2222 13 is_stmt 0 view .LVU1371
3952 00f2 636D ldr r3, [r4, #84]
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3953 .loc 1 2222 27 view .LVU1372
3954 00f4 5B69 ldr r3, [r3, #20]
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3955 .loc 1 2222 8 view .LVU1373
3956 00f6 B3F5806F cmp r3, #1024
3957 00fa 1AD0 beq .L303
3958 .L285:
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3959 .loc 1 2236 5 is_stmt 1 view .LVU1374
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3960 .loc 1 2236 13 is_stmt 0 view .LVU1375
3961 00fc A36D ldr r3, [r4, #88]
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3962 .loc 1 2236 27 view .LVU1376
3963 00fe 5B69 ldr r3, [r3, #20]
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3964 .loc 1 2236 8 view .LVU1377
ARM GAS /tmp/ccywxtmH.s page 169
3965 0100 B3F5806F cmp r3, #1024
3966 0104 CCD1 bne .L284
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3967 .loc 1 2239 7 is_stmt 1 view .LVU1378
3968 0106 2268 ldr r2, [r4]
3969 0108 5368 ldr r3, [r2, #4]
3970 010a 23F48053 bic r3, r3, #4096
3971 010e 5360 str r3, [r2, #4]
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3972 .loc 1 2241 7 view .LVU1379
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3973 .loc 1 2241 16 is_stmt 0 view .LVU1380
3974 0110 B4F84630 ldrh r3, [r4, #70]
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3975 .loc 1 2241 10 view .LVU1381
3976 0114 13F0010F tst r3, #1
3977 0118 24D1 bne .L287
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
3978 .loc 1 2243 9 is_stmt 1 view .LVU1382
3979 011a 2268 ldr r2, [r4]
3980 011c 5368 ldr r3, [r2, #4]
3981 011e 23F40053 bic r3, r3, #8192
3982 0122 5360 str r3, [r2, #4]
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3983 .loc 1 2244 9 view .LVU1383
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3984 .loc 1 2244 33 is_stmt 0 view .LVU1384
3985 0124 B4F84630 ldrh r3, [r4, #70]
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3986 .loc 1 2244 27 view .LVU1385
3987 0128 C3F34E03 ubfx r3, r3, #1, #15
3988 012c A4F84630 strh r3, [r4, #70] @ movhi
3989 0130 B6E7 b .L284
3990 .L303:
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3991 .loc 1 2224 7 is_stmt 1 view .LVU1386
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3992 .loc 1 2224 16 is_stmt 0 view .LVU1387
3993 0132 A38F ldrh r3, [r4, #60]
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3994 .loc 1 2224 10 view .LVU1388
3995 0134 13F0010F tst r3, #1
3996 0138 09D1 bne .L286
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = hspi->TxXferCount >> 1U;
3997 .loc 1 2226 9 is_stmt 1 view .LVU1389
3998 013a 2268 ldr r2, [r4]
3999 013c 5368 ldr r3, [r2, #4]
4000 013e 23F48043 bic r3, r3, #16384
4001 0142 5360 str r3, [r2, #4]
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4002 .loc 1 2227 9 view .LVU1390
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4003 .loc 1 2227 33 is_stmt 0 view .LVU1391
4004 0144 E38F ldrh r3, [r4, #62]
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4005 .loc 1 2227 27 view .LVU1392
4006 0146 C3F34E03 ubfx r3, r3, #1, #15
ARM GAS /tmp/ccywxtmH.s page 170
4007 014a E387 strh r3, [r4, #62] @ movhi
4008 014c D6E7 b .L285
4009 .L286:
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
4010 .loc 1 2231 9 is_stmt 1 view .LVU1393
4011 014e 2268 ldr r2, [r4]
4012 0150 5368 ldr r3, [r2, #4]
4013 0152 43F48043 orr r3, r3, #16384
4014 0156 5360 str r3, [r2, #4]
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4015 .loc 1 2232 9 view .LVU1394
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4016 .loc 1 2232 34 is_stmt 0 view .LVU1395
4017 0158 E38F ldrh r3, [r4, #62]
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4018 .loc 1 2232 55 view .LVU1396
4019 015a C3F34E03 ubfx r3, r3, #1, #15
4020 015e 0133 adds r3, r3, #1
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4021 .loc 1 2232 27 view .LVU1397
4022 0160 E387 strh r3, [r4, #62] @ movhi
4023 0162 CBE7 b .L285
4024 .L287:
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
4025 .loc 1 2248 9 is_stmt 1 view .LVU1398
4026 0164 2268 ldr r2, [r4]
4027 0166 5368 ldr r3, [r2, #4]
4028 0168 43F40053 orr r3, r3, #8192
4029 016c 5360 str r3, [r2, #4]
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4030 .loc 1 2249 9 view .LVU1399
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4031 .loc 1 2249 34 is_stmt 0 view .LVU1400
4032 016e B4F84630 ldrh r3, [r4, #70]
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4033 .loc 1 2249 55 view .LVU1401
4034 0172 C3F34E03 ubfx r3, r3, #1, #15
4035 0176 0133 adds r3, r3, #1
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4036 .loc 1 2249 27 view .LVU1402
4037 0178 A4F84630 strh r3, [r4, #70] @ movhi
4038 017c 90E7 b .L284
4039 .L302:
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4040 .loc 1 2258 5 is_stmt 1 view .LVU1403
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4041 .loc 1 2258 9 is_stmt 0 view .LVU1404
4042 017e A36D ldr r3, [r4, #88]
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4043 .loc 1 2258 40 view .LVU1405
4044 0180 284A ldr r2, .L305+12
4045 0182 DA62 str r2, [r3, #44]
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4046 .loc 1 2259 5 is_stmt 1 view .LVU1406
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4047 .loc 1 2259 9 is_stmt 0 view .LVU1407
4048 0184 A36D ldr r3, [r4, #88]
ARM GAS /tmp/ccywxtmH.s page 171
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4049 .loc 1 2259 40 view .LVU1408
4050 0186 284A ldr r2, .L305+16
4051 0188 9A62 str r2, [r3, #40]
4052 018a 94E7 b .L289
4053 .LVL247:
4054 .L290:
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4055 .loc 1 2287 3 is_stmt 1 view .LVU1409
4056 018c 2268 ldr r2, [r4]
4057 018e 5368 ldr r3, [r2, #4]
4058 0190 43F00103 orr r3, r3, #1
4059 0194 5360 str r3, [r2, #4]
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4060 .loc 1 2291 3 view .LVU1410
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4061 .loc 1 2291 7 is_stmt 0 view .LVU1411
4062 0196 626D ldr r2, [r4, #84]
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4063 .loc 1 2291 38 view .LVU1412
4064 0198 0023 movs r3, #0
4065 019a D362 str r3, [r2, #44]
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
4066 .loc 1 2292 3 is_stmt 1 view .LVU1413
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
4067 .loc 1 2292 7 is_stmt 0 view .LVU1414
4068 019c 626D ldr r2, [r4, #84]
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
4069 .loc 1 2292 38 view .LVU1415
4070 019e 9362 str r3, [r2, #40]
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4071 .loc 1 2293 3 is_stmt 1 view .LVU1416
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4072 .loc 1 2293 7 is_stmt 0 view .LVU1417
4073 01a0 626D ldr r2, [r4, #84]
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4074 .loc 1 2293 38 view .LVU1418
4075 01a2 1363 str r3, [r2, #48]
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4076 .loc 1 2294 3 is_stmt 1 view .LVU1419
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4077 .loc 1 2294 7 is_stmt 0 view .LVU1420
4078 01a4 626D ldr r2, [r4, #84]
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4079 .loc 1 2294 38 view .LVU1421
4080 01a6 5363 str r3, [r2, #52]
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4081 .loc 1 2297 3 is_stmt 1 view .LVU1422
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4082 .loc 1 2297 91 is_stmt 0 view .LVU1423
4083 01a8 2268 ldr r2, [r4]
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4084 .loc 1 2298 38 view .LVU1424
4085 01aa E38F ldrh r3, [r4, #62]
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4086 .loc 1 2297 17 view .LVU1425
4087 01ac 9BB2 uxth r3, r3
ARM GAS /tmp/ccywxtmH.s page 172
4088 01ae 0C32 adds r2, r2, #12
4089 01b0 A16B ldr r1, [r4, #56]
4090 01b2 606D ldr r0, [r4, #84]
4091 01b4 FFF7FEFF bl HAL_DMA_Start_IT
4092 .LVL248:
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4093 .loc 1 2297 6 view .LVU1426
4094 01b8 98B9 cbnz r0, .L304
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4095 .loc 1 2309 3 is_stmt 1 view .LVU1427
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4096 .loc 1 2309 12 is_stmt 0 view .LVU1428
4097 01ba 2368 ldr r3, [r4]
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4098 .loc 1 2309 22 view .LVU1429
4099 01bc 1A68 ldr r2, [r3]
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4100 .loc 1 2309 6 view .LVU1430
4101 01be 12F0400F tst r2, #64
4102 01c2 03D1 bne .L292
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4103 .loc 1 2312 5 is_stmt 1 view .LVU1431
4104 01c4 1A68 ldr r2, [r3]
4105 01c6 42F04002 orr r2, r2, #64
4106 01ca 1A60 str r2, [r3]
4107 .L292:
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4108 .loc 1 2315 3 view .LVU1432
4109 01cc 2268 ldr r2, [r4]
4110 01ce 5368 ldr r3, [r2, #4]
4111 01d0 43F02003 orr r3, r3, #32
4112 01d4 5360 str r3, [r2, #4]
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4113 .loc 1 2318 3 view .LVU1433
4114 01d6 2268 ldr r2, [r4]
4115 01d8 5368 ldr r3, [r2, #4]
4116 01da 43F00203 orr r3, r3, #2
4117 01de 5360 str r3, [r2, #4]
4118 01e0 08E0 b .L280
4119 .L304:
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
4120 .loc 1 2301 5 view .LVU1434
4121 01e2 236E ldr r3, [r4, #96]
4122 01e4 43F01003 orr r3, r3, #16
4123 01e8 2366 str r3, [r4, #96]
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4124 .loc 1 2302 5 view .LVU1435
4125 .LVL249:
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4126 .loc 1 2304 5 view .LVU1436
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4127 .loc 1 2304 17 is_stmt 0 view .LVU1437
4128 01ea 0120 movs r0, #1
4129 01ec 84F85D00 strb r0, [r4, #93]
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4130 .loc 1 2305 5 is_stmt 1 view .LVU1438
4131 01f0 00E0 b .L280
ARM GAS /tmp/ccywxtmH.s page 173
4132 .LVL250:
4133 .L294:
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4134 .loc 1 2161 15 is_stmt 0 view .LVU1439
4135 01f2 0220 movs r0, #2
4136 .LVL251:
4137 .L280:
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4138 .loc 1 2322 3 is_stmt 1 view .LVU1440
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4139 .loc 1 2322 3 view .LVU1441
4140 01f4 0023 movs r3, #0
4141 01f6 84F85C30 strb r3, [r4, #92]
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4142 .loc 1 2322 3 view .LVU1442
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4143 .loc 1 2323 3 view .LVU1443
4144 .LVL252:
4145 .L278:
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4146 .loc 1 2324 1 is_stmt 0 view .LVU1444
4147 01fa 38BD pop {r3, r4, r5, pc}
4148 .LVL253:
4149 .L295:
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4150 .loc 1 2161 15 view .LVU1445
4151 01fc 0220 movs r0, #2
4152 .LVL254:
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4153 .loc 1 2161 15 view .LVU1446
4154 01fe F9E7 b .L280
4155 .LVL255:
4156 .L296:
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4157 .loc 1 2161 15 view .LVU1447
4158 0200 0220 movs r0, #2
4159 .LVL256:
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4160 .loc 1 2161 15 view .LVU1448
4161 0202 F7E7 b .L280
4162 .LVL257:
4163 .L297:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4164 .loc 1 2167 15 view .LVU1449
4165 0204 0120 movs r0, #1
4166 .LVL258:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4167 .loc 1 2167 15 view .LVU1450
4168 0206 F5E7 b .L280
4169 .LVL259:
4170 .L298:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4171 .loc 1 2167 15 view .LVU1451
4172 0208 0120 movs r0, #1
4173 .LVL260:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4174 .loc 1 2167 15 view .LVU1452
ARM GAS /tmp/ccywxtmH.s page 174
4175 020a F3E7 b .L280
4176 .LVL261:
4177 .L299:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4178 .loc 1 2167 15 view .LVU1453
4179 020c 0120 movs r0, #1
4180 .LVL262:
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4181 .loc 1 2167 15 view .LVU1454
4182 020e F1E7 b .L280
4183 .LVL263:
4184 .L300:
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4185 .loc 1 2203 15 view .LVU1455
4186 0210 0120 movs r0, #1
4187 0212 EFE7 b .L280
4188 .LVL264:
4189 .L293:
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4190 .loc 1 2152 3 view .LVU1456
4191 0214 0220 movs r0, #2
4192 0216 F0E7 b .L278
4193 .L306:
4194 .align 2
4195 .L305:
4196 0218 00000000 .word SPI_DMAHalfTransmitReceiveCplt
4197 021c 00000000 .word SPI_DMATransmitReceiveCplt
4198 0220 00000000 .word SPI_DMAError
4199 0224 00000000 .word SPI_DMAHalfReceiveCplt
4200 0228 00000000 .word SPI_DMAReceiveCplt
4201 .cfi_endproc
4202 .LFE142:
4204 .section .text.HAL_SPI_Receive_DMA,"ax",%progbits
4205 .align 1
4206 .global HAL_SPI_Receive_DMA
4207 .syntax unified
4208 .thumb
4209 .thumb_func
4211 HAL_SPI_Receive_DMA:
4212 .LVL265:
4213 .LFB141:
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4214 .loc 1 1984 1 is_stmt 1 view -0
4215 .cfi_startproc
4216 @ args = 0, pretend = 0, frame = 0
4217 @ frame_needed = 0, uses_anonymous_args = 0
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4218 .loc 1 1984 1 is_stmt 0 view .LVU1458
4219 0000 38B5 push {r3, r4, r5, lr}
4220 .cfi_def_cfa_offset 16
4221 .cfi_offset 3, -16
4222 .cfi_offset 4, -12
4223 .cfi_offset 5, -8
4224 .cfi_offset 14, -4
4225 0002 0446 mov r4, r0
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4226 .loc 1 1985 3 is_stmt 1 view .LVU1459
ARM GAS /tmp/ccywxtmH.s page 175
4227 .LVL266:
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4228 .loc 1 1988 3 view .LVU1460
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4229 .loc 1 1990 3 view .LVU1461
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4230 .loc 1 1990 18 is_stmt 0 view .LVU1462
4231 0004 8368 ldr r3, [r0, #8]
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4232 .loc 1 1990 6 view .LVU1463
4233 0006 1BB9 cbnz r3, .L308
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4234 .loc 1 1990 68 discriminator 1 view .LVU1464
4235 0008 4068 ldr r0, [r0, #4]
4236 .LVL267:
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4237 .loc 1 1990 54 discriminator 1 view .LVU1465
4238 000a B0F5827F cmp r0, #260
4239 000e 69D0 beq .L321
4240 .L308:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4241 .loc 1 2002 3 is_stmt 1 view .LVU1466
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4242 .loc 1 2002 3 view .LVU1467
4243 0010 94F85C00 ldrb r0, [r4, #92] @ zero_extendqisi2
4244 0014 0128 cmp r0, #1
4245 0016 00F0B580 beq .L318
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4246 .loc 1 2002 3 discriminator 2 view .LVU1468
4247 001a 0120 movs r0, #1
4248 001c 84F85C00 strb r0, [r4, #92]
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4249 .loc 1 2002 3 discriminator 2 view .LVU1469
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4250 .loc 1 2004 3 discriminator 2 view .LVU1470
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4251 .loc 1 2004 11 is_stmt 0 discriminator 2 view .LVU1471
4252 0020 94F85D50 ldrb r5, [r4, #93] @ zero_extendqisi2
4253 0024 EDB2 uxtb r5, r5
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4254 .loc 1 2004 6 discriminator 2 view .LVU1472
4255 0026 8542 cmp r5, r0
4256 0028 40F0A680 bne .L319
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4257 .loc 1 2010 3 is_stmt 1 view .LVU1473
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4258 .loc 1 2010 6 is_stmt 0 view .LVU1474
4259 002c 0029 cmp r1, #0
4260 002e 00F0A480 beq .L310
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4261 .loc 1 2010 23 discriminator 1 view .LVU1475
4262 0032 002A cmp r2, #0
4263 0034 00F0A180 beq .L310
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4264 .loc 1 2017 3 is_stmt 1 view .LVU1476
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4265 .loc 1 2017 21 is_stmt 0 view .LVU1477
ARM GAS /tmp/ccywxtmH.s page 176
4266 0038 0420 movs r0, #4
4267 003a 84F85D00 strb r0, [r4, #93]
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4268 .loc 1 2018 3 is_stmt 1 view .LVU1478
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4269 .loc 1 2018 21 is_stmt 0 view .LVU1479
4270 003e 0020 movs r0, #0
4271 0040 2066 str r0, [r4, #96]
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
4272 .loc 1 2019 3 is_stmt 1 view .LVU1480
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
4273 .loc 1 2019 21 is_stmt 0 view .LVU1481
4274 0042 2164 str r1, [r4, #64]
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
4275 .loc 1 2020 3 is_stmt 1 view .LVU1482
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
4276 .loc 1 2020 21 is_stmt 0 view .LVU1483
4277 0044 A4F84420 strh r2, [r4, #68] @ movhi
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4278 .loc 1 2021 3 is_stmt 1 view .LVU1484
2021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4279 .loc 1 2021 21 is_stmt 0 view .LVU1485
4280 0048 A4F84620 strh r2, [r4, #70] @ movhi
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
4281 .loc 1 2024 3 is_stmt 1 view .LVU1486
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
4282 .loc 1 2024 21 is_stmt 0 view .LVU1487
4283 004c E064 str r0, [r4, #76]
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
4284 .loc 1 2025 3 is_stmt 1 view .LVU1488
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
4285 .loc 1 2025 21 is_stmt 0 view .LVU1489
4286 004e 2065 str r0, [r4, #80]
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4287 .loc 1 2026 3 is_stmt 1 view .LVU1490
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4288 .loc 1 2026 21 is_stmt 0 view .LVU1491
4289 0050 A087 strh r0, [r4, #60] @ movhi
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4290 .loc 1 2027 3 is_stmt 1 view .LVU1492
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4291 .loc 1 2027 21 is_stmt 0 view .LVU1493
4292 0052 E087 strh r0, [r4, #62] @ movhi
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4293 .loc 1 2030 3 is_stmt 1 view .LVU1494
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4294 .loc 1 2030 6 is_stmt 0 view .LVU1495
4295 0054 B3F5004F cmp r3, #32768
4296 0058 4ED0 beq .L322
4297 .LVL268:
4298 .L311:
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4299 .loc 1 2047 3 is_stmt 1 view .LVU1496
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4300 .loc 1 2047 18 is_stmt 0 view .LVU1497
4301 005a E368 ldr r3, [r4, #12]
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 177
4302 .loc 1 2047 6 view .LVU1498
4303 005c B3F5E06F cmp r3, #1792
4304 0060 05D8 bhi .L312
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4305 .loc 1 2047 58 discriminator 1 view .LVU1499
4306 0062 A36D ldr r3, [r4, #88]
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4307 .loc 1 2047 72 discriminator 1 view .LVU1500
4308 0064 5B69 ldr r3, [r3, #20]
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4309 .loc 1 2047 50 discriminator 1 view .LVU1501
4310 0066 B3F5806F cmp r3, #1024
4311 006a 00F08680 beq .L310
4312 .L312:
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
4313 .loc 1 2055 3 is_stmt 1 view .LVU1502
4314 006e 2268 ldr r2, [r4]
4315 0070 5368 ldr r3, [r2, #4]
4316 0072 23F40053 bic r3, r3, #8192
4317 0076 5360 str r3, [r2, #4]
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4318 .loc 1 2056 3 view .LVU1503
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4319 .loc 1 2056 17 is_stmt 0 view .LVU1504
4320 0078 E368 ldr r3, [r4, #12]
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4321 .loc 1 2056 6 view .LVU1505
4322 007a B3F5E06F cmp r3, #1792
4323 007e 46D9 bls .L313
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4324 .loc 1 2059 5 is_stmt 1 view .LVU1506
4325 0080 2268 ldr r2, [r4]
4326 0082 5368 ldr r3, [r2, #4]
4327 0084 23F48053 bic r3, r3, #4096
4328 0088 5360 str r3, [r2, #4]
4329 .L314:
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4330 .loc 1 2085 3 view .LVU1507
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4331 .loc 1 2085 7 is_stmt 0 view .LVU1508
4332 008a A36D ldr r3, [r4, #88]
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4333 .loc 1 2085 38 view .LVU1509
4334 008c 3E4A ldr r2, .L324
4335 008e DA62 str r2, [r3, #44]
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4336 .loc 1 2088 3 is_stmt 1 view .LVU1510
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4337 .loc 1 2088 7 is_stmt 0 view .LVU1511
4338 0090 A36D ldr r3, [r4, #88]
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4339 .loc 1 2088 34 view .LVU1512
4340 0092 3E4A ldr r2, .L324+4
4341 0094 9A62 str r2, [r3, #40]
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4342 .loc 1 2091 3 is_stmt 1 view .LVU1513
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 178
4343 .loc 1 2091 7 is_stmt 0 view .LVU1514
4344 0096 A36D ldr r3, [r4, #88]
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4345 .loc 1 2091 35 view .LVU1515
4346 0098 3D4A ldr r2, .L324+8
4347 009a 1A63 str r2, [r3, #48]
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4348 .loc 1 2094 3 is_stmt 1 view .LVU1516
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4349 .loc 1 2094 7 is_stmt 0 view .LVU1517
4350 009c A36D ldr r3, [r4, #88]
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4351 .loc 1 2094 35 view .LVU1518
4352 009e 0022 movs r2, #0
4353 00a0 5A63 str r2, [r3, #52]
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4354 .loc 1 2097 3 is_stmt 1 view .LVU1519
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4355 .loc 1 2097 63 is_stmt 0 view .LVU1520
4356 00a2 2168 ldr r1, [r4]
4357 .LVL269:
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4358 .loc 1 2098 38 view .LVU1521
4359 00a4 B4F84630 ldrh r3, [r4, #70]
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4360 .loc 1 2097 17 view .LVU1522
4361 00a8 9BB2 uxth r3, r3
4362 00aa 226C ldr r2, [r4, #64]
4363 00ac 0C31 adds r1, r1, #12
4364 00ae A06D ldr r0, [r4, #88]
4365 00b0 FFF7FEFF bl HAL_DMA_Start_IT
4366 .LVL270:
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4367 .loc 1 2097 6 view .LVU1523
4368 00b4 0146 mov r1, r0
4369 00b6 0028 cmp r0, #0
4370 00b8 56D1 bne .L323
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4371 .loc 1 2109 3 is_stmt 1 view .LVU1524
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4372 .loc 1 2109 12 is_stmt 0 view .LVU1525
4373 00ba 2368 ldr r3, [r4]
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4374 .loc 1 2109 22 view .LVU1526
4375 00bc 1A68 ldr r2, [r3]
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4376 .loc 1 2109 6 view .LVU1527
4377 00be 12F0400F tst r2, #64
4378 00c2 03D1 bne .L317
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4379 .loc 1 2112 5 is_stmt 1 view .LVU1528
4380 00c4 1A68 ldr r2, [r3]
4381 00c6 42F04002 orr r2, r2, #64
4382 00ca 1A60 str r2, [r3]
4383 .L317:
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4384 .loc 1 2116 3 view .LVU1529
ARM GAS /tmp/ccywxtmH.s page 179
4385 00cc 2268 ldr r2, [r4]
4386 00ce 5368 ldr r3, [r2, #4]
4387 00d0 43F02003 orr r3, r3, #32
4388 00d4 5360 str r3, [r2, #4]
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4389 .loc 1 2119 3 view .LVU1530
4390 00d6 2268 ldr r2, [r4]
4391 00d8 5368 ldr r3, [r2, #4]
4392 00da 43F00103 orr r3, r3, #1
4393 00de 5360 str r3, [r2, #4]
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4394 .loc 1 1985 21 is_stmt 0 view .LVU1531
4395 00e0 0D46 mov r5, r1
4396 00e2 4AE0 b .L310
4397 .LVL271:
4398 .L321:
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4399 .loc 1 1992 5 is_stmt 1 view .LVU1532
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4400 .loc 1 1992 17 is_stmt 0 view .LVU1533
4401 00e4 0423 movs r3, #4
4402 00e6 84F85D30 strb r3, [r4, #93]
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4403 .loc 1 1995 5 is_stmt 1 view .LVU1534
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4404 .loc 1 1998 5 view .LVU1535
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4405 .loc 1 1998 12 is_stmt 0 view .LVU1536
4406 00ea 1346 mov r3, r2
4407 00ec 0A46 mov r2, r1
4408 .LVL272:
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4409 .loc 1 1998 12 view .LVU1537
4410 00ee 2046 mov r0, r4
4411 00f0 FFF7FEFF bl HAL_SPI_TransmitReceive_DMA
4412 .LVL273:
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4413 .loc 1 1998 12 view .LVU1538
4414 00f4 0546 mov r5, r0
4415 00f6 43E0 b .L309
4416 .LVL274:
4417 .L322:
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
4418 .loc 1 2033 5 is_stmt 1 view .LVU1539
4419 00f8 2268 ldr r2, [r4]
4420 .LVL275:
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
4421 .loc 1 2033 5 is_stmt 0 view .LVU1540
4422 00fa 1368 ldr r3, [r2]
4423 00fc 23F04003 bic r3, r3, #64
4424 0100 1360 str r3, [r2]
4425 .LVL276:
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4426 .loc 1 2034 5 is_stmt 1 view .LVU1541
4427 0102 2268 ldr r2, [r4]
4428 0104 1368 ldr r3, [r2]
4429 0106 23F48043 bic r3, r3, #16384
ARM GAS /tmp/ccywxtmH.s page 180
4430 010a 1360 str r3, [r2]
4431 010c A5E7 b .L311
4432 .L313:
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4433 .loc 1 2064 5 view .LVU1542
4434 010e 2268 ldr r2, [r4]
4435 0110 5368 ldr r3, [r2, #4]
4436 0112 43F48053 orr r3, r3, #4096
4437 0116 5360 str r3, [r2, #4]
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4438 .loc 1 2066 5 view .LVU1543
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4439 .loc 1 2066 13 is_stmt 0 view .LVU1544
4440 0118 A36D ldr r3, [r4, #88]
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4441 .loc 1 2066 27 view .LVU1545
4442 011a 5B69 ldr r3, [r3, #20]
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4443 .loc 1 2066 8 view .LVU1546
4444 011c B3F5806F cmp r3, #1024
4445 0120 B3D1 bne .L314
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4446 .loc 1 2069 7 is_stmt 1 view .LVU1547
4447 0122 2268 ldr r2, [r4]
4448 0124 5368 ldr r3, [r2, #4]
4449 0126 23F48053 bic r3, r3, #4096
4450 012a 5360 str r3, [r2, #4]
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4451 .loc 1 2071 7 view .LVU1548
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4452 .loc 1 2071 16 is_stmt 0 view .LVU1549
4453 012c B4F84630 ldrh r3, [r4, #70]
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4454 .loc 1 2071 10 view .LVU1550
4455 0130 13F0010F tst r3, #1
4456 0134 0BD1 bne .L315
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
4457 .loc 1 2073 9 is_stmt 1 view .LVU1551
4458 0136 2268 ldr r2, [r4]
4459 0138 5368 ldr r3, [r2, #4]
4460 013a 23F40053 bic r3, r3, #8192
4461 013e 5360 str r3, [r2, #4]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4462 .loc 1 2074 9 view .LVU1552
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4463 .loc 1 2074 33 is_stmt 0 view .LVU1553
4464 0140 B4F84630 ldrh r3, [r4, #70]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4465 .loc 1 2074 27 view .LVU1554
4466 0144 C3F34E03 ubfx r3, r3, #1, #15
4467 0148 A4F84630 strh r3, [r4, #70] @ movhi
4468 014c 9DE7 b .L314
4469 .L315:
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
4470 .loc 1 2078 9 is_stmt 1 view .LVU1555
4471 014e 2268 ldr r2, [r4]
4472 0150 5368 ldr r3, [r2, #4]
ARM GAS /tmp/ccywxtmH.s page 181
4473 0152 43F40053 orr r3, r3, #8192
4474 0156 5360 str r3, [r2, #4]
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4475 .loc 1 2079 9 view .LVU1556
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4476 .loc 1 2079 34 is_stmt 0 view .LVU1557
4477 0158 B4F84630 ldrh r3, [r4, #70]
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4478 .loc 1 2079 55 view .LVU1558
4479 015c C3F34E03 ubfx r3, r3, #1, #15
4480 0160 0133 adds r3, r3, #1
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4481 .loc 1 2079 27 view .LVU1559
4482 0162 A4F84630 strh r3, [r4, #70] @ movhi
4483 0166 90E7 b .L314
4484 .LVL277:
4485 .L323:
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
4486 .loc 1 2101 5 is_stmt 1 view .LVU1560
4487 0168 236E ldr r3, [r4, #96]
4488 016a 43F01003 orr r3, r3, #16
4489 016e 2366 str r3, [r4, #96]
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4490 .loc 1 2102 5 view .LVU1561
4491 .LVL278:
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4492 .loc 1 2104 5 view .LVU1562
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4493 .loc 1 2104 17 is_stmt 0 view .LVU1563
4494 0170 0123 movs r3, #1
4495 0172 84F85D30 strb r3, [r4, #93]
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4496 .loc 1 2105 5 is_stmt 1 view .LVU1564
4497 0176 00E0 b .L310
4498 .LVL279:
4499 .L319:
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4500 .loc 1 2006 15 is_stmt 0 view .LVU1565
4501 0178 0225 movs r5, #2
4502 .LVL280:
4503 .L310:
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4504 .loc 1 2123 3 is_stmt 1 view .LVU1566
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4505 .loc 1 2123 3 view .LVU1567
4506 017a 0023 movs r3, #0
4507 017c 84F85C30 strb r3, [r4, #92]
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4508 .loc 1 2123 3 view .LVU1568
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4509 .loc 1 2124 3 view .LVU1569
4510 .LVL281:
4511 .L309:
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4512 .loc 1 2125 1 is_stmt 0 view .LVU1570
4513 0180 2846 mov r0, r5
4514 0182 38BD pop {r3, r4, r5, pc}
ARM GAS /tmp/ccywxtmH.s page 182
4515 .LVL282:
4516 .L318:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4517 .loc 1 2002 3 view .LVU1571
4518 0184 0225 movs r5, #2
4519 0186 FBE7 b .L309
4520 .L325:
4521 .align 2
4522 .L324:
4523 0188 00000000 .word SPI_DMAHalfReceiveCplt
4524 018c 00000000 .word SPI_DMAReceiveCplt
4525 0190 00000000 .word SPI_DMAError
4526 .cfi_endproc
4527 .LFE141:
4529 .section .text.HAL_SPI_Abort,"ax",%progbits
4530 .align 1
4531 .global HAL_SPI_Abort
4532 .syntax unified
4533 .thumb
4534 .thumb_func
4536 HAL_SPI_Abort:
4537 .LVL283:
4538 .LFB143:
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
4539 .loc 1 2340 1 is_stmt 1 view -0
4540 .cfi_startproc
4541 @ args = 0, pretend = 0, frame = 16
4542 @ frame_needed = 0, uses_anonymous_args = 0
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
4543 .loc 1 2340 1 is_stmt 0 view .LVU1573
4544 0000 10B5 push {r4, lr}
4545 .cfi_def_cfa_offset 8
4546 .cfi_offset 4, -8
4547 .cfi_offset 14, -4
4548 0002 86B0 sub sp, sp, #24
4549 .cfi_def_cfa_offset 32
4550 0004 0446 mov r4, r0
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
4551 .loc 1 2341 3 is_stmt 1 view .LVU1574
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
4552 .loc 1 2342 3 view .LVU1575
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4553 .loc 1 2343 3 view .LVU1576
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
4554 .loc 1 2346 3 view .LVU1577
4555 .LVL284:
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4556 .loc 1 2347 3 view .LVU1578
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4557 .loc 1 2347 61 is_stmt 0 view .LVU1579
4558 0006 5E4B ldr r3, .L347
4559 0008 1B68 ldr r3, [r3]
4560 000a 5E4A ldr r2, .L347+4
4561 000c A2FB0323 umull r2, r3, r2, r3
4562 0010 5B0A lsrs r3, r3, #9
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4563 .loc 1 2347 36 view .LVU1580
ARM GAS /tmp/ccywxtmH.s page 183
4564 0012 6422 movs r2, #100
4565 0014 02FB03F3 mul r3, r2, r3
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4566 .loc 1 2347 14 view .LVU1581
4567 0018 0493 str r3, [sp, #16]
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4568 .loc 1 2348 3 is_stmt 1 view .LVU1582
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4569 .loc 1 2348 9 is_stmt 0 view .LVU1583
4570 001a 049B ldr r3, [sp, #16]
4571 001c 0593 str r3, [sp, #20]
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4572 .loc 1 2351 3 is_stmt 1 view .LVU1584
4573 001e 0268 ldr r2, [r0]
4574 0020 5368 ldr r3, [r2, #4]
4575 0022 23F02003 bic r3, r3, #32
4576 0026 5360 str r3, [r2, #4]
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4577 .loc 1 2354 3 view .LVU1585
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4578 .loc 1 2354 7 is_stmt 0 view .LVU1586
4579 0028 0268 ldr r2, [r0]
4580 002a 5368 ldr r3, [r2, #4]
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4581 .loc 1 2354 6 view .LVU1587
4582 002c 13F0800F tst r3, #128
4583 0030 12D0 beq .L327
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4584 .loc 1 2356 5 is_stmt 1 view .LVU1588
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4585 .loc 1 2356 17 is_stmt 0 view .LVU1589
4586 0032 554B ldr r3, .L347+8
4587 0034 0365 str r3, [r0, #80]
4588 .L330:
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4589 .loc 1 2358 5 is_stmt 1 view .LVU1590
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4590 .loc 1 2360 7 view .LVU1591
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4591 .loc 1 2360 17 is_stmt 0 view .LVU1592
4592 0036 059B ldr r3, [sp, #20]
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4593 .loc 1 2360 10 view .LVU1593
4594 0038 43B1 cbz r3, .L345
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4595 .loc 1 2365 7 is_stmt 1 view .LVU1594
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4596 .loc 1 2365 12 is_stmt 0 view .LVU1595
4597 003a 059B ldr r3, [sp, #20]
4598 003c 013B subs r3, r3, #1
4599 003e 0593 str r3, [sp, #20]
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4600 .loc 1 2366 26 is_stmt 1 view .LVU1596
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4601 .loc 1 2366 18 is_stmt 0 view .LVU1597
4602 0040 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
4603 0044 DBB2 uxtb r3, r3
ARM GAS /tmp/ccywxtmH.s page 184
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4604 .loc 1 2366 26 view .LVU1598
4605 0046 072B cmp r3, #7
4606 0048 F5D1 bne .L330
4607 004a 03E0 b .L329
4608 .L345:
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4609 .loc 1 2362 9 is_stmt 1 view .LVU1599
4610 004c 236E ldr r3, [r4, #96]
4611 004e 43F04003 orr r3, r3, #64
4612 0052 2366 str r3, [r4, #96]
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4613 .loc 1 2363 9 view .LVU1600
4614 .L329:
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4615 .loc 1 2368 5 view .LVU1601
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4616 .loc 1 2368 11 is_stmt 0 view .LVU1602
4617 0054 049B ldr r3, [sp, #16]
4618 0056 0593 str r3, [sp, #20]
4619 .L327:
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4620 .loc 1 2371 3 is_stmt 1 view .LVU1603
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4621 .loc 1 2371 7 is_stmt 0 view .LVU1604
4622 0058 5368 ldr r3, [r2, #4]
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4623 .loc 1 2371 6 view .LVU1605
4624 005a 13F0400F tst r3, #64
4625 005e 12D0 beq .L331
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4626 .loc 1 2373 5 is_stmt 1 view .LVU1606
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4627 .loc 1 2373 17 is_stmt 0 view .LVU1607
4628 0060 4A4B ldr r3, .L347+12
4629 0062 E364 str r3, [r4, #76]
4630 .L334:
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4631 .loc 1 2375 5 is_stmt 1 view .LVU1608
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4632 .loc 1 2377 7 view .LVU1609
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4633 .loc 1 2377 17 is_stmt 0 view .LVU1610
4634 0064 059B ldr r3, [sp, #20]
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4635 .loc 1 2377 10 view .LVU1611
4636 0066 43B1 cbz r3, .L346
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4637 .loc 1 2382 7 is_stmt 1 view .LVU1612
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4638 .loc 1 2382 12 is_stmt 0 view .LVU1613
4639 0068 059B ldr r3, [sp, #20]
4640 006a 013B subs r3, r3, #1
4641 006c 0593 str r3, [sp, #20]
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4642 .loc 1 2383 26 is_stmt 1 view .LVU1614
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
ARM GAS /tmp/ccywxtmH.s page 185
4643 .loc 1 2383 18 is_stmt 0 view .LVU1615
4644 006e 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
4645 0072 DBB2 uxtb r3, r3
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4646 .loc 1 2383 26 view .LVU1616
4647 0074 072B cmp r3, #7
4648 0076 F5D1 bne .L334
4649 0078 03E0 b .L333
4650 .L346:
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4651 .loc 1 2379 9 is_stmt 1 view .LVU1617
4652 007a 236E ldr r3, [r4, #96]
4653 007c 43F04003 orr r3, r3, #64
4654 0080 2366 str r3, [r4, #96]
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4655 .loc 1 2380 9 view .LVU1618
4656 .L333:
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4657 .loc 1 2385 5 view .LVU1619
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4658 .loc 1 2385 11 is_stmt 0 view .LVU1620
4659 0082 049B ldr r3, [sp, #16]
4660 0084 0593 str r3, [sp, #20]
4661 .L331:
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4662 .loc 1 2389 3 is_stmt 1 view .LVU1621
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4663 .loc 1 2389 7 is_stmt 0 view .LVU1622
4664 0086 5368 ldr r3, [r2, #4]
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4665 .loc 1 2389 6 view .LVU1623
4666 0088 13F0020F tst r3, #2
4667 008c 2AD0 beq .L335
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4668 .loc 1 2392 5 is_stmt 1 view .LVU1624
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4669 .loc 1 2392 13 is_stmt 0 view .LVU1625
4670 008e 636D ldr r3, [r4, #84]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4671 .loc 1 2392 8 view .LVU1626
4672 0090 43B3 cbz r3, .L335
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4673 .loc 1 2396 7 is_stmt 1 view .LVU1627
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4674 .loc 1 2396 39 is_stmt 0 view .LVU1628
4675 0092 0022 movs r2, #0
4676 0094 5A63 str r2, [r3, #52]
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4677 .loc 1 2399 7 is_stmt 1 view .LVU1629
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4678 .loc 1 2399 11 is_stmt 0 view .LVU1630
4679 0096 606D ldr r0, [r4, #84]
4680 .LVL285:
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4681 .loc 1 2399 11 view .LVU1631
4682 0098 FFF7FEFF bl HAL_DMA_Abort
4683 .LVL286:
ARM GAS /tmp/ccywxtmH.s page 186
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4684 .loc 1 2399 10 view .LVU1632
4685 009c 08B1 cbz r0, .L336
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4686 .loc 1 2401 9 is_stmt 1 view .LVU1633
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4687 .loc 1 2401 25 is_stmt 0 view .LVU1634
4688 009e 4023 movs r3, #64
4689 00a0 2366 str r3, [r4, #96]
4690 .L336:
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4691 .loc 1 2405 7 is_stmt 1 view .LVU1635
4692 00a2 2268 ldr r2, [r4]
4693 00a4 5368 ldr r3, [r2, #4]
4694 00a6 23F00203 bic r3, r3, #2
4695 00aa 5360 str r3, [r2, #4]
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4696 .loc 1 2407 7 view .LVU1636
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4697 .loc 1 2407 11 is_stmt 0 view .LVU1637
4698 00ac FFF7FEFF bl HAL_GetTick
4699 .LVL287:
4700 00b0 0246 mov r2, r0
4701 00b2 6421 movs r1, #100
4702 00b4 2046 mov r0, r4
4703 00b6 FFF7FEFF bl SPI_EndRxTxTransaction
4704 .LVL288:
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4705 .loc 1 2407 10 view .LVU1638
4706 00ba 08B1 cbz r0, .L337
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4707 .loc 1 2409 9 is_stmt 1 view .LVU1639
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4708 .loc 1 2409 25 is_stmt 0 view .LVU1640
4709 00bc 4023 movs r3, #64
4710 00be 2366 str r3, [r4, #96]
4711 .L337:
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4712 .loc 1 2413 7 is_stmt 1 view .LVU1641
4713 00c0 2268 ldr r2, [r4]
4714 00c2 1368 ldr r3, [r2]
4715 00c4 23F04003 bic r3, r3, #64
4716 00c8 1360 str r3, [r2]
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4717 .loc 1 2416 7 view .LVU1642
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4718 .loc 1 2416 11 is_stmt 0 view .LVU1643
4719 00ca FFF7FEFF bl HAL_GetTick
4720 .LVL289:
4721 00ce 0090 str r0, [sp]
4722 00d0 6423 movs r3, #100
4723 00d2 0022 movs r2, #0
4724 00d4 4FF4C061 mov r1, #1536
4725 00d8 2046 mov r0, r4
4726 00da FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
4727 .LVL290:
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 187
4728 .loc 1 2416 10 view .LVU1644
4729 00de 08B1 cbz r0, .L335
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4730 .loc 1 2418 9 is_stmt 1 view .LVU1645
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4731 .loc 1 2418 25 is_stmt 0 view .LVU1646
4732 00e0 4023 movs r3, #64
4733 00e2 2366 str r3, [r4, #96]
4734 .L335:
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4735 .loc 1 2424 3 is_stmt 1 view .LVU1647
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4736 .loc 1 2424 7 is_stmt 0 view .LVU1648
4737 00e4 2368 ldr r3, [r4]
4738 00e6 5B68 ldr r3, [r3, #4]
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4739 .loc 1 2424 6 view .LVU1649
4740 00e8 13F0010F tst r3, #1
4741 00ec 2CD0 beq .L338
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4742 .loc 1 2427 5 is_stmt 1 view .LVU1650
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4743 .loc 1 2427 13 is_stmt 0 view .LVU1651
4744 00ee A36D ldr r3, [r4, #88]
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4745 .loc 1 2427 8 view .LVU1652
4746 00f0 53B3 cbz r3, .L338
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4747 .loc 1 2431 7 is_stmt 1 view .LVU1653
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4748 .loc 1 2431 39 is_stmt 0 view .LVU1654
4749 00f2 0022 movs r2, #0
4750 00f4 5A63 str r2, [r3, #52]
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4751 .loc 1 2434 7 is_stmt 1 view .LVU1655
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4752 .loc 1 2434 11 is_stmt 0 view .LVU1656
4753 00f6 A06D ldr r0, [r4, #88]
4754 00f8 FFF7FEFF bl HAL_DMA_Abort
4755 .LVL291:
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4756 .loc 1 2434 10 view .LVU1657
4757 00fc 08B1 cbz r0, .L339
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4758 .loc 1 2436 9 is_stmt 1 view .LVU1658
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4759 .loc 1 2436 25 is_stmt 0 view .LVU1659
4760 00fe 4023 movs r3, #64
4761 0100 2366 str r3, [r4, #96]
4762 .L339:
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4763 .loc 1 2440 7 is_stmt 1 view .LVU1660
4764 0102 2268 ldr r2, [r4]
4765 0104 1368 ldr r3, [r2]
4766 0106 23F04003 bic r3, r3, #64
4767 010a 1360 str r3, [r2]
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 188
4768 .loc 1 2443 7 view .LVU1661
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4769 .loc 1 2443 11 is_stmt 0 view .LVU1662
4770 010c FFF7FEFF bl HAL_GetTick
4771 .LVL292:
4772 0110 0090 str r0, [sp]
4773 0112 6423 movs r3, #100
4774 0114 0022 movs r2, #0
4775 0116 8021 movs r1, #128
4776 0118 2046 mov r0, r4
4777 011a FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
4778 .LVL293:
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4779 .loc 1 2443 10 view .LVU1663
4780 011e 08B1 cbz r0, .L340
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4781 .loc 1 2445 9 is_stmt 1 view .LVU1664
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4782 .loc 1 2445 25 is_stmt 0 view .LVU1665
4783 0120 4023 movs r3, #64
4784 0122 2366 str r3, [r4, #96]
4785 .L340:
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4786 .loc 1 2449 7 is_stmt 1 view .LVU1666
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4787 .loc 1 2449 11 is_stmt 0 view .LVU1667
4788 0124 FFF7FEFF bl HAL_GetTick
4789 .LVL294:
4790 0128 0090 str r0, [sp]
4791 012a 6423 movs r3, #100
4792 012c 0022 movs r2, #0
4793 012e 4FF4C061 mov r1, #1536
4794 0132 2046 mov r0, r4
4795 0134 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
4796 .LVL295:
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4797 .loc 1 2449 10 view .LVU1668
4798 0138 08B1 cbz r0, .L341
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4799 .loc 1 2451 9 is_stmt 1 view .LVU1669
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4800 .loc 1 2451 25 is_stmt 0 view .LVU1670
4801 013a 4023 movs r3, #64
4802 013c 2366 str r3, [r4, #96]
4803 .L341:
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4804 .loc 1 2455 7 is_stmt 1 view .LVU1671
4805 013e 2268 ldr r2, [r4]
4806 0140 5368 ldr r3, [r2, #4]
4807 0142 23F00103 bic r3, r3, #1
4808 0146 5360 str r3, [r2, #4]
4809 .L338:
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4810 .loc 1 2459 3 view .LVU1672
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4811 .loc 1 2459 21 is_stmt 0 view .LVU1673
4812 0148 0023 movs r3, #0
ARM GAS /tmp/ccywxtmH.s page 189
4813 014a A4F84630 strh r3, [r4, #70] @ movhi
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4814 .loc 1 2460 3 is_stmt 1 view .LVU1674
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4815 .loc 1 2460 21 is_stmt 0 view .LVU1675
4816 014e E387 strh r3, [r4, #62] @ movhi
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4817 .loc 1 2463 3 is_stmt 1 view .LVU1676
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4818 .loc 1 2463 11 is_stmt 0 view .LVU1677
4819 0150 236E ldr r3, [r4, #96]
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4820 .loc 1 2463 6 view .LVU1678
4821 0152 402B cmp r3, #64
4822 0154 12D0 beq .L343
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4823 .loc 1 2471 5 is_stmt 1 view .LVU1679
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4824 .loc 1 2471 21 is_stmt 0 view .LVU1680
4825 0156 0020 movs r0, #0
4826 0158 2066 str r0, [r4, #96]
4827 .L342:
4828 .LVL296:
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4829 .loc 1 2475 3 is_stmt 1 view .LVU1681
4830 .LBB3:
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4831 .loc 1 2475 3 view .LVU1682
4832 015a 0022 movs r2, #0
4833 015c 0292 str r2, [sp, #8]
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4834 .loc 1 2475 3 view .LVU1683
4835 015e 2368 ldr r3, [r4]
4836 0160 D968 ldr r1, [r3, #12]
4837 0162 0291 str r1, [sp, #8]
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4838 .loc 1 2475 3 view .LVU1684
4839 0164 9968 ldr r1, [r3, #8]
4840 0166 0291 str r1, [sp, #8]
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4841 .loc 1 2475 3 view .LVU1685
4842 0168 0299 ldr r1, [sp, #8]
4843 .LBE3:
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4844 .loc 1 2475 3 view .LVU1686
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4845 .loc 1 2476 3 view .LVU1687
4846 .LBB4:
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4847 .loc 1 2476 3 view .LVU1688
4848 016a 0392 str r2, [sp, #12]
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4849 .loc 1 2476 3 view .LVU1689
4850 016c 9B68 ldr r3, [r3, #8]
4851 016e 0393 str r3, [sp, #12]
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4852 .loc 1 2476 3 view .LVU1690
ARM GAS /tmp/ccywxtmH.s page 190
4853 0170 039B ldr r3, [sp, #12]
4854 .LBE4:
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4855 .loc 1 2476 3 view .LVU1691
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4856 .loc 1 2479 3 view .LVU1692
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4857 .loc 1 2479 15 is_stmt 0 view .LVU1693
4858 0172 0123 movs r3, #1
4859 0174 84F85D30 strb r3, [r4, #93]
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4860 .loc 1 2481 3 is_stmt 1 view .LVU1694
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4861 .loc 1 2482 1 is_stmt 0 view .LVU1695
4862 0178 06B0 add sp, sp, #24
4863 .cfi_remember_state
4864 .cfi_def_cfa_offset 8
4865 @ sp needed
4866 017a 10BD pop {r4, pc}
4867 .LVL297:
4868 .L343:
4869 .cfi_restore_state
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4870 .loc 1 2466 15 view .LVU1696
4871 017c 0120 movs r0, #1
4872 017e ECE7 b .L342
4873 .L348:
4874 .align 2
4875 .L347:
4876 0180 00000000 .word SystemCoreClock
4877 0184 F1197605 .word 91625969
4878 0188 00000000 .word SPI_AbortTx_ISR
4879 018c 00000000 .word SPI_AbortRx_ISR
4880 .cfi_endproc
4881 .LFE143:
4883 .section .text.HAL_SPI_DMAPause,"ax",%progbits
4884 .align 1
4885 .global HAL_SPI_DMAPause
4886 .syntax unified
4887 .thumb
4888 .thumb_func
4890 HAL_SPI_DMAPause:
4891 .LVL298:
4892 .LFB145:
2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
4893 .loc 1 2661 1 is_stmt 1 view -0
4894 .cfi_startproc
4895 @ args = 0, pretend = 0, frame = 0
4896 @ frame_needed = 0, uses_anonymous_args = 0
4897 @ link register save eliminated.
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4898 .loc 1 2663 3 view .LVU1698
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4899 .loc 1 2663 3 view .LVU1699
4900 0000 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
4901 0004 012B cmp r3, #1
4902 0006 0CD0 beq .L351
ARM GAS /tmp/ccywxtmH.s page 191
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4903 .loc 1 2663 3 discriminator 2 view .LVU1700
4904 0008 0123 movs r3, #1
4905 000a 80F85C30 strb r3, [r0, #92]
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4906 .loc 1 2663 3 discriminator 2 view .LVU1701
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4907 .loc 1 2666 3 discriminator 2 view .LVU1702
4908 000e 0268 ldr r2, [r0]
4909 0010 5368 ldr r3, [r2, #4]
4910 0012 23F00303 bic r3, r3, #3
4911 0016 5360 str r3, [r2, #4]
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4912 .loc 1 2669 3 discriminator 2 view .LVU1703
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4913 .loc 1 2669 3 discriminator 2 view .LVU1704
4914 0018 0023 movs r3, #0
4915 001a 80F85C30 strb r3, [r0, #92]
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4916 .loc 1 2669 3 discriminator 2 view .LVU1705
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4917 .loc 1 2671 3 discriminator 2 view .LVU1706
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4918 .loc 1 2671 10 is_stmt 0 discriminator 2 view .LVU1707
4919 001e 1846 mov r0, r3
4920 .LVL299:
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4921 .loc 1 2671 10 discriminator 2 view .LVU1708
4922 0020 7047 bx lr
4923 .LVL300:
4924 .L351:
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4925 .loc 1 2663 3 view .LVU1709
4926 0022 0220 movs r0, #2
4927 .LVL301:
2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4928 .loc 1 2672 1 view .LVU1710
4929 0024 7047 bx lr
4930 .cfi_endproc
4931 .LFE145:
4933 .section .text.HAL_SPI_DMAResume,"ax",%progbits
4934 .align 1
4935 .global HAL_SPI_DMAResume
4936 .syntax unified
4937 .thumb
4938 .thumb_func
4940 HAL_SPI_DMAResume:
4941 .LVL302:
4942 .LFB146:
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
4943 .loc 1 2681 1 is_stmt 1 view -0
4944 .cfi_startproc
4945 @ args = 0, pretend = 0, frame = 0
4946 @ frame_needed = 0, uses_anonymous_args = 0
4947 @ link register save eliminated.
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4948 .loc 1 2683 3 view .LVU1712
ARM GAS /tmp/ccywxtmH.s page 192
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4949 .loc 1 2683 3 view .LVU1713
4950 0000 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
4951 0004 012B cmp r3, #1
4952 0006 0CD0 beq .L354
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4953 .loc 1 2683 3 discriminator 2 view .LVU1714
4954 0008 0123 movs r3, #1
4955 000a 80F85C30 strb r3, [r0, #92]
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4956 .loc 1 2683 3 discriminator 2 view .LVU1715
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4957 .loc 1 2686 3 discriminator 2 view .LVU1716
4958 000e 0268 ldr r2, [r0]
4959 0010 5368 ldr r3, [r2, #4]
4960 0012 43F00303 orr r3, r3, #3
4961 0016 5360 str r3, [r2, #4]
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4962 .loc 1 2689 3 discriminator 2 view .LVU1717
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4963 .loc 1 2689 3 discriminator 2 view .LVU1718
4964 0018 0023 movs r3, #0
4965 001a 80F85C30 strb r3, [r0, #92]
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4966 .loc 1 2689 3 discriminator 2 view .LVU1719
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4967 .loc 1 2691 3 discriminator 2 view .LVU1720
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4968 .loc 1 2691 10 is_stmt 0 discriminator 2 view .LVU1721
4969 001e 1846 mov r0, r3
4970 .LVL303:
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4971 .loc 1 2691 10 discriminator 2 view .LVU1722
4972 0020 7047 bx lr
4973 .LVL304:
4974 .L354:
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4975 .loc 1 2683 3 view .LVU1723
4976 0022 0220 movs r0, #2
4977 .LVL305:
2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4978 .loc 1 2692 1 view .LVU1724
4979 0024 7047 bx lr
4980 .cfi_endproc
4981 .LFE146:
4983 .section .text.HAL_SPI_DMAStop,"ax",%progbits
4984 .align 1
4985 .global HAL_SPI_DMAStop
4986 .syntax unified
4987 .thumb
4988 .thumb_func
4990 HAL_SPI_DMAStop:
4991 .LVL306:
4992 .LFB147:
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4993 .loc 1 2701 1 is_stmt 1 view -0
4994 .cfi_startproc
ARM GAS /tmp/ccywxtmH.s page 193
4995 @ args = 0, pretend = 0, frame = 0
4996 @ frame_needed = 0, uses_anonymous_args = 0
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4997 .loc 1 2701 1 is_stmt 0 view .LVU1726
4998 0000 38B5 push {r3, r4, r5, lr}
4999 .cfi_def_cfa_offset 16
5000 .cfi_offset 3, -16
5001 .cfi_offset 4, -12
5002 .cfi_offset 5, -8
5003 .cfi_offset 14, -4
5004 0002 0446 mov r4, r0
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
5005 .loc 1 2702 3 is_stmt 1 view .LVU1727
5006 .LVL307:
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5007 .loc 1 2710 3 view .LVU1728
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5008 .loc 1 2710 11 is_stmt 0 view .LVU1729
5009 0004 406D ldr r0, [r0, #84]
5010 .LVL308:
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5011 .loc 1 2710 6 view .LVU1730
5012 0006 48B1 cbz r0, .L358
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5013 .loc 1 2712 5 is_stmt 1 view .LVU1731
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5014 .loc 1 2712 19 is_stmt 0 view .LVU1732
5015 0008 FFF7FEFF bl HAL_DMA_Abort
5016 .LVL309:
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5017 .loc 1 2712 8 view .LVU1733
5018 000c 0546 mov r5, r0
5019 000e 30B1 cbz r0, .L356
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
5020 .loc 1 2714 7 is_stmt 1 view .LVU1734
5021 0010 236E ldr r3, [r4, #96]
5022 0012 43F01003 orr r3, r3, #16
5023 0016 2366 str r3, [r4, #96]
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5024 .loc 1 2715 7 view .LVU1735
5025 .LVL310:
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5026 .loc 1 2715 17 is_stmt 0 view .LVU1736
5027 0018 0125 movs r5, #1
5028 001a 00E0 b .L356
5029 .LVL311:
5030 .L358:
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
5031 .loc 1 2702 21 view .LVU1737
5032 001c 0025 movs r5, #0
5033 .LVL312:
5034 .L356:
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5035 .loc 1 2719 3 is_stmt 1 view .LVU1738
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5036 .loc 1 2719 11 is_stmt 0 view .LVU1739
5037 001e A06D ldr r0, [r4, #88]
ARM GAS /tmp/ccywxtmH.s page 194
2719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5038 .loc 1 2719 6 view .LVU1740
5039 0020 38B1 cbz r0, .L357
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5040 .loc 1 2721 5 is_stmt 1 view .LVU1741
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5041 .loc 1 2721 19 is_stmt 0 view .LVU1742
5042 0022 FFF7FEFF bl HAL_DMA_Abort
5043 .LVL313:
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5044 .loc 1 2721 8 view .LVU1743
5045 0026 20B1 cbz r0, .L357
2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
5046 .loc 1 2723 7 is_stmt 1 view .LVU1744
5047 0028 236E ldr r3, [r4, #96]
5048 002a 43F01003 orr r3, r3, #16
5049 002e 2366 str r3, [r4, #96]
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5050 .loc 1 2724 7 view .LVU1745
5051 .LVL314:
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5052 .loc 1 2724 17 is_stmt 0 view .LVU1746
5053 0030 0125 movs r5, #1
5054 .LVL315:
5055 .L357:
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5056 .loc 1 2729 3 is_stmt 1 view .LVU1747
5057 0032 2268 ldr r2, [r4]
5058 0034 5368 ldr r3, [r2, #4]
5059 0036 23F00303 bic r3, r3, #3
5060 003a 5360 str r3, [r2, #4]
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
5061 .loc 1 2730 3 view .LVU1748
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
5062 .loc 1 2730 15 is_stmt 0 view .LVU1749
5063 003c 0123 movs r3, #1
5064 003e 84F85D30 strb r3, [r4, #93]
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5065 .loc 1 2731 3 is_stmt 1 view .LVU1750
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5066 .loc 1 2732 1 is_stmt 0 view .LVU1751
5067 0042 2846 mov r0, r5
5068 0044 38BD pop {r3, r4, r5, pc}
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5069 .loc 1 2732 1 view .LVU1752
5070 .cfi_endproc
5071 .LFE147:
5073 .section .text.HAL_SPI_TxCpltCallback,"ax",%progbits
5074 .align 1
5075 .weak HAL_SPI_TxCpltCallback
5076 .syntax unified
5077 .thumb
5078 .thumb_func
5080 HAL_SPI_TxCpltCallback:
5081 .LVL316:
5082 .LFB149:
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccywxtmH.s page 195
5083 .loc 1 2848 1 is_stmt 1 view -0
5084 .cfi_startproc
5085 @ args = 0, pretend = 0, frame = 0
5086 @ frame_needed = 0, uses_anonymous_args = 0
5087 @ link register save eliminated.
2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5088 .loc 1 2850 3 view .LVU1754
2855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5089 .loc 1 2855 1 is_stmt 0 view .LVU1755
5090 0000 7047 bx lr
5091 .cfi_endproc
5092 .LFE149:
5094 .section .text.HAL_SPI_RxCpltCallback,"ax",%progbits
5095 .align 1
5096 .weak HAL_SPI_RxCpltCallback
5097 .syntax unified
5098 .thumb
5099 .thumb_func
5101 HAL_SPI_RxCpltCallback:
5102 .LVL317:
5103 .LFB150:
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5104 .loc 1 2864 1 is_stmt 1 view -0
5105 .cfi_startproc
5106 @ args = 0, pretend = 0, frame = 0
5107 @ frame_needed = 0, uses_anonymous_args = 0
5108 @ link register save eliminated.
2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5109 .loc 1 2866 3 view .LVU1757
2871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5110 .loc 1 2871 1 is_stmt 0 view .LVU1758
5111 0000 7047 bx lr
5112 .cfi_endproc
5113 .LFE150:
5115 .section .text.HAL_SPI_TxRxCpltCallback,"ax",%progbits
5116 .align 1
5117 .weak HAL_SPI_TxRxCpltCallback
5118 .syntax unified
5119 .thumb
5120 .thumb_func
5122 HAL_SPI_TxRxCpltCallback:
5123 .LVL318:
5124 .LFB151:
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5125 .loc 1 2880 1 is_stmt 1 view -0
5126 .cfi_startproc
5127 @ args = 0, pretend = 0, frame = 0
5128 @ frame_needed = 0, uses_anonymous_args = 0
5129 @ link register save eliminated.
2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5130 .loc 1 2882 3 view .LVU1760
2887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5131 .loc 1 2887 1 is_stmt 0 view .LVU1761
5132 0000 7047 bx lr
5133 .cfi_endproc
5134 .LFE151:
5136 .section .text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits
ARM GAS /tmp/ccywxtmH.s page 196
5137 .align 1
5138 .weak HAL_SPI_TxHalfCpltCallback
5139 .syntax unified
5140 .thumb
5141 .thumb_func
5143 HAL_SPI_TxHalfCpltCallback:
5144 .LVL319:
5145 .LFB152:
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5146 .loc 1 2896 1 is_stmt 1 view -0
5147 .cfi_startproc
5148 @ args = 0, pretend = 0, frame = 0
5149 @ frame_needed = 0, uses_anonymous_args = 0
5150 @ link register save eliminated.
2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5151 .loc 1 2898 3 view .LVU1763
2903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5152 .loc 1 2903 1 is_stmt 0 view .LVU1764
5153 0000 7047 bx lr
5154 .cfi_endproc
5155 .LFE152:
5157 .section .text.SPI_DMAHalfTransmitCplt,"ax",%progbits
5158 .align 1
5159 .syntax unified
5160 .thumb
5161 .thumb_func
5163 SPI_DMAHalfTransmitCplt:
5164 .LVL320:
5165 .LFB162:
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5166 .loc 1 3308 1 is_stmt 1 view -0
5167 .cfi_startproc
5168 @ args = 0, pretend = 0, frame = 0
5169 @ frame_needed = 0, uses_anonymous_args = 0
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5170 .loc 1 3308 1 is_stmt 0 view .LVU1766
5171 0000 08B5 push {r3, lr}
5172 .cfi_def_cfa_offset 8
5173 .cfi_offset 3, -8
5174 .cfi_offset 14, -4
3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5175 .loc 1 3309 3 is_stmt 1 view .LVU1767
5176 .LVL321:
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5177 .loc 1 3315 3 view .LVU1768
5178 0002 406A ldr r0, [r0, #36]
5179 .LVL322:
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5180 .loc 1 3315 3 is_stmt 0 view .LVU1769
5181 0004 FFF7FEFF bl HAL_SPI_TxHalfCpltCallback
5182 .LVL323:
3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5183 .loc 1 3317 1 view .LVU1770
5184 0008 08BD pop {r3, pc}
5185 .cfi_endproc
5186 .LFE162:
5188 .section .text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits
ARM GAS /tmp/ccywxtmH.s page 197
5189 .align 1
5190 .weak HAL_SPI_RxHalfCpltCallback
5191 .syntax unified
5192 .thumb
5193 .thumb_func
5195 HAL_SPI_RxHalfCpltCallback:
5196 .LVL324:
5197 .LFB153:
2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5198 .loc 1 2912 1 is_stmt 1 view -0
5199 .cfi_startproc
5200 @ args = 0, pretend = 0, frame = 0
5201 @ frame_needed = 0, uses_anonymous_args = 0
5202 @ link register save eliminated.
2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5203 .loc 1 2914 3 view .LVU1772
2919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5204 .loc 1 2919 1 is_stmt 0 view .LVU1773
5205 0000 7047 bx lr
5206 .cfi_endproc
5207 .LFE153:
5209 .section .text.SPI_DMAHalfReceiveCplt,"ax",%progbits
5210 .align 1
5211 .syntax unified
5212 .thumb
5213 .thumb_func
5215 SPI_DMAHalfReceiveCplt:
5216 .LVL325:
5217 .LFB163:
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5218 .loc 1 3326 1 is_stmt 1 view -0
5219 .cfi_startproc
5220 @ args = 0, pretend = 0, frame = 0
5221 @ frame_needed = 0, uses_anonymous_args = 0
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5222 .loc 1 3326 1 is_stmt 0 view .LVU1775
5223 0000 08B5 push {r3, lr}
5224 .cfi_def_cfa_offset 8
5225 .cfi_offset 3, -8
5226 .cfi_offset 14, -4
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5227 .loc 1 3327 3 is_stmt 1 view .LVU1776
5228 .LVL326:
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5229 .loc 1 3333 3 view .LVU1777
5230 0002 406A ldr r0, [r0, #36]
5231 .LVL327:
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5232 .loc 1 3333 3 is_stmt 0 view .LVU1778
5233 0004 FFF7FEFF bl HAL_SPI_RxHalfCpltCallback
5234 .LVL328:
3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5235 .loc 1 3335 1 view .LVU1779
5236 0008 08BD pop {r3, pc}
5237 .cfi_endproc
5238 .LFE163:
5240 .section .text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits
ARM GAS /tmp/ccywxtmH.s page 198
5241 .align 1
5242 .weak HAL_SPI_TxRxHalfCpltCallback
5243 .syntax unified
5244 .thumb
5245 .thumb_func
5247 HAL_SPI_TxRxHalfCpltCallback:
5248 .LVL329:
5249 .LFB154:
2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5250 .loc 1 2928 1 is_stmt 1 view -0
5251 .cfi_startproc
5252 @ args = 0, pretend = 0, frame = 0
5253 @ frame_needed = 0, uses_anonymous_args = 0
5254 @ link register save eliminated.
2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5255 .loc 1 2930 3 view .LVU1781
2935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5256 .loc 1 2935 1 is_stmt 0 view .LVU1782
5257 0000 7047 bx lr
5258 .cfi_endproc
5259 .LFE154:
5261 .section .text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits
5262 .align 1
5263 .syntax unified
5264 .thumb
5265 .thumb_func
5267 SPI_DMAHalfTransmitReceiveCplt:
5268 .LVL330:
5269 .LFB164:
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5270 .loc 1 3344 1 is_stmt 1 view -0
5271 .cfi_startproc
5272 @ args = 0, pretend = 0, frame = 0
5273 @ frame_needed = 0, uses_anonymous_args = 0
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5274 .loc 1 3344 1 is_stmt 0 view .LVU1784
5275 0000 08B5 push {r3, lr}
5276 .cfi_def_cfa_offset 8
5277 .cfi_offset 3, -8
5278 .cfi_offset 14, -4
3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5279 .loc 1 3345 3 is_stmt 1 view .LVU1785
5280 .LVL331:
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5281 .loc 1 3351 3 view .LVU1786
5282 0002 406A ldr r0, [r0, #36]
5283 .LVL332:
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5284 .loc 1 3351 3 is_stmt 0 view .LVU1787
5285 0004 FFF7FEFF bl HAL_SPI_TxRxHalfCpltCallback
5286 .LVL333:
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5287 .loc 1 3353 1 view .LVU1788
5288 0008 08BD pop {r3, pc}
5289 .cfi_endproc
5290 .LFE164:
5292 .section .text.HAL_SPI_ErrorCallback,"ax",%progbits
ARM GAS /tmp/ccywxtmH.s page 199
5293 .align 1
5294 .weak HAL_SPI_ErrorCallback
5295 .syntax unified
5296 .thumb
5297 .thumb_func
5299 HAL_SPI_ErrorCallback:
5300 .LVL334:
5301 .LFB155:
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5302 .loc 1 2944 1 is_stmt 1 view -0
5303 .cfi_startproc
5304 @ args = 0, pretend = 0, frame = 0
5305 @ frame_needed = 0, uses_anonymous_args = 0
5306 @ link register save eliminated.
2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5307 .loc 1 2946 3 view .LVU1790
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5308 .loc 1 2954 1 is_stmt 0 view .LVU1791
5309 0000 7047 bx lr
5310 .cfi_endproc
5311 .LFE155:
5313 .section .text.SPI_CloseTx_ISR,"ax",%progbits
5314 .align 1
5315 .syntax unified
5316 .thumb
5317 .thumb_func
5319 SPI_CloseTx_ISR:
5320 .LVL335:
5321 .LFB183:
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5322 .loc 1 4286 1 is_stmt 1 view -0
5323 .cfi_startproc
5324 @ args = 0, pretend = 0, frame = 8
5325 @ frame_needed = 0, uses_anonymous_args = 0
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5326 .loc 1 4286 1 is_stmt 0 view .LVU1793
5327 0000 10B5 push {r4, lr}
5328 .cfi_def_cfa_offset 8
5329 .cfi_offset 4, -8
5330 .cfi_offset 14, -4
5331 0002 82B0 sub sp, sp, #8
5332 .cfi_def_cfa_offset 16
5333 0004 0446 mov r4, r0
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5334 .loc 1 4287 3 is_stmt 1 view .LVU1794
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5335 .loc 1 4290 3 view .LVU1795
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5336 .loc 1 4290 15 is_stmt 0 view .LVU1796
5337 0006 FFF7FEFF bl HAL_GetTick
5338 .LVL336:
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5339 .loc 1 4290 15 view .LVU1797
5340 000a 0246 mov r2, r0
5341 .LVL337:
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5342 .loc 1 4293 3 is_stmt 1 view .LVU1798
ARM GAS /tmp/ccywxtmH.s page 200
5343 000c 2168 ldr r1, [r4]
5344 000e 4B68 ldr r3, [r1, #4]
5345 0010 23F0A003 bic r3, r3, #160
5346 0014 4B60 str r3, [r1, #4]
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5347 .loc 1 4296 3 view .LVU1799
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5348 .loc 1 4296 7 is_stmt 0 view .LVU1800
5349 0016 6421 movs r1, #100
5350 0018 2046 mov r0, r4
5351 .LVL338:
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5352 .loc 1 4296 7 view .LVU1801
5353 001a FFF7FEFF bl SPI_EndRxTxTransaction
5354 .LVL339:
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5355 .loc 1 4296 6 view .LVU1802
5356 001e 18B1 cbz r0, .L374
4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5357 .loc 1 4298 5 is_stmt 1 view .LVU1803
5358 0020 236E ldr r3, [r4, #96]
5359 0022 43F02003 orr r3, r3, #32
5360 0026 2366 str r3, [r4, #96]
5361 .L374:
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5362 .loc 1 4302 3 view .LVU1804
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5363 .loc 1 4302 17 is_stmt 0 view .LVU1805
5364 0028 A368 ldr r3, [r4, #8]
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5365 .loc 1 4302 6 view .LVU1806
5366 002a 33B9 cbnz r3, .L375
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5367 .loc 1 4304 5 is_stmt 1 view .LVU1807
5368 .LBB5:
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5369 .loc 1 4304 5 view .LVU1808
5370 002c 0193 str r3, [sp, #4]
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5371 .loc 1 4304 5 view .LVU1809
5372 002e 2368 ldr r3, [r4]
5373 0030 DA68 ldr r2, [r3, #12]
5374 0032 0192 str r2, [sp, #4]
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5375 .loc 1 4304 5 view .LVU1810
5376 0034 9B68 ldr r3, [r3, #8]
5377 0036 0193 str r3, [sp, #4]
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5378 .loc 1 4304 5 view .LVU1811
5379 0038 019B ldr r3, [sp, #4]
5380 .L375:
5381 .LBE5:
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5382 .loc 1 4304 5 discriminator 1 view .LVU1812
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
5383 .loc 1 4307 3 discriminator 1 view .LVU1813
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
ARM GAS /tmp/ccywxtmH.s page 201
5384 .loc 1 4307 15 is_stmt 0 discriminator 1 view .LVU1814
5385 003a 0123 movs r3, #1
5386 003c 84F85D30 strb r3, [r4, #93]
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5387 .loc 1 4308 3 is_stmt 1 discriminator 1 view .LVU1815
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5388 .loc 1 4308 11 is_stmt 0 discriminator 1 view .LVU1816
5389 0040 236E ldr r3, [r4, #96]
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5390 .loc 1 4308 6 discriminator 1 view .LVU1817
5391 0042 23B1 cbz r3, .L376
4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5392 .loc 1 4314 5 is_stmt 1 view .LVU1818
5393 0044 2046 mov r0, r4
5394 0046 FFF7FEFF bl HAL_SPI_ErrorCallback
5395 .LVL340:
5396 .L373:
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5397 .loc 1 4326 1 is_stmt 0 view .LVU1819
5398 004a 02B0 add sp, sp, #8
5399 .cfi_remember_state
5400 .cfi_def_cfa_offset 8
5401 @ sp needed
5402 004c 10BD pop {r4, pc}
5403 .LVL341:
5404 .L376:
5405 .cfi_restore_state
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5406 .loc 1 4323 5 is_stmt 1 view .LVU1820
5407 004e 2046 mov r0, r4
5408 0050 FFF7FEFF bl HAL_SPI_TxCpltCallback
5409 .LVL342:
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5410 .loc 1 4326 1 is_stmt 0 view .LVU1821
5411 0054 F9E7 b .L373
5412 .cfi_endproc
5413 .LFE183:
5415 .section .text.SPI_TxISR_8BIT,"ax",%progbits
5416 .align 1
5417 .syntax unified
5418 .thumb
5419 .thumb_func
5421 SPI_TxISR_8BIT:
5422 .LVL343:
5423 .LFB175:
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
5424 .loc 1 3880 1 is_stmt 1 view -0
5425 .cfi_startproc
5426 @ args = 0, pretend = 0, frame = 0
5427 @ frame_needed = 0, uses_anonymous_args = 0
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
5428 .loc 1 3880 1 is_stmt 0 view .LVU1823
5429 0000 08B5 push {r3, lr}
5430 .cfi_def_cfa_offset 8
5431 .cfi_offset 3, -8
5432 .cfi_offset 14, -4
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
ARM GAS /tmp/ccywxtmH.s page 202
5433 .loc 1 3881 3 is_stmt 1 view .LVU1824
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5434 .loc 1 3881 48 is_stmt 0 view .LVU1825
5435 0002 826B ldr r2, [r0, #56]
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5436 .loc 1 3881 25 view .LVU1826
5437 0004 0368 ldr r3, [r0]
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5438 .loc 1 3881 43 view .LVU1827
5439 0006 1278 ldrb r2, [r2] @ zero_extendqisi2
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5440 .loc 1 3881 40 view .LVU1828
5441 0008 1A73 strb r2, [r3, #12]
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5442 .loc 1 3882 3 is_stmt 1 view .LVU1829
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5443 .loc 1 3882 7 is_stmt 0 view .LVU1830
5444 000a 836B ldr r3, [r0, #56]
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5445 .loc 1 3882 19 view .LVU1831
5446 000c 0133 adds r3, r3, #1
5447 000e 8363 str r3, [r0, #56]
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5448 .loc 1 3883 3 is_stmt 1 view .LVU1832
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5449 .loc 1 3883 7 is_stmt 0 view .LVU1833
5450 0010 C38F ldrh r3, [r0, #62]
5451 0012 9BB2 uxth r3, r3
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5452 .loc 1 3883 20 view .LVU1834
5453 0014 013B subs r3, r3, #1
5454 0016 9BB2 uxth r3, r3
5455 0018 C387 strh r3, [r0, #62] @ movhi
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5456 .loc 1 3885 3 is_stmt 1 view .LVU1835
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5457 .loc 1 3885 11 is_stmt 0 view .LVU1836
5458 001a C38F ldrh r3, [r0, #62]
5459 001c 9BB2 uxth r3, r3
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5460 .loc 1 3885 6 view .LVU1837
5461 001e 03B1 cbz r3, .L382
5462 .LVL344:
5463 .L379:
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5464 .loc 1 3896 1 view .LVU1838
5465 0020 08BD pop {r3, pc}
5466 .LVL345:
5467 .L382:
3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5468 .loc 1 3894 5 is_stmt 1 view .LVU1839
5469 0022 FFF7FEFF bl SPI_CloseTx_ISR
5470 .LVL346:
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5471 .loc 1 3896 1 is_stmt 0 view .LVU1840
5472 0026 FBE7 b .L379
5473 .cfi_endproc
ARM GAS /tmp/ccywxtmH.s page 203
5474 .LFE175:
5476 .section .text.SPI_TxISR_16BIT,"ax",%progbits
5477 .align 1
5478 .syntax unified
5479 .thumb
5480 .thumb_func
5482 SPI_TxISR_16BIT:
5483 .LVL347:
5484 .LFB176:
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5485 .loc 1 3905 1 is_stmt 1 view -0
5486 .cfi_startproc
5487 @ args = 0, pretend = 0, frame = 0
5488 @ frame_needed = 0, uses_anonymous_args = 0
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5489 .loc 1 3905 1 is_stmt 0 view .LVU1842
5490 0000 08B5 push {r3, lr}
5491 .cfi_def_cfa_offset 8
5492 .cfi_offset 3, -8
5493 .cfi_offset 14, -4
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5494 .loc 1 3907 3 is_stmt 1 view .LVU1843
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5495 .loc 1 3907 42 is_stmt 0 view .LVU1844
5496 0002 826B ldr r2, [r0, #56]
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5497 .loc 1 3907 7 view .LVU1845
5498 0004 0368 ldr r3, [r0]
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5499 .loc 1 3907 24 view .LVU1846
5500 0006 1288 ldrh r2, [r2]
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5501 .loc 1 3907 22 view .LVU1847
5502 0008 DA60 str r2, [r3, #12]
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5503 .loc 1 3908 3 is_stmt 1 view .LVU1848
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5504 .loc 1 3908 7 is_stmt 0 view .LVU1849
5505 000a 836B ldr r3, [r0, #56]
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5506 .loc 1 3908 20 view .LVU1850
5507 000c 0233 adds r3, r3, #2
5508 000e 8363 str r3, [r0, #56]
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5509 .loc 1 3909 3 is_stmt 1 view .LVU1851
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5510 .loc 1 3909 7 is_stmt 0 view .LVU1852
5511 0010 C38F ldrh r3, [r0, #62]
5512 0012 9BB2 uxth r3, r3
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5513 .loc 1 3909 20 view .LVU1853
5514 0014 013B subs r3, r3, #1
5515 0016 9BB2 uxth r3, r3
5516 0018 C387 strh r3, [r0, #62] @ movhi
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5517 .loc 1 3911 3 is_stmt 1 view .LVU1854
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 204
5518 .loc 1 3911 11 is_stmt 0 view .LVU1855
5519 001a C38F ldrh r3, [r0, #62]
5520 001c 9BB2 uxth r3, r3
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5521 .loc 1 3911 6 view .LVU1856
5522 001e 03B1 cbz r3, .L386
5523 .LVL348:
5524 .L383:
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5525 .loc 1 3922 1 view .LVU1857
5526 0020 08BD pop {r3, pc}
5527 .LVL349:
5528 .L386:
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5529 .loc 1 3920 5 is_stmt 1 view .LVU1858
5530 0022 FFF7FEFF bl SPI_CloseTx_ISR
5531 .LVL350:
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5532 .loc 1 3922 1 is_stmt 0 view .LVU1859
5533 0026 FBE7 b .L383
5534 .cfi_endproc
5535 .LFE176:
5537 .section .text.SPI_CloseRx_ISR,"ax",%progbits
5538 .align 1
5539 .syntax unified
5540 .thumb
5541 .thumb_func
5543 SPI_CloseRx_ISR:
5544 .LVL351:
5545 .LFB182:
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
5546 .loc 1 4229 1 is_stmt 1 view -0
5547 .cfi_startproc
5548 @ args = 0, pretend = 0, frame = 0
5549 @ frame_needed = 0, uses_anonymous_args = 0
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
5550 .loc 1 4229 1 is_stmt 0 view .LVU1861
5551 0000 10B5 push {r4, lr}
5552 .cfi_def_cfa_offset 8
5553 .cfi_offset 4, -8
5554 .cfi_offset 14, -4
5555 0002 0446 mov r4, r0
4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5556 .loc 1 4231 3 is_stmt 1 view .LVU1862
5557 0004 0268 ldr r2, [r0]
5558 0006 5368 ldr r3, [r2, #4]
5559 0008 23F06003 bic r3, r3, #96
5560 000c 5360 str r3, [r2, #4]
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5561 .loc 1 4234 3 view .LVU1863
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5562 .loc 1 4234 7 is_stmt 0 view .LVU1864
5563 000e FFF7FEFF bl HAL_GetTick
5564 .LVL352:
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5565 .loc 1 4234 7 view .LVU1865
5566 0012 0246 mov r2, r0
ARM GAS /tmp/ccywxtmH.s page 205
5567 0014 6421 movs r1, #100
5568 0016 2046 mov r0, r4
5569 0018 FFF7FEFF bl SPI_EndRxTransaction
5570 .LVL353:
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5571 .loc 1 4234 6 view .LVU1866
5572 001c 18B1 cbz r0, .L388
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5573 .loc 1 4236 5 is_stmt 1 view .LVU1867
5574 001e 236E ldr r3, [r4, #96]
5575 0020 43F02003 orr r3, r3, #32
5576 0024 2366 str r3, [r4, #96]
5577 .L388:
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5578 .loc 1 4238 3 view .LVU1868
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5579 .loc 1 4238 15 is_stmt 0 view .LVU1869
5580 0026 0123 movs r3, #1
5581 0028 84F85D30 strb r3, [r4, #93]
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5582 .loc 1 4256 5 is_stmt 1 view .LVU1870
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5583 .loc 1 4256 13 is_stmt 0 view .LVU1871
5584 002c 236E ldr r3, [r4, #96]
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5585 .loc 1 4256 8 view .LVU1872
5586 002e 1BB9 cbnz r3, .L389
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5587 .loc 1 4262 7 is_stmt 1 view .LVU1873
5588 0030 2046 mov r0, r4
5589 0032 FFF7FEFF bl HAL_SPI_RxCpltCallback
5590 .LVL354:
5591 .L387:
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5592 .loc 1 4277 1 is_stmt 0 view .LVU1874
5593 0036 10BD pop {r4, pc}
5594 .LVL355:
5595 .L389:
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5596 .loc 1 4271 7 is_stmt 1 view .LVU1875
5597 0038 2046 mov r0, r4
5598 003a FFF7FEFF bl HAL_SPI_ErrorCallback
5599 .LVL356:
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5600 .loc 1 4277 1 is_stmt 0 view .LVU1876
5601 003e FAE7 b .L387
5602 .cfi_endproc
5603 .LFE182:
5605 .section .text.SPI_RxISR_8BIT,"ax",%progbits
5606 .align 1
5607 .syntax unified
5608 .thumb
5609 .thumb_func
5611 SPI_RxISR_8BIT:
5612 .LVL357:
5613 .LFB173:
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
ARM GAS /tmp/ccywxtmH.s page 206
5614 .loc 1 3791 1 is_stmt 1 view -0
5615 .cfi_startproc
5616 @ args = 0, pretend = 0, frame = 0
5617 @ frame_needed = 0, uses_anonymous_args = 0
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
5618 .loc 1 3791 1 is_stmt 0 view .LVU1878
5619 0000 08B5 push {r3, lr}
5620 .cfi_def_cfa_offset 8
5621 .cfi_offset 3, -8
5622 .cfi_offset 14, -4
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5623 .loc 1 3792 3 is_stmt 1 view .LVU1879
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5624 .loc 1 3792 46 is_stmt 0 view .LVU1880
5625 0002 0268 ldr r2, [r0]
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5626 .loc 1 3792 8 view .LVU1881
5627 0004 036C ldr r3, [r0, #64]
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5628 .loc 1 3792 24 view .LVU1882
5629 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5630 .loc 1 3792 21 view .LVU1883
5631 0008 1A70 strb r2, [r3]
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5632 .loc 1 3793 3 is_stmt 1 view .LVU1884
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5633 .loc 1 3793 7 is_stmt 0 view .LVU1885
5634 000a 036C ldr r3, [r0, #64]
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5635 .loc 1 3793 19 view .LVU1886
5636 000c 0133 adds r3, r3, #1
5637 000e 0364 str r3, [r0, #64]
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5638 .loc 1 3794 3 is_stmt 1 view .LVU1887
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5639 .loc 1 3794 7 is_stmt 0 view .LVU1888
5640 0010 B0F84630 ldrh r3, [r0, #70]
5641 0014 9BB2 uxth r3, r3
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5642 .loc 1 3794 20 view .LVU1889
5643 0016 013B subs r3, r3, #1
5644 0018 9BB2 uxth r3, r3
5645 001a A0F84630 strh r3, [r0, #70] @ movhi
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5646 .loc 1 3804 3 is_stmt 1 view .LVU1890
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5647 .loc 1 3804 11 is_stmt 0 view .LVU1891
5648 001e B0F84630 ldrh r3, [r0, #70]
5649 0022 9BB2 uxth r3, r3
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5650 .loc 1 3804 6 view .LVU1892
5651 0024 03B1 cbz r3, .L395
5652 .LVL358:
5653 .L392:
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5654 .loc 1 3815 1 view .LVU1893
ARM GAS /tmp/ccywxtmH.s page 207
5655 0026 08BD pop {r3, pc}
5656 .LVL359:
5657 .L395:
3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5658 .loc 1 3813 5 is_stmt 1 view .LVU1894
5659 0028 FFF7FEFF bl SPI_CloseRx_ISR
5660 .LVL360:
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5661 .loc 1 3815 1 is_stmt 0 view .LVU1895
5662 002c FBE7 b .L392
5663 .cfi_endproc
5664 .LFE173:
5666 .section .text.SPI_RxISR_16BIT,"ax",%progbits
5667 .align 1
5668 .syntax unified
5669 .thumb
5670 .thumb_func
5672 SPI_RxISR_16BIT:
5673 .LVL361:
5674 .LFB174:
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
5675 .loc 1 3847 1 is_stmt 1 view -0
5676 .cfi_startproc
5677 @ args = 0, pretend = 0, frame = 0
5678 @ frame_needed = 0, uses_anonymous_args = 0
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
5679 .loc 1 3847 1 is_stmt 0 view .LVU1897
5680 0000 08B5 push {r3, lr}
5681 .cfi_def_cfa_offset 8
5682 .cfi_offset 3, -8
5683 .cfi_offset 14, -4
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5684 .loc 1 3848 3 is_stmt 1 view .LVU1898
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5685 .loc 1 3848 52 is_stmt 0 view .LVU1899
5686 0002 0368 ldr r3, [r0]
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5687 .loc 1 3848 62 view .LVU1900
5688 0004 DA68 ldr r2, [r3, #12]
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5689 .loc 1 3848 21 view .LVU1901
5690 0006 036C ldr r3, [r0, #64]
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5691 .loc 1 3848 35 view .LVU1902
5692 0008 1A80 strh r2, [r3] @ movhi
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5693 .loc 1 3849 3 is_stmt 1 view .LVU1903
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5694 .loc 1 3849 7 is_stmt 0 view .LVU1904
5695 000a 036C ldr r3, [r0, #64]
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5696 .loc 1 3849 20 view .LVU1905
5697 000c 0233 adds r3, r3, #2
5698 000e 0364 str r3, [r0, #64]
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5699 .loc 1 3850 3 is_stmt 1 view .LVU1906
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 208
5700 .loc 1 3850 7 is_stmt 0 view .LVU1907
5701 0010 B0F84630 ldrh r3, [r0, #70]
5702 0014 9BB2 uxth r3, r3
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5703 .loc 1 3850 20 view .LVU1908
5704 0016 013B subs r3, r3, #1
5705 0018 9BB2 uxth r3, r3
5706 001a A0F84630 strh r3, [r0, #70] @ movhi
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5707 .loc 1 3860 3 is_stmt 1 view .LVU1909
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5708 .loc 1 3860 11 is_stmt 0 view .LVU1910
5709 001e B0F84630 ldrh r3, [r0, #70]
5710 0022 9BB2 uxth r3, r3
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5711 .loc 1 3860 6 view .LVU1911
5712 0024 03B1 cbz r3, .L399
5713 .LVL362:
5714 .L396:
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5715 .loc 1 3871 1 view .LVU1912
5716 0026 08BD pop {r3, pc}
5717 .LVL363:
5718 .L399:
3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5719 .loc 1 3869 5 is_stmt 1 view .LVU1913
5720 0028 FFF7FEFF bl SPI_CloseRx_ISR
5721 .LVL364:
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5722 .loc 1 3871 1 is_stmt 0 view .LVU1914
5723 002c FBE7 b .L396
5724 .cfi_endproc
5725 .LFE174:
5727 .section .text.SPI_CloseRxTx_ISR,"ax",%progbits
5728 .align 1
5729 .syntax unified
5730 .thumb
5731 .thumb_func
5733 SPI_CloseRxTx_ISR:
5734 .LVL365:
5735 .LFB181:
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5736 .loc 1 4152 1 is_stmt 1 view -0
5737 .cfi_startproc
5738 @ args = 0, pretend = 0, frame = 0
5739 @ frame_needed = 0, uses_anonymous_args = 0
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5740 .loc 1 4152 1 is_stmt 0 view .LVU1916
5741 0000 10B5 push {r4, lr}
5742 .cfi_def_cfa_offset 8
5743 .cfi_offset 4, -8
5744 .cfi_offset 14, -4
5745 0002 0446 mov r4, r0
4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5746 .loc 1 4153 3 is_stmt 1 view .LVU1917
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5747 .loc 1 4156 3 view .LVU1918
ARM GAS /tmp/ccywxtmH.s page 209
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5748 .loc 1 4156 15 is_stmt 0 view .LVU1919
5749 0004 FFF7FEFF bl HAL_GetTick
5750 .LVL366:
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5751 .loc 1 4156 15 view .LVU1920
5752 0008 0246 mov r2, r0
5753 .LVL367:
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5754 .loc 1 4159 3 is_stmt 1 view .LVU1921
5755 000a 2168 ldr r1, [r4]
5756 000c 4B68 ldr r3, [r1, #4]
5757 000e 23F02003 bic r3, r3, #32
5758 0012 4B60 str r3, [r1, #4]
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5759 .loc 1 4162 3 view .LVU1922
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5760 .loc 1 4162 7 is_stmt 0 view .LVU1923
5761 0014 6421 movs r1, #100
5762 0016 2046 mov r0, r4
5763 .LVL368:
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5764 .loc 1 4162 7 view .LVU1924
5765 0018 FFF7FEFF bl SPI_EndRxTxTransaction
5766 .LVL369:
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5767 .loc 1 4162 6 view .LVU1925
5768 001c 18B1 cbz r0, .L401
4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5769 .loc 1 4164 5 is_stmt 1 view .LVU1926
5770 001e 236E ldr r3, [r4, #96]
5771 0020 43F02003 orr r3, r3, #32
5772 0024 2366 str r3, [r4, #96]
5773 .L401:
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5774 .loc 1 4184 5 view .LVU1927
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5775 .loc 1 4184 13 is_stmt 0 view .LVU1928
5776 0026 236E ldr r3, [r4, #96]
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5777 .loc 1 4184 8 view .LVU1929
5778 0028 93B9 cbnz r3, .L402
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5779 .loc 1 4186 7 is_stmt 1 view .LVU1930
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5780 .loc 1 4186 15 is_stmt 0 view .LVU1931
5781 002a 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
5782 002e DBB2 uxtb r3, r3
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5783 .loc 1 4186 10 view .LVU1932
5784 0030 042B cmp r3, #4
5785 0032 06D0 beq .L406
4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
5786 .loc 1 4198 9 is_stmt 1 view .LVU1933
4198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
5787 .loc 1 4198 21 is_stmt 0 view .LVU1934
5788 0034 0123 movs r3, #1
ARM GAS /tmp/ccywxtmH.s page 210
5789 0036 84F85D30 strb r3, [r4, #93]
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5790 .loc 1 4203 9 is_stmt 1 view .LVU1935
5791 003a 2046 mov r0, r4
5792 003c FFF7FEFF bl HAL_SPI_TxRxCpltCallback
5793 .LVL370:
5794 .L400:
4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5795 .loc 1 4220 1 is_stmt 0 view .LVU1936
5796 0040 10BD pop {r4, pc}
5797 .LVL371:
5798 .L406:
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
5799 .loc 1 4188 9 is_stmt 1 view .LVU1937
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
5800 .loc 1 4188 21 is_stmt 0 view .LVU1938
5801 0042 0123 movs r3, #1
5802 0044 84F85D30 strb r3, [r4, #93]
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5803 .loc 1 4193 9 is_stmt 1 view .LVU1939
5804 0048 2046 mov r0, r4
5805 004a FFF7FEFF bl HAL_SPI_RxCpltCallback
5806 .LVL372:
5807 004e F7E7 b .L400
5808 .L402:
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
5809 .loc 1 4209 7 view .LVU1940
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
5810 .loc 1 4209 19 is_stmt 0 view .LVU1941
5811 0050 0123 movs r3, #1
5812 0052 84F85D30 strb r3, [r4, #93]
4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5813 .loc 1 4214 7 is_stmt 1 view .LVU1942
5814 0056 2046 mov r0, r4
5815 0058 FFF7FEFF bl HAL_SPI_ErrorCallback
5816 .LVL373:
4220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5817 .loc 1 4220 1 is_stmt 0 view .LVU1943
5818 005c F0E7 b .L400
5819 .cfi_endproc
5820 .LFE181:
5822 .section .text.SPI_2linesTxISR_8BIT,"ax",%progbits
5823 .align 1
5824 .syntax unified
5825 .thumb
5826 .thumb_func
5828 SPI_2linesTxISR_8BIT:
5829 .LVL374:
5830 .LFB170:
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
5831 .loc 1 3623 1 is_stmt 1 view -0
5832 .cfi_startproc
5833 @ args = 0, pretend = 0, frame = 0
5834 @ frame_needed = 0, uses_anonymous_args = 0
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
5835 .loc 1 3623 1 is_stmt 0 view .LVU1945
5836 0000 08B5 push {r3, lr}
ARM GAS /tmp/ccywxtmH.s page 211
5837 .cfi_def_cfa_offset 8
5838 .cfi_offset 3, -8
5839 .cfi_offset 14, -4
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5840 .loc 1 3625 3 is_stmt 1 view .LVU1946
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5841 .loc 1 3625 11 is_stmt 0 view .LVU1947
5842 0002 C38F ldrh r3, [r0, #62]
5843 0004 9BB2 uxth r3, r3
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5844 .loc 1 3625 6 view .LVU1948
5845 0006 012B cmp r3, #1
5846 0008 18D9 bls .L408
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5847 .loc 1 3627 5 is_stmt 1 view .LVU1949
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5848 .loc 1 3627 44 is_stmt 0 view .LVU1950
5849 000a 826B ldr r2, [r0, #56]
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5850 .loc 1 3627 9 view .LVU1951
5851 000c 0368 ldr r3, [r0]
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5852 .loc 1 3627 26 view .LVU1952
5853 000e 1288 ldrh r2, [r2]
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5854 .loc 1 3627 24 view .LVU1953
5855 0010 DA60 str r2, [r3, #12]
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5856 .loc 1 3628 5 is_stmt 1 view .LVU1954
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5857 .loc 1 3628 9 is_stmt 0 view .LVU1955
5858 0012 836B ldr r3, [r0, #56]
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5859 .loc 1 3628 22 view .LVU1956
5860 0014 0233 adds r3, r3, #2
5861 0016 8363 str r3, [r0, #56]
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5862 .loc 1 3629 5 is_stmt 1 view .LVU1957
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5863 .loc 1 3629 9 is_stmt 0 view .LVU1958
5864 0018 C38F ldrh r3, [r0, #62]
5865 001a 9BB2 uxth r3, r3
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5866 .loc 1 3629 23 view .LVU1959
5867 001c 023B subs r3, r3, #2
5868 001e 9BB2 uxth r3, r3
5869 0020 C387 strh r3, [r0, #62] @ movhi
5870 .L409:
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5871 .loc 1 3640 3 is_stmt 1 view .LVU1960
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5872 .loc 1 3640 11 is_stmt 0 view .LVU1961
5873 0022 C38F ldrh r3, [r0, #62]
5874 0024 9BB2 uxth r3, r3
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5875 .loc 1 3640 6 view .LVU1962
5876 0026 43B9 cbnz r3, .L407
ARM GAS /tmp/ccywxtmH.s page 212
3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5877 .loc 1 3654 5 is_stmt 1 view .LVU1963
5878 0028 0268 ldr r2, [r0]
5879 002a 5368 ldr r3, [r2, #4]
5880 002c 23F08003 bic r3, r3, #128
5881 0030 5360 str r3, [r2, #4]
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5882 .loc 1 3656 5 view .LVU1964
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5883 .loc 1 3656 13 is_stmt 0 view .LVU1965
5884 0032 B0F84630 ldrh r3, [r0, #70]
5885 0036 9BB2 uxth r3, r3
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5886 .loc 1 3656 8 view .LVU1966
5887 0038 6BB1 cbz r3, .L412
5888 .LVL375:
5889 .L407:
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5890 .loc 1 3661 1 view .LVU1967
5891 003a 08BD pop {r3, pc}
5892 .LVL376:
5893 .L408:
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5894 .loc 1 3634 5 is_stmt 1 view .LVU1968
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5895 .loc 1 3634 50 is_stmt 0 view .LVU1969
5896 003c 826B ldr r2, [r0, #56]
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5897 .loc 1 3634 27 view .LVU1970
5898 003e 0368 ldr r3, [r0]
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5899 .loc 1 3634 45 view .LVU1971
5900 0040 1278 ldrb r2, [r2] @ zero_extendqisi2
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5901 .loc 1 3634 42 view .LVU1972
5902 0042 1A73 strb r2, [r3, #12]
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5903 .loc 1 3635 5 is_stmt 1 view .LVU1973
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5904 .loc 1 3635 9 is_stmt 0 view .LVU1974
5905 0044 836B ldr r3, [r0, #56]
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5906 .loc 1 3635 21 view .LVU1975
5907 0046 0133 adds r3, r3, #1
5908 0048 8363 str r3, [r0, #56]
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5909 .loc 1 3636 5 is_stmt 1 view .LVU1976
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5910 .loc 1 3636 9 is_stmt 0 view .LVU1977
5911 004a C38F ldrh r3, [r0, #62]
5912 004c 9BB2 uxth r3, r3
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5913 .loc 1 3636 22 view .LVU1978
5914 004e 013B subs r3, r3, #1
5915 0050 9BB2 uxth r3, r3
5916 0052 C387 strh r3, [r0, #62] @ movhi
5917 0054 E5E7 b .L409
ARM GAS /tmp/ccywxtmH.s page 213
5918 .L412:
3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5919 .loc 1 3658 7 is_stmt 1 view .LVU1979
5920 0056 FFF7FEFF bl SPI_CloseRxTx_ISR
5921 .LVL377:
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5922 .loc 1 3661 1 is_stmt 0 view .LVU1980
5923 005a EEE7 b .L407
5924 .cfi_endproc
5925 .LFE170:
5927 .section .text.SPI_2linesRxISR_8BIT,"ax",%progbits
5928 .align 1
5929 .syntax unified
5930 .thumb
5931 .thumb_func
5933 SPI_2linesRxISR_8BIT:
5934 .LVL378:
5935 .LFB169:
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
5936 .loc 1 3538 1 is_stmt 1 view -0
5937 .cfi_startproc
5938 @ args = 0, pretend = 0, frame = 0
5939 @ frame_needed = 0, uses_anonymous_args = 0
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
5940 .loc 1 3538 1 is_stmt 0 view .LVU1982
5941 0000 08B5 push {r3, lr}
5942 .cfi_def_cfa_offset 8
5943 .cfi_offset 3, -8
5944 .cfi_offset 14, -4
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5945 .loc 1 3540 3 is_stmt 1 view .LVU1983
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5946 .loc 1 3540 11 is_stmt 0 view .LVU1984
5947 0002 B0F84630 ldrh r3, [r0, #70]
5948 0006 9BB2 uxth r3, r3
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5949 .loc 1 3540 6 view .LVU1985
5950 0008 012B cmp r3, #1
5951 000a 18D9 bls .L414
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5952 .loc 1 3542 5 is_stmt 1 view .LVU1986
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5953 .loc 1 3542 54 is_stmt 0 view .LVU1987
5954 000c 0368 ldr r3, [r0]
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5955 .loc 1 3542 64 view .LVU1988
5956 000e DA68 ldr r2, [r3, #12]
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5957 .loc 1 3542 23 view .LVU1989
5958 0010 036C ldr r3, [r0, #64]
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5959 .loc 1 3542 37 view .LVU1990
5960 0012 1A80 strh r2, [r3] @ movhi
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
5961 .loc 1 3543 5 is_stmt 1 view .LVU1991
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
5962 .loc 1 3543 9 is_stmt 0 view .LVU1992
ARM GAS /tmp/ccywxtmH.s page 214
5963 0014 036C ldr r3, [r0, #64]
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
5964 .loc 1 3543 22 view .LVU1993
5965 0016 0233 adds r3, r3, #2
5966 0018 0364 str r3, [r0, #64]
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
5967 .loc 1 3544 5 is_stmt 1 view .LVU1994
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
5968 .loc 1 3544 9 is_stmt 0 view .LVU1995
5969 001a B0F84630 ldrh r3, [r0, #70]
5970 001e 9BB2 uxth r3, r3
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
5971 .loc 1 3544 23 view .LVU1996
5972 0020 023B subs r3, r3, #2
5973 0022 9BB2 uxth r3, r3
5974 0024 A0F84630 strh r3, [r0, #70] @ movhi
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5975 .loc 1 3545 5 is_stmt 1 view .LVU1997
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5976 .loc 1 3545 13 is_stmt 0 view .LVU1998
5977 0028 B0F84630 ldrh r3, [r0, #70]
5978 002c 9BB2 uxth r3, r3
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5979 .loc 1 3545 8 view .LVU1999
5980 002e 012B cmp r3, #1
5981 0030 13D1 bne .L415
3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5982 .loc 1 3548 7 is_stmt 1 view .LVU2000
5983 0032 0268 ldr r2, [r0]
5984 0034 5368 ldr r3, [r2, #4]
5985 0036 43F48053 orr r3, r3, #4096
5986 003a 5360 str r3, [r2, #4]
5987 003c 0DE0 b .L415
5988 .L414:
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5989 .loc 1 3554 5 view .LVU2001
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5990 .loc 1 3554 48 is_stmt 0 view .LVU2002
5991 003e 0268 ldr r2, [r0]
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5992 .loc 1 3554 10 view .LVU2003
5993 0040 036C ldr r3, [r0, #64]
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5994 .loc 1 3554 25 view .LVU2004
5995 0042 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5996 .loc 1 3554 23 view .LVU2005
5997 0044 1A70 strb r2, [r3]
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5998 .loc 1 3555 5 is_stmt 1 view .LVU2006
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5999 .loc 1 3555 9 is_stmt 0 view .LVU2007
6000 0046 036C ldr r3, [r0, #64]
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6001 .loc 1 3555 21 view .LVU2008
6002 0048 0133 adds r3, r3, #1
6003 004a 0364 str r3, [r0, #64]
ARM GAS /tmp/ccywxtmH.s page 215
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6004 .loc 1 3556 5 is_stmt 1 view .LVU2009
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6005 .loc 1 3556 9 is_stmt 0 view .LVU2010
6006 004c B0F84630 ldrh r3, [r0, #70]
6007 0050 9BB2 uxth r3, r3
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6008 .loc 1 3556 22 view .LVU2011
6009 0052 013B subs r3, r3, #1
6010 0054 9BB2 uxth r3, r3
6011 0056 A0F84630 strh r3, [r0, #70] @ movhi
6012 .L415:
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6013 .loc 1 3560 3 is_stmt 1 view .LVU2012
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6014 .loc 1 3560 11 is_stmt 0 view .LVU2013
6015 005a B0F84630 ldrh r3, [r0, #70]
6016 005e 9BB2 uxth r3, r3
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6017 .loc 1 3560 6 view .LVU2014
6018 0060 3BB9 cbnz r3, .L413
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6019 .loc 1 3572 5 is_stmt 1 view .LVU2015
6020 0062 0268 ldr r2, [r0]
6021 0064 5368 ldr r3, [r2, #4]
6022 0066 23F06003 bic r3, r3, #96
6023 006a 5360 str r3, [r2, #4]
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6024 .loc 1 3574 5 view .LVU2016
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6025 .loc 1 3574 13 is_stmt 0 view .LVU2017
6026 006c C38F ldrh r3, [r0, #62]
6027 006e 9BB2 uxth r3, r3
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6028 .loc 1 3574 8 view .LVU2018
6029 0070 03B1 cbz r3, .L418
6030 .LVL379:
6031 .L413:
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6032 .loc 1 3579 1 view .LVU2019
6033 0072 08BD pop {r3, pc}
6034 .LVL380:
6035 .L418:
3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6036 .loc 1 3576 7 is_stmt 1 view .LVU2020
6037 0074 FFF7FEFF bl SPI_CloseRxTx_ISR
6038 .LVL381:
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6039 .loc 1 3579 1 is_stmt 0 view .LVU2021
6040 0078 FBE7 b .L413
6041 .cfi_endproc
6042 .LFE169:
6044 .section .text.SPI_2linesTxISR_16BIT,"ax",%progbits
6045 .align 1
6046 .syntax unified
6047 .thumb
6048 .thumb_func
ARM GAS /tmp/ccywxtmH.s page 216
6050 SPI_2linesTxISR_16BIT:
6051 .LVL382:
6052 .LFB172:
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
6053 .loc 1 3726 1 is_stmt 1 view -0
6054 .cfi_startproc
6055 @ args = 0, pretend = 0, frame = 0
6056 @ frame_needed = 0, uses_anonymous_args = 0
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
6057 .loc 1 3726 1 is_stmt 0 view .LVU2023
6058 0000 08B5 push {r3, lr}
6059 .cfi_def_cfa_offset 8
6060 .cfi_offset 3, -8
6061 .cfi_offset 14, -4
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6062 .loc 1 3728 3 is_stmt 1 view .LVU2024
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6063 .loc 1 3728 42 is_stmt 0 view .LVU2025
6064 0002 826B ldr r2, [r0, #56]
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6065 .loc 1 3728 7 view .LVU2026
6066 0004 0368 ldr r3, [r0]
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6067 .loc 1 3728 24 view .LVU2027
6068 0006 1288 ldrh r2, [r2]
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6069 .loc 1 3728 22 view .LVU2028
6070 0008 DA60 str r2, [r3, #12]
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6071 .loc 1 3729 3 is_stmt 1 view .LVU2029
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6072 .loc 1 3729 7 is_stmt 0 view .LVU2030
6073 000a 836B ldr r3, [r0, #56]
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6074 .loc 1 3729 20 view .LVU2031
6075 000c 0233 adds r3, r3, #2
6076 000e 8363 str r3, [r0, #56]
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6077 .loc 1 3730 3 is_stmt 1 view .LVU2032
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6078 .loc 1 3730 7 is_stmt 0 view .LVU2033
6079 0010 C38F ldrh r3, [r0, #62]
6080 0012 9BB2 uxth r3, r3
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6081 .loc 1 3730 20 view .LVU2034
6082 0014 013B subs r3, r3, #1
6083 0016 9BB2 uxth r3, r3
6084 0018 C387 strh r3, [r0, #62] @ movhi
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6085 .loc 1 3733 3 is_stmt 1 view .LVU2035
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6086 .loc 1 3733 11 is_stmt 0 view .LVU2036
6087 001a C38F ldrh r3, [r0, #62]
6088 001c 9BB2 uxth r3, r3
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6089 .loc 1 3733 6 view .LVU2037
6090 001e 43B9 cbnz r3, .L419
ARM GAS /tmp/ccywxtmH.s page 217
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6091 .loc 1 3747 5 is_stmt 1 view .LVU2038
6092 0020 0268 ldr r2, [r0]
6093 0022 5368 ldr r3, [r2, #4]
6094 0024 23F08003 bic r3, r3, #128
6095 0028 5360 str r3, [r2, #4]
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6096 .loc 1 3749 5 view .LVU2039
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6097 .loc 1 3749 13 is_stmt 0 view .LVU2040
6098 002a B0F84630 ldrh r3, [r0, #70]
6099 002e 9BB2 uxth r3, r3
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6100 .loc 1 3749 8 view .LVU2041
6101 0030 03B1 cbz r3, .L422
6102 .LVL383:
6103 .L419:
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6104 .loc 1 3754 1 view .LVU2042
6105 0032 08BD pop {r3, pc}
6106 .LVL384:
6107 .L422:
3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6108 .loc 1 3751 7 is_stmt 1 view .LVU2043
6109 0034 FFF7FEFF bl SPI_CloseRxTx_ISR
6110 .LVL385:
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6111 .loc 1 3754 1 is_stmt 0 view .LVU2044
6112 0038 FBE7 b .L419
6113 .cfi_endproc
6114 .LFE172:
6116 .section .text.SPI_2linesRxISR_16BIT,"ax",%progbits
6117 .align 1
6118 .syntax unified
6119 .thumb
6120 .thumb_func
6122 SPI_2linesRxISR_16BIT:
6123 .LVL386:
6124 .LFB171:
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
6125 .loc 1 3670 1 is_stmt 1 view -0
6126 .cfi_startproc
6127 @ args = 0, pretend = 0, frame = 0
6128 @ frame_needed = 0, uses_anonymous_args = 0
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
6129 .loc 1 3670 1 is_stmt 0 view .LVU2046
6130 0000 08B5 push {r3, lr}
6131 .cfi_def_cfa_offset 8
6132 .cfi_offset 3, -8
6133 .cfi_offset 14, -4
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6134 .loc 1 3672 3 is_stmt 1 view .LVU2047
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6135 .loc 1 3672 52 is_stmt 0 view .LVU2048
6136 0002 0368 ldr r3, [r0]
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6137 .loc 1 3672 62 view .LVU2049
ARM GAS /tmp/ccywxtmH.s page 218
6138 0004 DA68 ldr r2, [r3, #12]
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6139 .loc 1 3672 21 view .LVU2050
6140 0006 036C ldr r3, [r0, #64]
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6141 .loc 1 3672 35 view .LVU2051
6142 0008 1A80 strh r2, [r3] @ movhi
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6143 .loc 1 3673 3 is_stmt 1 view .LVU2052
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6144 .loc 1 3673 7 is_stmt 0 view .LVU2053
6145 000a 036C ldr r3, [r0, #64]
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6146 .loc 1 3673 20 view .LVU2054
6147 000c 0233 adds r3, r3, #2
6148 000e 0364 str r3, [r0, #64]
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6149 .loc 1 3674 3 is_stmt 1 view .LVU2055
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6150 .loc 1 3674 7 is_stmt 0 view .LVU2056
6151 0010 B0F84630 ldrh r3, [r0, #70]
6152 0014 9BB2 uxth r3, r3
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6153 .loc 1 3674 20 view .LVU2057
6154 0016 013B subs r3, r3, #1
6155 0018 9BB2 uxth r3, r3
6156 001a A0F84630 strh r3, [r0, #70] @ movhi
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6157 .loc 1 3676 3 is_stmt 1 view .LVU2058
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6158 .loc 1 3676 11 is_stmt 0 view .LVU2059
6159 001e B0F84630 ldrh r3, [r0, #70]
6160 0022 9BB2 uxth r3, r3
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6161 .loc 1 3676 6 view .LVU2060
6162 0024 3BB9 cbnz r3, .L423
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6163 .loc 1 3687 5 is_stmt 1 view .LVU2061
6164 0026 0268 ldr r2, [r0]
6165 0028 5368 ldr r3, [r2, #4]
6166 002a 23F04003 bic r3, r3, #64
6167 002e 5360 str r3, [r2, #4]
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6168 .loc 1 3689 5 view .LVU2062
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6169 .loc 1 3689 13 is_stmt 0 view .LVU2063
6170 0030 C38F ldrh r3, [r0, #62]
6171 0032 9BB2 uxth r3, r3
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6172 .loc 1 3689 8 view .LVU2064
6173 0034 03B1 cbz r3, .L426
6174 .LVL387:
6175 .L423:
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6176 .loc 1 3694 1 view .LVU2065
6177 0036 08BD pop {r3, pc}
6178 .LVL388:
ARM GAS /tmp/ccywxtmH.s page 219
6179 .L426:
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6180 .loc 1 3691 7 is_stmt 1 view .LVU2066
6181 0038 FFF7FEFF bl SPI_CloseRxTx_ISR
6182 .LVL389:
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6183 .loc 1 3694 1 is_stmt 0 view .LVU2067
6184 003c FBE7 b .L423
6185 .cfi_endproc
6186 .LFE171:
6188 .section .text.SPI_DMAError,"ax",%progbits
6189 .align 1
6190 .syntax unified
6191 .thumb
6192 .thumb_func
6194 SPI_DMAError:
6195 .LVL390:
6196 .LFB165:
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6197 .loc 1 3362 1 is_stmt 1 view -0
6198 .cfi_startproc
6199 @ args = 0, pretend = 0, frame = 0
6200 @ frame_needed = 0, uses_anonymous_args = 0
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6201 .loc 1 3362 1 is_stmt 0 view .LVU2069
6202 0000 08B5 push {r3, lr}
6203 .cfi_def_cfa_offset 8
6204 .cfi_offset 3, -8
6205 .cfi_offset 14, -4
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6206 .loc 1 3363 3 is_stmt 1 view .LVU2070
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6207 .loc 1 3363 22 is_stmt 0 view .LVU2071
6208 0002 406A ldr r0, [r0, #36]
6209 .LVL391:
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6210 .loc 1 3366 3 is_stmt 1 view .LVU2072
6211 0004 0268 ldr r2, [r0]
6212 0006 5368 ldr r3, [r2, #4]
6213 0008 23F00303 bic r3, r3, #3
6214 000c 5360 str r3, [r2, #4]
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6215 .loc 1 3368 3 view .LVU2073
6216 000e 036E ldr r3, [r0, #96]
6217 0010 43F01003 orr r3, r3, #16
6218 0014 0366 str r3, [r0, #96]
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
6219 .loc 1 3369 3 view .LVU2074
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
6220 .loc 1 3369 15 is_stmt 0 view .LVU2075
6221 0016 0123 movs r3, #1
6222 0018 80F85D30 strb r3, [r0, #93]
3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6223 .loc 1 3374 3 is_stmt 1 view .LVU2076
6224 001c FFF7FEFF bl HAL_SPI_ErrorCallback
6225 .LVL392:
3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 220
6226 .loc 1 3376 1 is_stmt 0 view .LVU2077
6227 0020 08BD pop {r3, pc}
6228 .cfi_endproc
6229 .LFE165:
6231 .section .text.SPI_DMATransmitCplt,"ax",%progbits
6232 .align 1
6233 .syntax unified
6234 .thumb
6235 .thumb_func
6237 SPI_DMATransmitCplt:
6238 .LVL393:
6239 .LFB159:
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6240 .loc 1 3034 1 is_stmt 1 view -0
6241 .cfi_startproc
6242 @ args = 0, pretend = 0, frame = 8
6243 @ frame_needed = 0, uses_anonymous_args = 0
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6244 .loc 1 3034 1 is_stmt 0 view .LVU2079
6245 0000 30B5 push {r4, r5, lr}
6246 .cfi_def_cfa_offset 12
6247 .cfi_offset 4, -12
6248 .cfi_offset 5, -8
6249 .cfi_offset 14, -4
6250 0002 83B0 sub sp, sp, #12
6251 .cfi_def_cfa_offset 24
6252 0004 0546 mov r5, r0
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6253 .loc 1 3035 3 is_stmt 1 view .LVU2080
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6254 .loc 1 3035 22 is_stmt 0 view .LVU2081
6255 0006 446A ldr r4, [r0, #36]
6256 .LVL394:
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6257 .loc 1 3036 3 is_stmt 1 view .LVU2082
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6258 .loc 1 3039 3 view .LVU2083
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6259 .loc 1 3039 15 is_stmt 0 view .LVU2084
6260 0008 FFF7FEFF bl HAL_GetTick
6261 .LVL395:
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6262 .loc 1 3042 3 is_stmt 1 view .LVU2085
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6263 .loc 1 3042 12 is_stmt 0 view .LVU2086
6264 000c 2B68 ldr r3, [r5]
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6265 .loc 1 3042 22 view .LVU2087
6266 000e 1B68 ldr r3, [r3]
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6267 .loc 1 3042 6 view .LVU2088
6268 0010 13F0200F tst r3, #32
6269 0014 23D1 bne .L430
6270 0016 0246 mov r2, r0
3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6271 .loc 1 3045 5 is_stmt 1 view .LVU2089
6272 0018 2168 ldr r1, [r4]
ARM GAS /tmp/ccywxtmH.s page 221
6273 001a 4B68 ldr r3, [r1, #4]
6274 001c 23F02003 bic r3, r3, #32
6275 0020 4B60 str r3, [r1, #4]
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6276 .loc 1 3048 5 view .LVU2090
6277 0022 2168 ldr r1, [r4]
6278 0024 4B68 ldr r3, [r1, #4]
6279 0026 23F00203 bic r3, r3, #2
6280 002a 4B60 str r3, [r1, #4]
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6281 .loc 1 3051 5 view .LVU2091
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6282 .loc 1 3051 9 is_stmt 0 view .LVU2092
6283 002c 6421 movs r1, #100
6284 002e 2046 mov r0, r4
6285 .LVL396:
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6286 .loc 1 3051 9 view .LVU2093
6287 0030 FFF7FEFF bl SPI_EndRxTxTransaction
6288 .LVL397:
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6289 .loc 1 3051 8 view .LVU2094
6290 0034 18B1 cbz r0, .L431
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6291 .loc 1 3053 7 is_stmt 1 view .LVU2095
6292 0036 236E ldr r3, [r4, #96]
6293 0038 43F02003 orr r3, r3, #32
6294 003c 2366 str r3, [r4, #96]
6295 .L431:
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6296 .loc 1 3057 5 view .LVU2096
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6297 .loc 1 3057 19 is_stmt 0 view .LVU2097
6298 003e A368 ldr r3, [r4, #8]
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6299 .loc 1 3057 8 view .LVU2098
6300 0040 33B9 cbnz r3, .L432
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6301 .loc 1 3059 7 is_stmt 1 view .LVU2099
6302 .LBB6:
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6303 .loc 1 3059 7 view .LVU2100
6304 0042 0193 str r3, [sp, #4]
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6305 .loc 1 3059 7 view .LVU2101
6306 0044 2368 ldr r3, [r4]
6307 0046 DA68 ldr r2, [r3, #12]
6308 0048 0192 str r2, [sp, #4]
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6309 .loc 1 3059 7 view .LVU2102
6310 004a 9B68 ldr r3, [r3, #8]
6311 004c 0193 str r3, [sp, #4]
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6312 .loc 1 3059 7 view .LVU2103
6313 004e 019B ldr r3, [sp, #4]
6314 .L432:
6315 .LBE6:
ARM GAS /tmp/ccywxtmH.s page 222
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6316 .loc 1 3059 7 discriminator 1 view .LVU2104
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6317 .loc 1 3062 5 discriminator 1 view .LVU2105
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6318 .loc 1 3062 23 is_stmt 0 discriminator 1 view .LVU2106
6319 0050 0023 movs r3, #0
6320 0052 E387 strh r3, [r4, #62] @ movhi
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6321 .loc 1 3063 5 is_stmt 1 discriminator 1 view .LVU2107
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6322 .loc 1 3063 17 is_stmt 0 discriminator 1 view .LVU2108
6323 0054 0123 movs r3, #1
6324 0056 84F85D30 strb r3, [r4, #93]
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6325 .loc 1 3065 5 is_stmt 1 discriminator 1 view .LVU2109
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6326 .loc 1 3065 13 is_stmt 0 discriminator 1 view .LVU2110
6327 005a 236E ldr r3, [r4, #96]
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6328 .loc 1 3065 8 discriminator 1 view .LVU2111
6329 005c 23B9 cbnz r3, .L435
6330 .L430:
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6331 .loc 1 3080 3 is_stmt 1 view .LVU2112
6332 005e 2046 mov r0, r4
6333 0060 FFF7FEFF bl HAL_SPI_TxCpltCallback
6334 .LVL398:
6335 .L429:
3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6336 .loc 1 3082 1 is_stmt 0 view .LVU2113
6337 0064 03B0 add sp, sp, #12
6338 .cfi_remember_state
6339 .cfi_def_cfa_offset 12
6340 @ sp needed
6341 0066 30BD pop {r4, r5, pc}
6342 .LVL399:
6343 .L435:
6344 .cfi_restore_state
3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6345 .loc 1 3071 7 is_stmt 1 view .LVU2114
6346 0068 2046 mov r0, r4
6347 006a FFF7FEFF bl HAL_SPI_ErrorCallback
6348 .LVL400:
3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6349 .loc 1 3073 7 view .LVU2115
6350 006e F9E7 b .L429
6351 .cfi_endproc
6352 .LFE159:
6354 .section .text.SPI_DMAReceiveCplt,"ax",%progbits
6355 .align 1
6356 .syntax unified
6357 .thumb
6358 .thumb_func
6360 SPI_DMAReceiveCplt:
6361 .LVL401:
6362 .LFB160:
ARM GAS /tmp/ccywxtmH.s page 223
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6363 .loc 1 3091 1 view -0
6364 .cfi_startproc
6365 @ args = 0, pretend = 0, frame = 0
6366 @ frame_needed = 0, uses_anonymous_args = 0
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6367 .loc 1 3091 1 is_stmt 0 view .LVU2117
6368 0000 38B5 push {r3, r4, r5, lr}
6369 .cfi_def_cfa_offset 16
6370 .cfi_offset 3, -16
6371 .cfi_offset 4, -12
6372 .cfi_offset 5, -8
6373 .cfi_offset 14, -4
6374 0002 0546 mov r5, r0
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6375 .loc 1 3092 3 is_stmt 1 view .LVU2118
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6376 .loc 1 3092 22 is_stmt 0 view .LVU2119
6377 0004 446A ldr r4, [r0, #36]
6378 .LVL402:
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
6379 .loc 1 3093 3 is_stmt 1 view .LVU2120
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6380 .loc 1 3101 3 view .LVU2121
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6381 .loc 1 3101 15 is_stmt 0 view .LVU2122
6382 0006 FFF7FEFF bl HAL_GetTick
6383 .LVL403:
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6384 .loc 1 3104 3 is_stmt 1 view .LVU2123
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6385 .loc 1 3104 12 is_stmt 0 view .LVU2124
6386 000a 2B68 ldr r3, [r5]
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6387 .loc 1 3104 22 view .LVU2125
6388 000c 1B68 ldr r3, [r3]
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6389 .loc 1 3104 6 view .LVU2126
6390 000e 13F0200F tst r3, #32
6391 0012 1FD1 bne .L437
6392 0014 0246 mov r2, r0
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6393 .loc 1 3107 5 is_stmt 1 view .LVU2127
6394 0016 2168 ldr r1, [r4]
6395 0018 4B68 ldr r3, [r1, #4]
6396 001a 23F02003 bic r3, r3, #32
6397 001e 4B60 str r3, [r1, #4]
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6398 .loc 1 3153 5 view .LVU2128
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6399 .loc 1 3153 20 is_stmt 0 view .LVU2129
6400 0020 A368 ldr r3, [r4, #8]
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6401 .loc 1 3153 8 view .LVU2130
6402 0022 1BB9 cbnz r3, .L438
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6403 .loc 1 3153 70 discriminator 1 view .LVU2131
ARM GAS /tmp/ccywxtmH.s page 224
6404 0024 6368 ldr r3, [r4, #4]
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6405 .loc 1 3153 56 discriminator 1 view .LVU2132
6406 0026 B3F5827F cmp r3, #260
6407 002a 17D0 beq .L443
6408 .L438:
3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6409 .loc 1 3161 7 is_stmt 1 view .LVU2133
6410 002c 2168 ldr r1, [r4]
6411 002e 4B68 ldr r3, [r1, #4]
6412 0030 23F00103 bic r3, r3, #1
6413 0034 4B60 str r3, [r1, #4]
6414 .L439:
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6415 .loc 1 3165 5 view .LVU2134
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6416 .loc 1 3165 9 is_stmt 0 view .LVU2135
6417 0036 6421 movs r1, #100
6418 0038 2046 mov r0, r4
6419 .LVL404:
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6420 .loc 1 3165 9 view .LVU2136
6421 003a FFF7FEFF bl SPI_EndRxTransaction
6422 .LVL405:
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6423 .loc 1 3165 8 view .LVU2137
6424 003e 08B1 cbz r0, .L440
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6425 .loc 1 3167 7 is_stmt 1 view .LVU2138
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6426 .loc 1 3167 23 is_stmt 0 view .LVU2139
6427 0040 2023 movs r3, #32
6428 0042 2366 str r3, [r4, #96]
6429 .L440:
3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6430 .loc 1 3170 5 is_stmt 1 view .LVU2140
3170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6431 .loc 1 3170 23 is_stmt 0 view .LVU2141
6432 0044 0023 movs r3, #0
6433 0046 A4F84630 strh r3, [r4, #70] @ movhi
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6434 .loc 1 3171 5 is_stmt 1 view .LVU2142
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6435 .loc 1 3171 17 is_stmt 0 view .LVU2143
6436 004a 0123 movs r3, #1
6437 004c 84F85D30 strb r3, [r4, #93]
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6438 .loc 1 3182 5 is_stmt 1 view .LVU2144
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6439 .loc 1 3182 13 is_stmt 0 view .LVU2145
6440 0050 236E ldr r3, [r4, #96]
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6441 .loc 1 3182 8 view .LVU2146
6442 0052 4BB9 cbnz r3, .L444
6443 .L437:
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6444 .loc 1 3197 3 is_stmt 1 view .LVU2147
ARM GAS /tmp/ccywxtmH.s page 225
6445 0054 2046 mov r0, r4
6446 0056 FFF7FEFF bl HAL_SPI_RxCpltCallback
6447 .LVL406:
6448 .L436:
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6449 .loc 1 3199 1 is_stmt 0 view .LVU2148
6450 005a 38BD pop {r3, r4, r5, pc}
6451 .LVL407:
6452 .L443:
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6453 .loc 1 3156 7 is_stmt 1 view .LVU2149
6454 005c 2168 ldr r1, [r4]
6455 005e 4B68 ldr r3, [r1, #4]
6456 0060 23F00303 bic r3, r3, #3
6457 0064 4B60 str r3, [r1, #4]
6458 0066 E6E7 b .L439
6459 .LVL408:
6460 .L444:
3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6461 .loc 1 3188 7 view .LVU2150
6462 0068 2046 mov r0, r4
6463 006a FFF7FEFF bl HAL_SPI_ErrorCallback
6464 .LVL409:
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6465 .loc 1 3190 7 view .LVU2151
6466 006e F4E7 b .L436
6467 .cfi_endproc
6468 .LFE160:
6470 .section .text.SPI_DMATransmitReceiveCplt,"ax",%progbits
6471 .align 1
6472 .syntax unified
6473 .thumb
6474 .thumb_func
6476 SPI_DMATransmitReceiveCplt:
6477 .LVL410:
6478 .LFB161:
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6479 .loc 1 3208 1 view -0
6480 .cfi_startproc
6481 @ args = 0, pretend = 0, frame = 0
6482 @ frame_needed = 0, uses_anonymous_args = 0
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6483 .loc 1 3208 1 is_stmt 0 view .LVU2153
6484 0000 38B5 push {r3, r4, r5, lr}
6485 .cfi_def_cfa_offset 16
6486 .cfi_offset 3, -16
6487 .cfi_offset 4, -12
6488 .cfi_offset 5, -8
6489 .cfi_offset 14, -4
6490 0002 0546 mov r5, r0
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6491 .loc 1 3209 3 is_stmt 1 view .LVU2154
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6492 .loc 1 3209 22 is_stmt 0 view .LVU2155
6493 0004 446A ldr r4, [r0, #36]
6494 .LVL411:
3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
ARM GAS /tmp/ccywxtmH.s page 226
6495 .loc 1 3210 3 is_stmt 1 view .LVU2156
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6496 .loc 1 3218 3 view .LVU2157
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6497 .loc 1 3218 15 is_stmt 0 view .LVU2158
6498 0006 FFF7FEFF bl HAL_GetTick
6499 .LVL412:
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6500 .loc 1 3221 3 is_stmt 1 view .LVU2159
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6501 .loc 1 3221 12 is_stmt 0 view .LVU2160
6502 000a 2B68 ldr r3, [r5]
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6503 .loc 1 3221 22 view .LVU2161
6504 000c 1B68 ldr r3, [r3]
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6505 .loc 1 3221 6 view .LVU2162
6506 000e 13F0200F tst r3, #32
6507 0012 1CD1 bne .L446
6508 0014 0246 mov r2, r0
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6509 .loc 1 3224 5 is_stmt 1 view .LVU2163
6510 0016 2168 ldr r1, [r4]
6511 0018 4B68 ldr r3, [r1, #4]
6512 001a 23F02003 bic r3, r3, #32
6513 001e 4B60 str r3, [r1, #4]
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6514 .loc 1 3261 5 view .LVU2164
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6515 .loc 1 3261 9 is_stmt 0 view .LVU2165
6516 0020 6421 movs r1, #100
6517 0022 2046 mov r0, r4
6518 .LVL413:
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6519 .loc 1 3261 9 view .LVU2166
6520 0024 FFF7FEFF bl SPI_EndRxTxTransaction
6521 .LVL414:
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6522 .loc 1 3261 8 view .LVU2167
6523 0028 18B1 cbz r0, .L447
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6524 .loc 1 3263 7 is_stmt 1 view .LVU2168
6525 002a 236E ldr r3, [r4, #96]
6526 002c 43F02003 orr r3, r3, #32
6527 0030 2366 str r3, [r4, #96]
6528 .L447:
3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6529 .loc 1 3267 5 view .LVU2169
6530 0032 2268 ldr r2, [r4]
6531 0034 5368 ldr r3, [r2, #4]
6532 0036 23F00303 bic r3, r3, #3
6533 003a 5360 str r3, [r2, #4]
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6534 .loc 1 3269 5 view .LVU2170
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6535 .loc 1 3269 23 is_stmt 0 view .LVU2171
6536 003c 0023 movs r3, #0
ARM GAS /tmp/ccywxtmH.s page 227
6537 003e E387 strh r3, [r4, #62] @ movhi
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6538 .loc 1 3270 5 is_stmt 1 view .LVU2172
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6539 .loc 1 3270 23 is_stmt 0 view .LVU2173
6540 0040 A4F84630 strh r3, [r4, #70] @ movhi
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6541 .loc 1 3271 5 is_stmt 1 view .LVU2174
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6542 .loc 1 3271 17 is_stmt 0 view .LVU2175
6543 0044 0123 movs r3, #1
6544 0046 84F85D30 strb r3, [r4, #93]
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6545 .loc 1 3282 5 is_stmt 1 view .LVU2176
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6546 .loc 1 3282 13 is_stmt 0 view .LVU2177
6547 004a 236E ldr r3, [r4, #96]
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6548 .loc 1 3282 8 view .LVU2178
6549 004c 1BB9 cbnz r3, .L450
6550 .L446:
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6551 .loc 1 3297 3 is_stmt 1 view .LVU2179
6552 004e 2046 mov r0, r4
6553 0050 FFF7FEFF bl HAL_SPI_TxRxCpltCallback
6554 .LVL415:
6555 .L445:
3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6556 .loc 1 3299 1 is_stmt 0 view .LVU2180
6557 0054 38BD pop {r3, r4, r5, pc}
6558 .LVL416:
6559 .L450:
3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6560 .loc 1 3288 7 is_stmt 1 view .LVU2181
6561 0056 2046 mov r0, r4
6562 0058 FFF7FEFF bl HAL_SPI_ErrorCallback
6563 .LVL417:
3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6564 .loc 1 3290 7 view .LVU2182
6565 005c FAE7 b .L445
6566 .cfi_endproc
6567 .LFE161:
6569 .section .text.HAL_SPI_IRQHandler,"ax",%progbits
6570 .align 1
6571 .global HAL_SPI_IRQHandler
6572 .syntax unified
6573 .thumb
6574 .thumb_func
6576 HAL_SPI_IRQHandler:
6577 .LVL418:
6578 .LFB148:
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
6579 .loc 1 2741 1 view -0
6580 .cfi_startproc
6581 @ args = 0, pretend = 0, frame = 16
6582 @ frame_needed = 0, uses_anonymous_args = 0
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
ARM GAS /tmp/ccywxtmH.s page 228
6583 .loc 1 2741 1 is_stmt 0 view .LVU2184
6584 0000 10B5 push {r4, lr}
6585 .cfi_def_cfa_offset 8
6586 .cfi_offset 4, -8
6587 .cfi_offset 14, -4
6588 0002 84B0 sub sp, sp, #16
6589 .cfi_def_cfa_offset 24
6590 0004 0446 mov r4, r0
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6591 .loc 1 2742 3 is_stmt 1 view .LVU2185
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6592 .loc 1 2742 27 is_stmt 0 view .LVU2186
6593 0006 0268 ldr r2, [r0]
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6594 .loc 1 2742 12 view .LVU2187
6595 0008 5168 ldr r1, [r2, #4]
6596 .LVL419:
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6597 .loc 1 2743 3 is_stmt 1 view .LVU2188
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6598 .loc 1 2743 12 is_stmt 0 view .LVU2189
6599 000a 9368 ldr r3, [r2, #8]
6600 .LVL420:
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
6601 .loc 1 2746 3 is_stmt 1 view .LVU2190
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
6602 .loc 1 2746 55 is_stmt 0 view .LVU2191
6603 000c 03F04100 and r0, r3, #65
6604 .LVL421:
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
6605 .loc 1 2746 6 view .LVU2192
6606 0010 0128 cmp r0, #1
6607 0012 67D0 beq .L463
6608 .L452:
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6609 .loc 1 2754 3 is_stmt 1 view .LVU2193
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6610 .loc 1 2754 6 is_stmt 0 view .LVU2194
6611 0014 13F0020F tst r3, #2
6612 0018 02D0 beq .L454
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6613 .loc 1 2754 55 discriminator 1 view .LVU2195
6614 001a 11F0800F tst r1, #128
6615 001e 68D1 bne .L464
6616 .L454:
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
6617 .loc 1 2761 3 is_stmt 1 view .LVU2196
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
6618 .loc 1 2761 6 is_stmt 0 view .LVU2197
6619 0020 13F4B07F tst r3, #352
6620 0024 68D0 beq .L451
2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6621 .loc 1 2762 60 view .LVU2198
6622 0026 11F0200F tst r1, #32
6623 002a 65D0 beq .L451
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6624 .loc 1 2765 5 is_stmt 1 view .LVU2199
ARM GAS /tmp/ccywxtmH.s page 229
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6625 .loc 1 2765 8 is_stmt 0 view .LVU2200
6626 002c 13F0400F tst r3, #64
6627 0030 0FD0 beq .L455
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6628 .loc 1 2767 7 is_stmt 1 view .LVU2201
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6629 .loc 1 2767 15 is_stmt 0 view .LVU2202
6630 0032 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
6631 0036 C0B2 uxtb r0, r0
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6632 .loc 1 2767 10 view .LVU2203
6633 0038 0328 cmp r0, #3
6634 003a 5FD0 beq .L456
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
6635 .loc 1 2769 9 is_stmt 1 view .LVU2204
6636 003c 206E ldr r0, [r4, #96]
6637 003e 40F00400 orr r0, r0, #4
6638 0042 2066 str r0, [r4, #96]
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6639 .loc 1 2770 9 view .LVU2205
6640 .LBB7:
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6641 .loc 1 2770 9 view .LVU2206
6642 0044 0020 movs r0, #0
6643 0046 0090 str r0, [sp]
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6644 .loc 1 2770 9 view .LVU2207
6645 0048 D068 ldr r0, [r2, #12]
6646 004a 0090 str r0, [sp]
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6647 .loc 1 2770 9 view .LVU2208
6648 004c 9068 ldr r0, [r2, #8]
6649 004e 0090 str r0, [sp]
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6650 .loc 1 2770 9 view .LVU2209
6651 0050 0098 ldr r0, [sp]
6652 .LBE7:
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6653 .loc 1 2770 9 view .LVU2210
6654 .L455:
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6655 .loc 1 2780 5 view .LVU2211
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6656 .loc 1 2780 8 is_stmt 0 view .LVU2212
6657 0052 13F0200F tst r3, #32
6658 0056 0CD0 beq .L457
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
6659 .loc 1 2782 7 is_stmt 1 view .LVU2213
6660 0058 206E ldr r0, [r4, #96]
6661 005a 40F00100 orr r0, r0, #1
6662 005e 2066 str r0, [r4, #96]
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6663 .loc 1 2783 7 view .LVU2214
6664 .LBB8:
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6665 .loc 1 2783 7 view .LVU2215
ARM GAS /tmp/ccywxtmH.s page 230
6666 0060 0020 movs r0, #0
6667 0062 0290 str r0, [sp, #8]
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6668 .loc 1 2783 7 view .LVU2216
6669 0064 9068 ldr r0, [r2, #8]
6670 0066 0290 str r0, [sp, #8]
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6671 .loc 1 2783 7 view .LVU2217
6672 0068 1068 ldr r0, [r2]
6673 006a 20F04000 bic r0, r0, #64
6674 006e 1060 str r0, [r2]
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6675 .loc 1 2783 7 view .LVU2218
6676 0070 029A ldr r2, [sp, #8]
6677 .L457:
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6678 .loc 1 2783 7 is_stmt 0 view .LVU2219
6679 .LBE8:
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6680 .loc 1 2783 7 is_stmt 1 discriminator 1 view .LVU2220
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6681 .loc 1 2787 5 discriminator 1 view .LVU2221
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6682 .loc 1 2787 8 is_stmt 0 discriminator 1 view .LVU2222
6683 0072 13F4807F tst r3, #256
6684 0076 09D0 beq .L458
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
6685 .loc 1 2789 7 is_stmt 1 view .LVU2223
6686 0078 236E ldr r3, [r4, #96]
6687 .LVL422:
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
6688 .loc 1 2789 7 is_stmt 0 view .LVU2224
6689 007a 43F00803 orr r3, r3, #8
6690 007e 2366 str r3, [r4, #96]
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6691 .loc 1 2790 7 is_stmt 1 view .LVU2225
6692 .LBB9:
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6693 .loc 1 2790 7 view .LVU2226
6694 0080 0023 movs r3, #0
6695 0082 0393 str r3, [sp, #12]
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6696 .loc 1 2790 7 view .LVU2227
6697 0084 2368 ldr r3, [r4]
6698 0086 9B68 ldr r3, [r3, #8]
6699 0088 0393 str r3, [sp, #12]
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6700 .loc 1 2790 7 view .LVU2228
6701 008a 039B ldr r3, [sp, #12]
6702 .L458:
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6703 .loc 1 2790 7 is_stmt 0 view .LVU2229
6704 .LBE9:
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6705 .loc 1 2790 7 is_stmt 1 discriminator 1 view .LVU2230
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6706 .loc 1 2793 5 discriminator 1 view .LVU2231
ARM GAS /tmp/ccywxtmH.s page 231
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6707 .loc 1 2793 13 is_stmt 0 discriminator 1 view .LVU2232
6708 008c 236E ldr r3, [r4, #96]
2793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6709 .loc 1 2793 8 discriminator 1 view .LVU2233
6710 008e 002B cmp r3, #0
6711 0090 32D0 beq .L451
2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6712 .loc 1 2796 7 is_stmt 1 view .LVU2234
6713 0092 2268 ldr r2, [r4]
6714 0094 5368 ldr r3, [r2, #4]
6715 0096 23F0E003 bic r3, r3, #224
6716 009a 5360 str r3, [r2, #4]
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
6717 .loc 1 2798 7 view .LVU2235
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
6718 .loc 1 2798 19 is_stmt 0 view .LVU2236
6719 009c 0123 movs r3, #1
6720 009e 84F85D30 strb r3, [r4, #93]
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6721 .loc 1 2800 7 is_stmt 1 view .LVU2237
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6722 .loc 1 2800 10 is_stmt 0 view .LVU2238
6723 00a2 11F0030F tst r1, #3
6724 00a6 31D0 beq .L460
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6725 .loc 1 2802 9 is_stmt 1 view .LVU2239
6726 00a8 2268 ldr r2, [r4]
6727 00aa 5368 ldr r3, [r2, #4]
6728 00ac 23F00303 bic r3, r3, #3
6729 00b0 5360 str r3, [r2, #4]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6730 .loc 1 2805 9 view .LVU2240
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6731 .loc 1 2805 17 is_stmt 0 view .LVU2241
6732 00b2 A36D ldr r3, [r4, #88]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6733 .loc 1 2805 12 view .LVU2242
6734 00b4 4BB1 cbz r3, .L461
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
6735 .loc 1 2809 11 is_stmt 1 view .LVU2243
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
6736 .loc 1 2809 43 is_stmt 0 view .LVU2244
6737 00b6 174A ldr r2, .L465
6738 00b8 5A63 str r2, [r3, #52]
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6739 .loc 1 2810 11 is_stmt 1 view .LVU2245
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6740 .loc 1 2810 25 is_stmt 0 view .LVU2246
6741 00ba A06D ldr r0, [r4, #88]
6742 00bc FFF7FEFF bl HAL_DMA_Abort_IT
6743 .LVL423:
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6744 .loc 1 2810 14 view .LVU2247
6745 00c0 18B1 cbz r0, .L461
2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6746 .loc 1 2812 13 is_stmt 1 view .LVU2248
ARM GAS /tmp/ccywxtmH.s page 232
6747 00c2 236E ldr r3, [r4, #96]
6748 00c4 43F04003 orr r3, r3, #64
6749 00c8 2366 str r3, [r4, #96]
6750 .L461:
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6751 .loc 1 2816 9 view .LVU2249
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6752 .loc 1 2816 17 is_stmt 0 view .LVU2250
6753 00ca 636D ldr r3, [r4, #84]
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6754 .loc 1 2816 12 view .LVU2251
6755 00cc A3B1 cbz r3, .L451
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6756 .loc 1 2820 11 is_stmt 1 view .LVU2252
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6757 .loc 1 2820 43 is_stmt 0 view .LVU2253
6758 00ce 114A ldr r2, .L465
6759 00d0 5A63 str r2, [r3, #52]
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6760 .loc 1 2821 11 is_stmt 1 view .LVU2254
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6761 .loc 1 2821 25 is_stmt 0 view .LVU2255
6762 00d2 606D ldr r0, [r4, #84]
6763 00d4 FFF7FEFF bl HAL_DMA_Abort_IT
6764 .LVL424:
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6765 .loc 1 2821 14 view .LVU2256
6766 00d8 70B1 cbz r0, .L451
2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6767 .loc 1 2823 13 is_stmt 1 view .LVU2257
6768 00da 236E ldr r3, [r4, #96]
6769 00dc 43F04003 orr r3, r3, #64
6770 00e0 2366 str r3, [r4, #96]
6771 00e2 09E0 b .L451
6772 .LVL425:
6773 .L463:
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6774 .loc 1 2747 56 is_stmt 0 view .LVU2258
6775 00e4 11F0400F tst r1, #64
6776 00e8 94D0 beq .L452
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6777 .loc 1 2749 5 is_stmt 1 view .LVU2259
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6778 .loc 1 2749 9 is_stmt 0 view .LVU2260
6779 00ea E36C ldr r3, [r4, #76]
6780 .LVL426:
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6781 .loc 1 2749 5 view .LVU2261
6782 00ec 2046 mov r0, r4
6783 00ee 9847 blx r3
6784 .LVL427:
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6785 .loc 1 2750 5 is_stmt 1 view .LVU2262
6786 00f0 02E0 b .L451
6787 .LVL428:
6788 .L464:
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
ARM GAS /tmp/ccywxtmH.s page 233
6789 .loc 1 2756 5 view .LVU2263
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6790 .loc 1 2756 9 is_stmt 0 view .LVU2264
6791 00f2 236D ldr r3, [r4, #80]
6792 .LVL429:
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6793 .loc 1 2756 5 view .LVU2265
6794 00f4 2046 mov r0, r4
6795 00f6 9847 blx r3
6796 .LVL430:
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6797 .loc 1 2757 5 is_stmt 1 view .LVU2266
6798 .L451:
2839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6799 .loc 1 2839 1 is_stmt 0 view .LVU2267
6800 00f8 04B0 add sp, sp, #16
6801 .cfi_remember_state
6802 .cfi_def_cfa_offset 8
6803 @ sp needed
6804 00fa 10BD pop {r4, pc}
6805 .LVL431:
6806 .L456:
6807 .cfi_restore_state
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6808 .loc 1 2774 9 is_stmt 1 view .LVU2268
6809 .LBB10:
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6810 .loc 1 2774 9 view .LVU2269
6811 00fc 0023 movs r3, #0
6812 .LVL432:
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6813 .loc 1 2774 9 is_stmt 0 view .LVU2270
6814 00fe 0193 str r3, [sp, #4]
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6815 .loc 1 2774 9 is_stmt 1 view .LVU2271
6816 0100 D368 ldr r3, [r2, #12]
6817 0102 0193 str r3, [sp, #4]
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6818 .loc 1 2774 9 view .LVU2272
6819 0104 9368 ldr r3, [r2, #8]
6820 0106 0193 str r3, [sp, #4]
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6821 .loc 1 2774 9 view .LVU2273
6822 0108 019B ldr r3, [sp, #4]
6823 .LBE10:
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6824 .loc 1 2774 9 view .LVU2274
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6825 .loc 1 2775 9 view .LVU2275
6826 010a F5E7 b .L451
6827 .L460:
2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6828 .loc 1 2833 9 view .LVU2276
6829 010c 2046 mov r0, r4
6830 010e FFF7FEFF bl HAL_SPI_ErrorCallback
6831 .LVL433:
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 234
6832 .loc 1 2837 5 view .LVU2277
6833 0112 F1E7 b .L451
6834 .L466:
6835 .align 2
6836 .L465:
6837 0114 00000000 .word SPI_DMAAbortOnError
6838 .cfi_endproc
6839 .LFE148:
6841 .section .text.SPI_DMAAbortOnError,"ax",%progbits
6842 .align 1
6843 .syntax unified
6844 .thumb
6845 .thumb_func
6847 SPI_DMAAbortOnError:
6848 .LVL434:
6849 .LFB166:
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6850 .loc 1 3385 1 view -0
6851 .cfi_startproc
6852 @ args = 0, pretend = 0, frame = 0
6853 @ frame_needed = 0, uses_anonymous_args = 0
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6854 .loc 1 3385 1 is_stmt 0 view .LVU2279
6855 0000 08B5 push {r3, lr}
6856 .cfi_def_cfa_offset 8
6857 .cfi_offset 3, -8
6858 .cfi_offset 14, -4
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6859 .loc 1 3386 3 is_stmt 1 view .LVU2280
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6860 .loc 1 3386 22 is_stmt 0 view .LVU2281
6861 0002 406A ldr r0, [r0, #36]
6862 .LVL435:
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
6863 .loc 1 3387 3 is_stmt 1 view .LVU2282
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
6864 .loc 1 3387 21 is_stmt 0 view .LVU2283
6865 0004 0023 movs r3, #0
6866 0006 A0F84630 strh r3, [r0, #70] @ movhi
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6867 .loc 1 3388 3 is_stmt 1 view .LVU2284
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6868 .loc 1 3388 21 is_stmt 0 view .LVU2285
6869 000a C387 strh r3, [r0, #62] @ movhi
3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6870 .loc 1 3394 3 is_stmt 1 view .LVU2286
6871 000c FFF7FEFF bl HAL_SPI_ErrorCallback
6872 .LVL436:
3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6873 .loc 1 3396 1 is_stmt 0 view .LVU2287
6874 0010 08BD pop {r3, pc}
6875 .cfi_endproc
6876 .LFE166:
6878 .section .text.HAL_SPI_AbortCpltCallback,"ax",%progbits
6879 .align 1
6880 .weak HAL_SPI_AbortCpltCallback
6881 .syntax unified
ARM GAS /tmp/ccywxtmH.s page 235
6882 .thumb
6883 .thumb_func
6885 HAL_SPI_AbortCpltCallback:
6886 .LVL437:
6887 .LFB156:
2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
6888 .loc 1 2962 1 is_stmt 1 view -0
6889 .cfi_startproc
6890 @ args = 0, pretend = 0, frame = 0
6891 @ frame_needed = 0, uses_anonymous_args = 0
6892 @ link register save eliminated.
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6893 .loc 1 2964 3 view .LVU2289
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6894 .loc 1 2969 1 is_stmt 0 view .LVU2290
6895 0000 7047 bx lr
6896 .cfi_endproc
6897 .LFE156:
6899 .section .text.HAL_SPI_Abort_IT,"ax",%progbits
6900 .align 1
6901 .global HAL_SPI_Abort_IT
6902 .syntax unified
6903 .thumb
6904 .thumb_func
6906 HAL_SPI_Abort_IT:
6907 .LVL438:
6908 .LFB144:
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6909 .loc 1 2500 1 is_stmt 1 view -0
6910 .cfi_startproc
6911 @ args = 0, pretend = 0, frame = 16
6912 @ frame_needed = 0, uses_anonymous_args = 0
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6913 .loc 1 2500 1 is_stmt 0 view .LVU2292
6914 0000 70B5 push {r4, r5, r6, lr}
6915 .cfi_def_cfa_offset 16
6916 .cfi_offset 4, -16
6917 .cfi_offset 5, -12
6918 .cfi_offset 6, -8
6919 .cfi_offset 14, -4
6920 0002 84B0 sub sp, sp, #16
6921 .cfi_def_cfa_offset 32
6922 0004 0446 mov r4, r0
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t abortcplt ;
6923 .loc 1 2501 3 is_stmt 1 view .LVU2293
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
6924 .loc 1 2502 3 view .LVU2294
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
6925 .loc 1 2503 3 view .LVU2295
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6926 .loc 1 2504 3 view .LVU2296
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
6927 .loc 1 2507 3 view .LVU2297
6928 .LVL439:
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6929 .loc 1 2508 3 view .LVU2298
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
ARM GAS /tmp/ccywxtmH.s page 236
6930 .loc 1 2509 3 view .LVU2299
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6931 .loc 1 2509 61 is_stmt 0 view .LVU2300
6932 0006 504B ldr r3, .L496
6933 0008 1B68 ldr r3, [r3]
6934 000a 504A ldr r2, .L496+4
6935 000c A2FB0323 umull r2, r3, r2, r3
6936 0010 5B0A lsrs r3, r3, #9
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6937 .loc 1 2509 36 view .LVU2301
6938 0012 6422 movs r2, #100
6939 0014 02FB03F3 mul r3, r2, r3
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6940 .loc 1 2509 14 view .LVU2302
6941 0018 0293 str r3, [sp, #8]
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6942 .loc 1 2510 3 is_stmt 1 view .LVU2303
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6943 .loc 1 2510 9 is_stmt 0 view .LVU2304
6944 001a 029B ldr r3, [sp, #8]
6945 001c 0393 str r3, [sp, #12]
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6946 .loc 1 2513 3 is_stmt 1 view .LVU2305
6947 001e 0268 ldr r2, [r0]
6948 0020 5368 ldr r3, [r2, #4]
6949 0022 23F02003 bic r3, r3, #32
6950 0026 5360 str r3, [r2, #4]
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6951 .loc 1 2516 3 view .LVU2306
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6952 .loc 1 2516 7 is_stmt 0 view .LVU2307
6953 0028 0268 ldr r2, [r0]
6954 002a 5368 ldr r3, [r2, #4]
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6955 .loc 1 2516 6 view .LVU2308
6956 002c 13F0800F tst r3, #128
6957 0030 12D0 beq .L471
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
6958 .loc 1 2518 5 is_stmt 1 view .LVU2309
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
6959 .loc 1 2518 17 is_stmt 0 view .LVU2310
6960 0032 474B ldr r3, .L496+8
6961 0034 0365 str r3, [r0, #80]
6962 .L474:
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6963 .loc 1 2520 5 is_stmt 1 view .LVU2311
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6964 .loc 1 2522 7 view .LVU2312
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6965 .loc 1 2522 17 is_stmt 0 view .LVU2313
6966 0036 039B ldr r3, [sp, #12]
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6967 .loc 1 2522 10 view .LVU2314
6968 0038 43B1 cbz r3, .L493
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
6969 .loc 1 2527 7 is_stmt 1 view .LVU2315
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
ARM GAS /tmp/ccywxtmH.s page 237
6970 .loc 1 2527 12 is_stmt 0 view .LVU2316
6971 003a 039B ldr r3, [sp, #12]
6972 003c 013B subs r3, r3, #1
6973 003e 0393 str r3, [sp, #12]
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
6974 .loc 1 2528 26 is_stmt 1 view .LVU2317
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
6975 .loc 1 2528 18 is_stmt 0 view .LVU2318
6976 0040 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
6977 0044 DBB2 uxtb r3, r3
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
6978 .loc 1 2528 26 view .LVU2319
6979 0046 072B cmp r3, #7
6980 0048 F5D1 bne .L474
6981 004a 03E0 b .L473
6982 .L493:
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
6983 .loc 1 2524 9 is_stmt 1 view .LVU2320
6984 004c 236E ldr r3, [r4, #96]
6985 004e 43F04003 orr r3, r3, #64
6986 0052 2366 str r3, [r4, #96]
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6987 .loc 1 2525 9 view .LVU2321
6988 .L473:
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6989 .loc 1 2530 5 view .LVU2322
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6990 .loc 1 2530 11 is_stmt 0 view .LVU2323
6991 0054 029B ldr r3, [sp, #8]
6992 0056 0393 str r3, [sp, #12]
6993 .L471:
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6994 .loc 1 2533 3 is_stmt 1 view .LVU2324
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6995 .loc 1 2533 7 is_stmt 0 view .LVU2325
6996 0058 5368 ldr r3, [r2, #4]
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6997 .loc 1 2533 6 view .LVU2326
6998 005a 13F0400F tst r3, #64
6999 005e 12D0 beq .L475
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7000 .loc 1 2535 5 is_stmt 1 view .LVU2327
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7001 .loc 1 2535 17 is_stmt 0 view .LVU2328
7002 0060 3C4B ldr r3, .L496+12
7003 0062 E364 str r3, [r4, #76]
7004 .L478:
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7005 .loc 1 2537 5 is_stmt 1 view .LVU2329
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7006 .loc 1 2539 7 view .LVU2330
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7007 .loc 1 2539 17 is_stmt 0 view .LVU2331
7008 0064 039B ldr r3, [sp, #12]
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7009 .loc 1 2539 10 view .LVU2332
7010 0066 43B1 cbz r3, .L494
ARM GAS /tmp/ccywxtmH.s page 238
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7011 .loc 1 2544 7 is_stmt 1 view .LVU2333
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7012 .loc 1 2544 12 is_stmt 0 view .LVU2334
7013 0068 039B ldr r3, [sp, #12]
7014 006a 013B subs r3, r3, #1
7015 006c 0393 str r3, [sp, #12]
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7016 .loc 1 2545 26 is_stmt 1 view .LVU2335
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7017 .loc 1 2545 18 is_stmt 0 view .LVU2336
7018 006e 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
7019 0072 DBB2 uxtb r3, r3
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7020 .loc 1 2545 26 view .LVU2337
7021 0074 072B cmp r3, #7
7022 0076 F5D1 bne .L478
7023 0078 03E0 b .L477
7024 .L494:
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
7025 .loc 1 2541 9 is_stmt 1 view .LVU2338
7026 007a 236E ldr r3, [r4, #96]
7027 007c 43F04003 orr r3, r3, #64
7028 0080 2366 str r3, [r4, #96]
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7029 .loc 1 2542 9 view .LVU2339
7030 .L477:
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7031 .loc 1 2547 5 view .LVU2340
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7032 .loc 1 2547 11 is_stmt 0 view .LVU2341
7033 0082 029B ldr r3, [sp, #8]
7034 0084 0393 str r3, [sp, #12]
7035 .L475:
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7036 .loc 1 2553 3 is_stmt 1 view .LVU2342
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7037 .loc 1 2553 11 is_stmt 0 view .LVU2343
7038 0086 636D ldr r3, [r4, #84]
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7039 .loc 1 2553 6 view .LVU2344
7040 0088 2BB1 cbz r3, .L479
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7041 .loc 1 2557 5 is_stmt 1 view .LVU2345
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7042 .loc 1 2557 9 is_stmt 0 view .LVU2346
7043 008a 5268 ldr r2, [r2, #4]
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7044 .loc 1 2557 8 view .LVU2347
7045 008c 12F0020F tst r2, #2
7046 0090 1BD0 beq .L480
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7047 .loc 1 2559 7 is_stmt 1 view .LVU2348
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7048 .loc 1 2559 39 is_stmt 0 view .LVU2349
7049 0092 314A ldr r2, .L496+16
7050 0094 5A63 str r2, [r3, #52]
ARM GAS /tmp/ccywxtmH.s page 239
7051 .L479:
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7052 .loc 1 2567 3 is_stmt 1 view .LVU2350
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7053 .loc 1 2567 11 is_stmt 0 view .LVU2351
7054 0096 A36D ldr r3, [r4, #88]
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7055 .loc 1 2567 6 view .LVU2352
7056 0098 33B1 cbz r3, .L481
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7057 .loc 1 2571 5 is_stmt 1 view .LVU2353
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7058 .loc 1 2571 9 is_stmt 0 view .LVU2354
7059 009a 2268 ldr r2, [r4]
7060 009c 5268 ldr r2, [r2, #4]
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7061 .loc 1 2571 8 view .LVU2355
7062 009e 12F0010F tst r2, #1
7063 00a2 15D0 beq .L482
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7064 .loc 1 2573 7 is_stmt 1 view .LVU2356
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7065 .loc 1 2573 39 is_stmt 0 view .LVU2357
7066 00a4 2D4A ldr r2, .L496+20
7067 00a6 5A63 str r2, [r3, #52]
7068 .L481:
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7069 .loc 1 2582 3 is_stmt 1 view .LVU2358
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7070 .loc 1 2582 7 is_stmt 0 view .LVU2359
7071 00a8 2368 ldr r3, [r4]
7072 00aa 5B68 ldr r3, [r3, #4]
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7073 .loc 1 2582 6 view .LVU2360
7074 00ac 13F0020F tst r3, #2
7075 00b0 11D0 beq .L487
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7076 .loc 1 2585 5 is_stmt 1 view .LVU2361
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7077 .loc 1 2585 13 is_stmt 0 view .LVU2362
7078 00b2 606D ldr r0, [r4, #84]
7079 .LVL440:
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7080 .loc 1 2585 8 view .LVU2363
7081 00b4 28B3 cbz r0, .L488
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7082 .loc 1 2588 7 is_stmt 1 view .LVU2364
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7083 .loc 1 2588 11 is_stmt 0 view .LVU2365
7084 00b6 FFF7FEFF bl HAL_DMA_Abort_IT
7085 .LVL441:
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7086 .loc 1 2588 10 view .LVU2366
7087 00ba 20B3 cbz r0, .L489
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7088 .loc 1 2590 9 is_stmt 1 view .LVU2367
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
ARM GAS /tmp/ccywxtmH.s page 240
7089 .loc 1 2590 13 is_stmt 0 view .LVU2368
7090 00bc 636D ldr r3, [r4, #84]
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7091 .loc 1 2590 41 view .LVU2369
7092 00be 0022 movs r2, #0
7093 00c0 5A63 str r2, [r3, #52]
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7094 .loc 1 2591 9 is_stmt 1 view .LVU2370
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7095 .loc 1 2591 25 is_stmt 0 view .LVU2371
7096 00c2 4023 movs r3, #64
7097 00c4 2366 str r3, [r4, #96]
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7098 .loc 1 2508 13 view .LVU2372
7099 00c6 0126 movs r6, #1
7100 00c8 06E0 b .L483
7101 .LVL442:
7102 .L480:
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7103 .loc 1 2563 7 is_stmt 1 view .LVU2373
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7104 .loc 1 2563 39 is_stmt 0 view .LVU2374
7105 00ca 0022 movs r2, #0
7106 00cc 5A63 str r2, [r3, #52]
7107 00ce E2E7 b .L479
7108 .L482:
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7109 .loc 1 2577 7 is_stmt 1 view .LVU2375
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7110 .loc 1 2577 39 is_stmt 0 view .LVU2376
7111 00d0 0022 movs r2, #0
7112 00d2 5A63 str r2, [r3, #52]
7113 00d4 E8E7 b .L481
7114 .L487:
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7115 .loc 1 2508 13 view .LVU2377
7116 00d6 0126 movs r6, #1
7117 .LVL443:
7118 .L483:
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7119 .loc 1 2600 3 is_stmt 1 view .LVU2378
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7120 .loc 1 2600 7 is_stmt 0 view .LVU2379
7121 00d8 2368 ldr r3, [r4]
7122 00da 5B68 ldr r3, [r3, #4]
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7123 .loc 1 2600 6 view .LVU2380
7124 00dc 13F0010F tst r3, #1
7125 00e0 0AD0 beq .L484
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7126 .loc 1 2603 5 is_stmt 1 view .LVU2381
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7127 .loc 1 2603 13 is_stmt 0 view .LVU2382
7128 00e2 A06D ldr r0, [r4, #88]
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7129 .loc 1 2603 8 view .LVU2383
7130 00e4 40B1 cbz r0, .L484
ARM GAS /tmp/ccywxtmH.s page 241
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7131 .loc 1 2606 7 is_stmt 1 view .LVU2384
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7132 .loc 1 2606 11 is_stmt 0 view .LVU2385
7133 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
7134 .LVL444:
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7135 .loc 1 2606 10 view .LVU2386
7136 00ea 0546 mov r5, r0
7137 00ec 30B1 cbz r0, .L485
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7138 .loc 1 2608 9 is_stmt 1 view .LVU2387
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7139 .loc 1 2608 13 is_stmt 0 view .LVU2388
7140 00ee A36D ldr r3, [r4, #88]
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7141 .loc 1 2608 41 view .LVU2389
7142 00f0 0022 movs r2, #0
7143 00f2 5A63 str r2, [r3, #52]
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7144 .loc 1 2609 9 is_stmt 1 view .LVU2390
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7145 .loc 1 2609 25 is_stmt 0 view .LVU2391
7146 00f4 4023 movs r3, #64
7147 00f6 2366 str r3, [r4, #96]
7148 .L484:
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7149 .loc 1 2618 3 is_stmt 1 view .LVU2392
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7150 .loc 1 2618 6 is_stmt 0 view .LVU2393
7151 00f8 3EB9 cbnz r6, .L495
2507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
7152 .loc 1 2507 13 view .LVU2394
7153 00fa 0025 movs r5, #0
7154 .LVL445:
7155 .L485:
2651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7156 .loc 1 2651 3 is_stmt 1 view .LVU2395
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7157 .loc 1 2652 1 is_stmt 0 view .LVU2396
7158 00fc 2846 mov r0, r5
7159 00fe 04B0 add sp, sp, #16
7160 .cfi_remember_state
7161 .cfi_def_cfa_offset 16
7162 @ sp needed
7163 0100 70BD pop {r4, r5, r6, pc}
7164 .LVL446:
7165 .L488:
7166 .cfi_restore_state
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7167 .loc 1 2508 13 view .LVU2397
7168 0102 0126 movs r6, #1
7169 0104 E8E7 b .L483
7170 .L489:
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7171 .loc 1 2595 19 view .LVU2398
7172 0106 0026 movs r6, #0
ARM GAS /tmp/ccywxtmH.s page 242
7173 0108 E6E7 b .L483
7174 .LVL447:
7175 .L495:
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7176 .loc 1 2621 5 is_stmt 1 view .LVU2399
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7177 .loc 1 2621 23 is_stmt 0 view .LVU2400
7178 010a 0023 movs r3, #0
7179 010c A4F84630 strh r3, [r4, #70] @ movhi
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7180 .loc 1 2622 5 is_stmt 1 view .LVU2401
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7181 .loc 1 2622 23 is_stmt 0 view .LVU2402
7182 0110 E387 strh r3, [r4, #62] @ movhi
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7183 .loc 1 2625 5 is_stmt 1 view .LVU2403
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7184 .loc 1 2625 13 is_stmt 0 view .LVU2404
7185 0112 236E ldr r3, [r4, #96]
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7186 .loc 1 2625 8 view .LVU2405
7187 0114 402B cmp r3, #64
7188 0116 14D0 beq .L491
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7189 .loc 1 2633 7 is_stmt 1 view .LVU2406
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7190 .loc 1 2633 23 is_stmt 0 view .LVU2407
7191 0118 0025 movs r5, #0
7192 011a 2566 str r5, [r4, #96]
7193 .L486:
7194 .LVL448:
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7195 .loc 1 2637 5 is_stmt 1 view .LVU2408
7196 .LBB11:
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7197 .loc 1 2637 5 view .LVU2409
7198 011c 0022 movs r2, #0
7199 011e 0092 str r2, [sp]
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7200 .loc 1 2637 5 view .LVU2410
7201 0120 2368 ldr r3, [r4]
7202 0122 D968 ldr r1, [r3, #12]
7203 0124 0091 str r1, [sp]
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7204 .loc 1 2637 5 view .LVU2411
7205 0126 9968 ldr r1, [r3, #8]
7206 0128 0091 str r1, [sp]
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7207 .loc 1 2637 5 view .LVU2412
7208 012a 0099 ldr r1, [sp]
7209 .LBE11:
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7210 .loc 1 2637 5 view .LVU2413
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7211 .loc 1 2638 5 view .LVU2414
7212 .LBB12:
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccywxtmH.s page 243
7213 .loc 1 2638 5 view .LVU2415
7214 012c 0192 str r2, [sp, #4]
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7215 .loc 1 2638 5 view .LVU2416
7216 012e 9B68 ldr r3, [r3, #8]
7217 0130 0193 str r3, [sp, #4]
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7218 .loc 1 2638 5 view .LVU2417
7219 0132 019B ldr r3, [sp, #4]
7220 .LBE12:
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7221 .loc 1 2638 5 view .LVU2418
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7222 .loc 1 2641 5 view .LVU2419
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7223 .loc 1 2641 17 is_stmt 0 view .LVU2420
7224 0134 0123 movs r3, #1
7225 0136 84F85D30 strb r3, [r4, #93]
2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7226 .loc 1 2647 5 is_stmt 1 view .LVU2421
7227 013a 2046 mov r0, r4
7228 013c FFF7FEFF bl HAL_SPI_AbortCpltCallback
7229 .LVL449:
7230 0140 DCE7 b .L485
7231 .LVL450:
7232 .L491:
2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7233 .loc 1 2628 17 is_stmt 0 view .LVU2422
7234 0142 0125 movs r5, #1
7235 0144 EAE7 b .L486
7236 .L497:
7237 0146 00BF .align 2
7238 .L496:
7239 0148 00000000 .word SystemCoreClock
7240 014c F1197605 .word 91625969
7241 0150 00000000 .word SPI_AbortTx_ISR
7242 0154 00000000 .word SPI_AbortRx_ISR
7243 0158 00000000 .word SPI_DMATxAbortCallback
7244 015c 00000000 .word SPI_DMARxAbortCallback
7245 .cfi_endproc
7246 .LFE144:
7248 .section .text.SPI_DMARxAbortCallback,"ax",%progbits
7249 .align 1
7250 .syntax unified
7251 .thumb
7252 .thumb_func
7254 SPI_DMARxAbortCallback:
7255 .LVL451:
7256 .LFB168:
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7257 .loc 1 3473 1 is_stmt 1 view -0
7258 .cfi_startproc
7259 @ args = 0, pretend = 0, frame = 8
7260 @ frame_needed = 0, uses_anonymous_args = 0
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7261 .loc 1 3473 1 is_stmt 0 view .LVU2424
7262 0000 30B5 push {r4, r5, lr}
ARM GAS /tmp/ccywxtmH.s page 244
7263 .cfi_def_cfa_offset 12
7264 .cfi_offset 4, -12
7265 .cfi_offset 5, -8
7266 .cfi_offset 14, -4
7267 0002 85B0 sub sp, sp, #20
7268 .cfi_def_cfa_offset 32
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7269 .loc 1 3474 3 is_stmt 1 view .LVU2425
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7270 .loc 1 3474 22 is_stmt 0 view .LVU2426
7271 0004 446A ldr r4, [r0, #36]
7272 .LVL452:
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7273 .loc 1 3477 3 is_stmt 1 view .LVU2427
7274 0006 2268 ldr r2, [r4]
7275 0008 1368 ldr r3, [r2]
7276 000a 23F04003 bic r3, r3, #64
7277 000e 1360 str r3, [r2]
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7278 .loc 1 3479 3 view .LVU2428
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7279 .loc 1 3479 7 is_stmt 0 view .LVU2429
7280 0010 A36D ldr r3, [r4, #88]
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7281 .loc 1 3479 35 view .LVU2430
7282 0012 0025 movs r5, #0
7283 0014 5D63 str r5, [r3, #52]
3482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7284 .loc 1 3482 3 is_stmt 1 view .LVU2431
7285 0016 2268 ldr r2, [r4]
7286 0018 5368 ldr r3, [r2, #4]
7287 001a 23F00103 bic r3, r3, #1
7288 001e 5360 str r3, [r2, #4]
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7289 .loc 1 3485 3 view .LVU2432
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7290 .loc 1 3485 7 is_stmt 0 view .LVU2433
7291 0020 FFF7FEFF bl HAL_GetTick
7292 .LVL453:
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7293 .loc 1 3485 7 view .LVU2434
7294 0024 0090 str r0, [sp]
7295 0026 6423 movs r3, #100
7296 0028 2A46 mov r2, r5
7297 002a 8021 movs r1, #128
7298 002c 2046 mov r0, r4
7299 002e FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
7300 .LVL454:
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7301 .loc 1 3485 6 view .LVU2435
7302 0032 08B1 cbz r0, .L499
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7303 .loc 1 3487 5 is_stmt 1 view .LVU2436
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7304 .loc 1 3487 21 is_stmt 0 view .LVU2437
7305 0034 4023 movs r3, #64
7306 0036 2366 str r3, [r4, #96]
ARM GAS /tmp/ccywxtmH.s page 245
7307 .L499:
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7308 .loc 1 3491 3 is_stmt 1 view .LVU2438
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7309 .loc 1 3491 7 is_stmt 0 view .LVU2439
7310 0038 FFF7FEFF bl HAL_GetTick
7311 .LVL455:
7312 003c 0090 str r0, [sp]
7313 003e 6423 movs r3, #100
7314 0040 0022 movs r2, #0
7315 0042 4FF4C061 mov r1, #1536
7316 0046 2046 mov r0, r4
7317 0048 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
7318 .LVL456:
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7319 .loc 1 3491 6 view .LVU2440
7320 004c 08B1 cbz r0, .L500
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7321 .loc 1 3493 5 is_stmt 1 view .LVU2441
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7322 .loc 1 3493 21 is_stmt 0 view .LVU2442
7323 004e 4023 movs r3, #64
7324 0050 2366 str r3, [r4, #96]
7325 .L500:
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7326 .loc 1 3497 3 is_stmt 1 view .LVU2443
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7327 .loc 1 3497 11 is_stmt 0 view .LVU2444
7328 0052 636D ldr r3, [r4, #84]
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7329 .loc 1 3497 6 view .LVU2445
7330 0054 0BB1 cbz r3, .L501
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7331 .loc 1 3499 5 is_stmt 1 view .LVU2446
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7332 .loc 1 3499 21 is_stmt 0 view .LVU2447
7333 0056 5B6B ldr r3, [r3, #52]
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7334 .loc 1 3499 8 view .LVU2448
7335 0058 D3B9 cbnz r3, .L498
7336 .L501:
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7337 .loc 1 3506 3 is_stmt 1 view .LVU2449
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7338 .loc 1 3506 21 is_stmt 0 view .LVU2450
7339 005a 0023 movs r3, #0
7340 005c A4F84630 strh r3, [r4, #70] @ movhi
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7341 .loc 1 3507 3 is_stmt 1 view .LVU2451
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7342 .loc 1 3507 21 is_stmt 0 view .LVU2452
7343 0060 E387 strh r3, [r4, #62] @ movhi
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7344 .loc 1 3510 3 is_stmt 1 view .LVU2453
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7345 .loc 1 3510 11 is_stmt 0 view .LVU2454
7346 0062 236E ldr r3, [r4, #96]
ARM GAS /tmp/ccywxtmH.s page 246
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7347 .loc 1 3510 6 view .LVU2455
7348 0064 402B cmp r3, #64
7349 0066 01D0 beq .L503
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7350 .loc 1 3513 5 is_stmt 1 view .LVU2456
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7351 .loc 1 3513 21 is_stmt 0 view .LVU2457
7352 0068 0023 movs r3, #0
7353 006a 2366 str r3, [r4, #96]
7354 .L503:
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7355 .loc 1 3517 3 is_stmt 1 view .LVU2458
7356 .LBB13:
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7357 .loc 1 3517 3 view .LVU2459
7358 006c 0022 movs r2, #0
7359 006e 0292 str r2, [sp, #8]
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7360 .loc 1 3517 3 view .LVU2460
7361 0070 2368 ldr r3, [r4]
7362 0072 D968 ldr r1, [r3, #12]
7363 0074 0291 str r1, [sp, #8]
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7364 .loc 1 3517 3 view .LVU2461
7365 0076 9968 ldr r1, [r3, #8]
7366 0078 0291 str r1, [sp, #8]
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7367 .loc 1 3517 3 view .LVU2462
7368 007a 0299 ldr r1, [sp, #8]
7369 .LBE13:
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7370 .loc 1 3517 3 view .LVU2463
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7371 .loc 1 3518 3 view .LVU2464
7372 .LBB14:
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7373 .loc 1 3518 3 view .LVU2465
7374 007c 0392 str r2, [sp, #12]
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7375 .loc 1 3518 3 view .LVU2466
7376 007e 9B68 ldr r3, [r3, #8]
7377 0080 0393 str r3, [sp, #12]
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7378 .loc 1 3518 3 view .LVU2467
7379 0082 039B ldr r3, [sp, #12]
7380 .LBE14:
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7381 .loc 1 3518 3 view .LVU2468
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7382 .loc 1 3521 3 view .LVU2469
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7383 .loc 1 3521 16 is_stmt 0 view .LVU2470
7384 0084 0123 movs r3, #1
7385 0086 84F85D30 strb r3, [r4, #93]
3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7386 .loc 1 3527 3 is_stmt 1 view .LVU2471
ARM GAS /tmp/ccywxtmH.s page 247
7387 008a 2046 mov r0, r4
7388 008c FFF7FEFF bl HAL_SPI_AbortCpltCallback
7389 .LVL457:
7390 .L498:
3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7391 .loc 1 3529 1 is_stmt 0 view .LVU2472
7392 0090 05B0 add sp, sp, #20
7393 .cfi_def_cfa_offset 12
7394 @ sp needed
7395 0092 30BD pop {r4, r5, pc}
3529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7396 .loc 1 3529 1 view .LVU2473
7397 .cfi_endproc
7398 .LFE168:
7400 .section .text.SPI_DMATxAbortCallback,"ax",%progbits
7401 .align 1
7402 .syntax unified
7403 .thumb
7404 .thumb_func
7406 SPI_DMATxAbortCallback:
7407 .LVL458:
7408 .LFB167:
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7409 .loc 1 3407 1 is_stmt 1 view -0
7410 .cfi_startproc
7411 @ args = 0, pretend = 0, frame = 8
7412 @ frame_needed = 0, uses_anonymous_args = 0
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7413 .loc 1 3407 1 is_stmt 0 view .LVU2475
7414 0000 10B5 push {r4, lr}
7415 .cfi_def_cfa_offset 8
7416 .cfi_offset 4, -8
7417 .cfi_offset 14, -4
7418 0002 84B0 sub sp, sp, #16
7419 .cfi_def_cfa_offset 24
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7420 .loc 1 3408 3 is_stmt 1 view .LVU2476
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7421 .loc 1 3408 22 is_stmt 0 view .LVU2477
7422 0004 446A ldr r4, [r0, #36]
7423 .LVL459:
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7424 .loc 1 3410 3 is_stmt 1 view .LVU2478
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7425 .loc 1 3410 7 is_stmt 0 view .LVU2479
7426 0006 636D ldr r3, [r4, #84]
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7427 .loc 1 3410 35 view .LVU2480
7428 0008 0022 movs r2, #0
7429 000a 5A63 str r2, [r3, #52]
3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7430 .loc 1 3413 3 is_stmt 1 view .LVU2481
7431 000c 2268 ldr r2, [r4]
7432 000e 5368 ldr r3, [r2, #4]
7433 0010 23F00203 bic r3, r3, #2
7434 0014 5360 str r3, [r2, #4]
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 248
7435 .loc 1 3415 3 view .LVU2482
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7436 .loc 1 3415 7 is_stmt 0 view .LVU2483
7437 0016 FFF7FEFF bl HAL_GetTick
7438 .LVL460:
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7439 .loc 1 3415 7 view .LVU2484
7440 001a 0246 mov r2, r0
7441 001c 6421 movs r1, #100
7442 001e 2046 mov r0, r4
7443 0020 FFF7FEFF bl SPI_EndRxTxTransaction
7444 .LVL461:
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7445 .loc 1 3415 6 view .LVU2485
7446 0024 08B1 cbz r0, .L506
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7447 .loc 1 3417 5 is_stmt 1 view .LVU2486
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7448 .loc 1 3417 21 is_stmt 0 view .LVU2487
7449 0026 4023 movs r3, #64
7450 0028 2366 str r3, [r4, #96]
7451 .L506:
3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7452 .loc 1 3421 3 is_stmt 1 view .LVU2488
7453 002a 2268 ldr r2, [r4]
7454 002c 1368 ldr r3, [r2]
7455 002e 23F04003 bic r3, r3, #64
7456 0032 1360 str r3, [r2]
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7457 .loc 1 3424 3 view .LVU2489
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7458 .loc 1 3424 7 is_stmt 0 view .LVU2490
7459 0034 FFF7FEFF bl HAL_GetTick
7460 .LVL462:
7461 0038 0090 str r0, [sp]
7462 003a 6423 movs r3, #100
7463 003c 0022 movs r2, #0
7464 003e 4FF4C061 mov r1, #1536
7465 0042 2046 mov r0, r4
7466 0044 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
7467 .LVL463:
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7468 .loc 1 3424 6 view .LVU2491
7469 0048 08B1 cbz r0, .L507
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7470 .loc 1 3426 5 is_stmt 1 view .LVU2492
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7471 .loc 1 3426 21 is_stmt 0 view .LVU2493
7472 004a 4023 movs r3, #64
7473 004c 2366 str r3, [r4, #96]
7474 .L507:
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7475 .loc 1 3430 3 is_stmt 1 view .LVU2494
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7476 .loc 1 3430 11 is_stmt 0 view .LVU2495
7477 004e A36D ldr r3, [r4, #88]
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccywxtmH.s page 249
7478 .loc 1 3430 6 view .LVU2496
7479 0050 0BB1 cbz r3, .L508
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7480 .loc 1 3432 5 is_stmt 1 view .LVU2497
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7481 .loc 1 3432 21 is_stmt 0 view .LVU2498
7482 0052 5B6B ldr r3, [r3, #52]
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7483 .loc 1 3432 8 view .LVU2499
7484 0054 D3B9 cbnz r3, .L505
7485 .L508:
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7486 .loc 1 3439 3 is_stmt 1 view .LVU2500
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7487 .loc 1 3439 21 is_stmt 0 view .LVU2501
7488 0056 0023 movs r3, #0
7489 0058 A4F84630 strh r3, [r4, #70] @ movhi
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7490 .loc 1 3440 3 is_stmt 1 view .LVU2502
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7491 .loc 1 3440 21 is_stmt 0 view .LVU2503
7492 005c E387 strh r3, [r4, #62] @ movhi
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7493 .loc 1 3443 3 is_stmt 1 view .LVU2504
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7494 .loc 1 3443 11 is_stmt 0 view .LVU2505
7495 005e 236E ldr r3, [r4, #96]
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7496 .loc 1 3443 6 view .LVU2506
7497 0060 402B cmp r3, #64
7498 0062 01D0 beq .L510
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7499 .loc 1 3446 5 is_stmt 1 view .LVU2507
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7500 .loc 1 3446 21 is_stmt 0 view .LVU2508
7501 0064 0023 movs r3, #0
7502 0066 2366 str r3, [r4, #96]
7503 .L510:
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7504 .loc 1 3450 3 is_stmt 1 view .LVU2509
7505 .LBB15:
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7506 .loc 1 3450 3 view .LVU2510
7507 0068 0022 movs r2, #0
7508 006a 0292 str r2, [sp, #8]
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7509 .loc 1 3450 3 view .LVU2511
7510 006c 2368 ldr r3, [r4]
7511 006e D968 ldr r1, [r3, #12]
7512 0070 0291 str r1, [sp, #8]
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7513 .loc 1 3450 3 view .LVU2512
7514 0072 9968 ldr r1, [r3, #8]
7515 0074 0291 str r1, [sp, #8]
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7516 .loc 1 3450 3 view .LVU2513
7517 0076 0299 ldr r1, [sp, #8]
ARM GAS /tmp/ccywxtmH.s page 250
7518 .LBE15:
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7519 .loc 1 3450 3 view .LVU2514
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7520 .loc 1 3451 3 view .LVU2515
7521 .LBB16:
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7522 .loc 1 3451 3 view .LVU2516
7523 0078 0392 str r2, [sp, #12]
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7524 .loc 1 3451 3 view .LVU2517
7525 007a 9B68 ldr r3, [r3, #8]
7526 007c 0393 str r3, [sp, #12]
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7527 .loc 1 3451 3 view .LVU2518
7528 007e 039B ldr r3, [sp, #12]
7529 .LBE16:
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7530 .loc 1 3451 3 view .LVU2519
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7531 .loc 1 3454 3 view .LVU2520
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7532 .loc 1 3454 16 is_stmt 0 view .LVU2521
7533 0080 0123 movs r3, #1
7534 0082 84F85D30 strb r3, [r4, #93]
3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7535 .loc 1 3460 3 is_stmt 1 view .LVU2522
7536 0086 2046 mov r0, r4
7537 0088 FFF7FEFF bl HAL_SPI_AbortCpltCallback
7538 .LVL464:
7539 .L505:
3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7540 .loc 1 3462 1 is_stmt 0 view .LVU2523
7541 008c 04B0 add sp, sp, #16
7542 .cfi_def_cfa_offset 8
7543 @ sp needed
7544 008e 10BD pop {r4, pc}
3462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7545 .loc 1 3462 1 view .LVU2524
7546 .cfi_endproc
7547 .LFE167:
7549 .section .text.HAL_SPI_GetState,"ax",%progbits
7550 .align 1
7551 .global HAL_SPI_GetState
7552 .syntax unified
7553 .thumb
7554 .thumb_func
7556 HAL_SPI_GetState:
7557 .LVL465:
7558 .LFB157:
2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI handle state */
7559 .loc 1 2997 1 is_stmt 1 view -0
7560 .cfi_startproc
7561 @ args = 0, pretend = 0, frame = 0
7562 @ frame_needed = 0, uses_anonymous_args = 0
7563 @ link register save eliminated.
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccywxtmH.s page 251
7564 .loc 1 2999 3 view .LVU2526
2999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7565 .loc 1 2999 14 is_stmt 0 view .LVU2527
7566 0000 90F85D00 ldrb r0, [r0, #93] @ zero_extendqisi2
7567 .LVL466:
3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7568 .loc 1 3000 1 view .LVU2528
7569 0004 7047 bx lr
7570 .cfi_endproc
7571 .LFE157:
7573 .section .text.HAL_SPI_GetError,"ax",%progbits
7574 .align 1
7575 .global HAL_SPI_GetError
7576 .syntax unified
7577 .thumb
7578 .thumb_func
7580 HAL_SPI_GetError:
7581 .LVL467:
7582 .LFB158:
3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI ErrorCode */
7583 .loc 1 3009 1 is_stmt 1 view -0
7584 .cfi_startproc
7585 @ args = 0, pretend = 0, frame = 0
7586 @ frame_needed = 0, uses_anonymous_args = 0
7587 @ link register save eliminated.
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7588 .loc 1 3011 3 view .LVU2530
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7589 .loc 1 3011 14 is_stmt 0 view .LVU2531
7590 0000 006E ldr r0, [r0, #96]
7591 .LVL468:
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7592 .loc 1 3012 1 view .LVU2532
7593 0002 7047 bx lr
7594 .cfi_endproc
7595 .LFE158:
7597 .text
7598 .Letext0:
7599 .file 2 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
7600 .file 3 "/home/david/.config/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-tools/arm-non
7601 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
7602 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
7603 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
7604 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
7605 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_spi.h"
7606 .file 9 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/system_stm32f3xx.h"
7607 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS /tmp/ccywxtmH.s page 252
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f3xx_hal_spi.c
/tmp/ccywxtmH.s:21 .text.SPI_WaitFlagStateUntilTimeout:0000000000000000 $t
/tmp/ccywxtmH.s:26 .text.SPI_WaitFlagStateUntilTimeout:0000000000000000 SPI_WaitFlagStateUntilTimeout
/tmp/ccywxtmH.s:200 .text.SPI_WaitFlagStateUntilTimeout:00000000000000c4 $d
/tmp/ccywxtmH.s:205 .text.SPI_WaitFifoStateUntilTimeout:0000000000000000 $t
/tmp/ccywxtmH.s:210 .text.SPI_WaitFifoStateUntilTimeout:0000000000000000 SPI_WaitFifoStateUntilTimeout
/tmp/ccywxtmH.s:415 .text.SPI_WaitFifoStateUntilTimeout:00000000000000ec $d
/tmp/ccywxtmH.s:420 .text.SPI_EndRxTxTransaction:0000000000000000 $t
/tmp/ccywxtmH.s:425 .text.SPI_EndRxTxTransaction:0000000000000000 SPI_EndRxTxTransaction
/tmp/ccywxtmH.s:518 .text.SPI_EndRxTransaction:0000000000000000 $t
/tmp/ccywxtmH.s:523 .text.SPI_EndRxTransaction:0000000000000000 SPI_EndRxTransaction
/tmp/ccywxtmH.s:642 .text.SPI_AbortRx_ISR:0000000000000000 $t
/tmp/ccywxtmH.s:647 .text.SPI_AbortRx_ISR:0000000000000000 SPI_AbortRx_ISR
/tmp/ccywxtmH.s:761 .text.SPI_AbortRx_ISR:0000000000000088 $d
/tmp/ccywxtmH.s:767 .text.SPI_AbortTx_ISR:0000000000000000 $t
/tmp/ccywxtmH.s:772 .text.SPI_AbortTx_ISR:0000000000000000 SPI_AbortTx_ISR
/tmp/ccywxtmH.s:956 .text.SPI_AbortTx_ISR:00000000000000e8 $d
/tmp/ccywxtmH.s:962 .text.HAL_SPI_MspInit:0000000000000000 $t
/tmp/ccywxtmH.s:968 .text.HAL_SPI_MspInit:0000000000000000 HAL_SPI_MspInit
/tmp/ccywxtmH.s:983 .text.HAL_SPI_Init:0000000000000000 $t
/tmp/ccywxtmH.s:989 .text.HAL_SPI_Init:0000000000000000 HAL_SPI_Init
/tmp/ccywxtmH.s:1176 .text.HAL_SPI_MspDeInit:0000000000000000 $t
/tmp/ccywxtmH.s:1182 .text.HAL_SPI_MspDeInit:0000000000000000 HAL_SPI_MspDeInit
/tmp/ccywxtmH.s:1197 .text.HAL_SPI_DeInit:0000000000000000 $t
/tmp/ccywxtmH.s:1203 .text.HAL_SPI_DeInit:0000000000000000 HAL_SPI_DeInit
/tmp/ccywxtmH.s:1260 .text.HAL_SPI_Transmit:0000000000000000 $t
/tmp/ccywxtmH.s:1266 .text.HAL_SPI_Transmit:0000000000000000 HAL_SPI_Transmit
/tmp/ccywxtmH.s:1730 .text.HAL_SPI_TransmitReceive:0000000000000000 $t
/tmp/ccywxtmH.s:1736 .text.HAL_SPI_TransmitReceive:0000000000000000 HAL_SPI_TransmitReceive
/tmp/ccywxtmH.s:2436 .text.HAL_SPI_Receive:0000000000000000 $t
/tmp/ccywxtmH.s:2442 .text.HAL_SPI_Receive:0000000000000000 HAL_SPI_Receive
/tmp/ccywxtmH.s:2804 .text.HAL_SPI_Transmit_IT:0000000000000000 $t
/tmp/ccywxtmH.s:2810 .text.HAL_SPI_Transmit_IT:0000000000000000 HAL_SPI_Transmit_IT
/tmp/ccywxtmH.s:2975 .text.HAL_SPI_Transmit_IT:00000000000000a8 $d
/tmp/ccywxtmH.s:5482 .text.SPI_TxISR_16BIT:0000000000000000 SPI_TxISR_16BIT
/tmp/ccywxtmH.s:5421 .text.SPI_TxISR_8BIT:0000000000000000 SPI_TxISR_8BIT
/tmp/ccywxtmH.s:2981 .text.HAL_SPI_TransmitReceive_IT:0000000000000000 $t
/tmp/ccywxtmH.s:2987 .text.HAL_SPI_TransmitReceive_IT:0000000000000000 HAL_SPI_TransmitReceive_IT
/tmp/ccywxtmH.s:3238 .text.HAL_SPI_TransmitReceive_IT:0000000000000104 $d
/tmp/ccywxtmH.s:6122 .text.SPI_2linesRxISR_16BIT:0000000000000000 SPI_2linesRxISR_16BIT
/tmp/ccywxtmH.s:6050 .text.SPI_2linesTxISR_16BIT:0000000000000000 SPI_2linesTxISR_16BIT
/tmp/ccywxtmH.s:5933 .text.SPI_2linesRxISR_8BIT:0000000000000000 SPI_2linesRxISR_8BIT
/tmp/ccywxtmH.s:5828 .text.SPI_2linesTxISR_8BIT:0000000000000000 SPI_2linesTxISR_8BIT
/tmp/ccywxtmH.s:3246 .text.HAL_SPI_Receive_IT:0000000000000000 $t
/tmp/ccywxtmH.s:3252 .text.HAL_SPI_Receive_IT:0000000000000000 HAL_SPI_Receive_IT
/tmp/ccywxtmH.s:3452 .text.HAL_SPI_Receive_IT:00000000000000f4 $d
/tmp/ccywxtmH.s:5672 .text.SPI_RxISR_16BIT:0000000000000000 SPI_RxISR_16BIT
/tmp/ccywxtmH.s:5611 .text.SPI_RxISR_8BIT:0000000000000000 SPI_RxISR_8BIT
/tmp/ccywxtmH.s:3458 .text.HAL_SPI_Transmit_DMA:0000000000000000 $t
/tmp/ccywxtmH.s:3464 .text.HAL_SPI_Transmit_DMA:0000000000000000 HAL_SPI_Transmit_DMA
/tmp/ccywxtmH.s:3724 .text.HAL_SPI_Transmit_DMA:0000000000000128 $d
/tmp/ccywxtmH.s:5163 .text.SPI_DMAHalfTransmitCplt:0000000000000000 SPI_DMAHalfTransmitCplt
/tmp/ccywxtmH.s:6237 .text.SPI_DMATransmitCplt:0000000000000000 SPI_DMATransmitCplt
/tmp/ccywxtmH.s:6194 .text.SPI_DMAError:0000000000000000 SPI_DMAError
/tmp/ccywxtmH.s:3731 .text.HAL_SPI_TransmitReceive_DMA:0000000000000000 $t
/tmp/ccywxtmH.s:3737 .text.HAL_SPI_TransmitReceive_DMA:0000000000000000 HAL_SPI_TransmitReceive_DMA
ARM GAS /tmp/ccywxtmH.s page 253
/tmp/ccywxtmH.s:4196 .text.HAL_SPI_TransmitReceive_DMA:0000000000000218 $d
/tmp/ccywxtmH.s:5267 .text.SPI_DMAHalfTransmitReceiveCplt:0000000000000000 SPI_DMAHalfTransmitReceiveCplt
/tmp/ccywxtmH.s:6476 .text.SPI_DMATransmitReceiveCplt:0000000000000000 SPI_DMATransmitReceiveCplt
/tmp/ccywxtmH.s:5215 .text.SPI_DMAHalfReceiveCplt:0000000000000000 SPI_DMAHalfReceiveCplt
/tmp/ccywxtmH.s:6360 .text.SPI_DMAReceiveCplt:0000000000000000 SPI_DMAReceiveCplt
/tmp/ccywxtmH.s:4205 .text.HAL_SPI_Receive_DMA:0000000000000000 $t
/tmp/ccywxtmH.s:4211 .text.HAL_SPI_Receive_DMA:0000000000000000 HAL_SPI_Receive_DMA
/tmp/ccywxtmH.s:4523 .text.HAL_SPI_Receive_DMA:0000000000000188 $d
/tmp/ccywxtmH.s:4530 .text.HAL_SPI_Abort:0000000000000000 $t
/tmp/ccywxtmH.s:4536 .text.HAL_SPI_Abort:0000000000000000 HAL_SPI_Abort
/tmp/ccywxtmH.s:4876 .text.HAL_SPI_Abort:0000000000000180 $d
/tmp/ccywxtmH.s:4884 .text.HAL_SPI_DMAPause:0000000000000000 $t
/tmp/ccywxtmH.s:4890 .text.HAL_SPI_DMAPause:0000000000000000 HAL_SPI_DMAPause
/tmp/ccywxtmH.s:4934 .text.HAL_SPI_DMAResume:0000000000000000 $t
/tmp/ccywxtmH.s:4940 .text.HAL_SPI_DMAResume:0000000000000000 HAL_SPI_DMAResume
/tmp/ccywxtmH.s:4984 .text.HAL_SPI_DMAStop:0000000000000000 $t
/tmp/ccywxtmH.s:4990 .text.HAL_SPI_DMAStop:0000000000000000 HAL_SPI_DMAStop
/tmp/ccywxtmH.s:5074 .text.HAL_SPI_TxCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5080 .text.HAL_SPI_TxCpltCallback:0000000000000000 HAL_SPI_TxCpltCallback
/tmp/ccywxtmH.s:5095 .text.HAL_SPI_RxCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5101 .text.HAL_SPI_RxCpltCallback:0000000000000000 HAL_SPI_RxCpltCallback
/tmp/ccywxtmH.s:5116 .text.HAL_SPI_TxRxCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5122 .text.HAL_SPI_TxRxCpltCallback:0000000000000000 HAL_SPI_TxRxCpltCallback
/tmp/ccywxtmH.s:5137 .text.HAL_SPI_TxHalfCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5143 .text.HAL_SPI_TxHalfCpltCallback:0000000000000000 HAL_SPI_TxHalfCpltCallback
/tmp/ccywxtmH.s:5158 .text.SPI_DMAHalfTransmitCplt:0000000000000000 $t
/tmp/ccywxtmH.s:5189 .text.HAL_SPI_RxHalfCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5195 .text.HAL_SPI_RxHalfCpltCallback:0000000000000000 HAL_SPI_RxHalfCpltCallback
/tmp/ccywxtmH.s:5210 .text.SPI_DMAHalfReceiveCplt:0000000000000000 $t
/tmp/ccywxtmH.s:5241 .text.HAL_SPI_TxRxHalfCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5247 .text.HAL_SPI_TxRxHalfCpltCallback:0000000000000000 HAL_SPI_TxRxHalfCpltCallback
/tmp/ccywxtmH.s:5262 .text.SPI_DMAHalfTransmitReceiveCplt:0000000000000000 $t
/tmp/ccywxtmH.s:5293 .text.HAL_SPI_ErrorCallback:0000000000000000 $t
/tmp/ccywxtmH.s:5299 .text.HAL_SPI_ErrorCallback:0000000000000000 HAL_SPI_ErrorCallback
/tmp/ccywxtmH.s:5314 .text.SPI_CloseTx_ISR:0000000000000000 $t
/tmp/ccywxtmH.s:5319 .text.SPI_CloseTx_ISR:0000000000000000 SPI_CloseTx_ISR
/tmp/ccywxtmH.s:5416 .text.SPI_TxISR_8BIT:0000000000000000 $t
/tmp/ccywxtmH.s:5477 .text.SPI_TxISR_16BIT:0000000000000000 $t
/tmp/ccywxtmH.s:5538 .text.SPI_CloseRx_ISR:0000000000000000 $t
/tmp/ccywxtmH.s:5543 .text.SPI_CloseRx_ISR:0000000000000000 SPI_CloseRx_ISR
/tmp/ccywxtmH.s:5606 .text.SPI_RxISR_8BIT:0000000000000000 $t
/tmp/ccywxtmH.s:5667 .text.SPI_RxISR_16BIT:0000000000000000 $t
/tmp/ccywxtmH.s:5728 .text.SPI_CloseRxTx_ISR:0000000000000000 $t
/tmp/ccywxtmH.s:5733 .text.SPI_CloseRxTx_ISR:0000000000000000 SPI_CloseRxTx_ISR
/tmp/ccywxtmH.s:5823 .text.SPI_2linesTxISR_8BIT:0000000000000000 $t
/tmp/ccywxtmH.s:5928 .text.SPI_2linesRxISR_8BIT:0000000000000000 $t
/tmp/ccywxtmH.s:6045 .text.SPI_2linesTxISR_16BIT:0000000000000000 $t
/tmp/ccywxtmH.s:6117 .text.SPI_2linesRxISR_16BIT:0000000000000000 $t
/tmp/ccywxtmH.s:6189 .text.SPI_DMAError:0000000000000000 $t
/tmp/ccywxtmH.s:6232 .text.SPI_DMATransmitCplt:0000000000000000 $t
/tmp/ccywxtmH.s:6355 .text.SPI_DMAReceiveCplt:0000000000000000 $t
/tmp/ccywxtmH.s:6471 .text.SPI_DMATransmitReceiveCplt:0000000000000000 $t
/tmp/ccywxtmH.s:6570 .text.HAL_SPI_IRQHandler:0000000000000000 $t
/tmp/ccywxtmH.s:6576 .text.HAL_SPI_IRQHandler:0000000000000000 HAL_SPI_IRQHandler
/tmp/ccywxtmH.s:6837 .text.HAL_SPI_IRQHandler:0000000000000114 $d
/tmp/ccywxtmH.s:6847 .text.SPI_DMAAbortOnError:0000000000000000 SPI_DMAAbortOnError
/tmp/ccywxtmH.s:6842 .text.SPI_DMAAbortOnError:0000000000000000 $t
ARM GAS /tmp/ccywxtmH.s page 254
/tmp/ccywxtmH.s:6879 .text.HAL_SPI_AbortCpltCallback:0000000000000000 $t
/tmp/ccywxtmH.s:6885 .text.HAL_SPI_AbortCpltCallback:0000000000000000 HAL_SPI_AbortCpltCallback
/tmp/ccywxtmH.s:6900 .text.HAL_SPI_Abort_IT:0000000000000000 $t
/tmp/ccywxtmH.s:6906 .text.HAL_SPI_Abort_IT:0000000000000000 HAL_SPI_Abort_IT
/tmp/ccywxtmH.s:7239 .text.HAL_SPI_Abort_IT:0000000000000148 $d
/tmp/ccywxtmH.s:7406 .text.SPI_DMATxAbortCallback:0000000000000000 SPI_DMATxAbortCallback
/tmp/ccywxtmH.s:7254 .text.SPI_DMARxAbortCallback:0000000000000000 SPI_DMARxAbortCallback
/tmp/ccywxtmH.s:7249 .text.SPI_DMARxAbortCallback:0000000000000000 $t
/tmp/ccywxtmH.s:7401 .text.SPI_DMATxAbortCallback:0000000000000000 $t
/tmp/ccywxtmH.s:7550 .text.HAL_SPI_GetState:0000000000000000 $t
/tmp/ccywxtmH.s:7556 .text.HAL_SPI_GetState:0000000000000000 HAL_SPI_GetState
/tmp/ccywxtmH.s:7574 .text.HAL_SPI_GetError:0000000000000000 $t
/tmp/ccywxtmH.s:7580 .text.HAL_SPI_GetError:0000000000000000 HAL_SPI_GetError
UNDEFINED SYMBOLS
HAL_GetTick
SystemCoreClock
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_Abort_IT