2023-05-30 18:57:16 +02:00

15194 lines
929 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * All rights reserved.</center></h2>
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