mv-bms/build/stm32f3xx_hal_spi.lst
2024-05-09 23:38:13 +03:00

15305 lines
935 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/ccZ0BHQJ.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 **** * @attention
14:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
15:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * Copyright (c) 2016 STMicroelectronics.
16:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * All rights reserved.
17:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
18:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This software is licensed under terms that can be found in the LICENSE file
19:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * in the root directory of this software component.
20:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
21:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
22:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ******************************************************************************
23:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
24:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
25:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### How to use this driver #####
26:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
27:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
28:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The SPI HAL driver can be used as follows:
29:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
30:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Declare a SPI_HandleTypeDef handle structure, for example:
ARM GAS /tmp/ccZ0BHQJ.s page 2
31:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef hspi;
32:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
33:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API:
34:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Enable the SPIx interface clock
35:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) SPI pins configuration
36:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the clock for the SPI GPIOs
37:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure these SPI pins as alternate function push-pull
38:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) NVIC configuration if you need to use interrupt process
39:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the SPIx interrupt priority
40:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the NVIC SPI IRQ handle
41:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) DMA Configuration if you need to use DMA process
42:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream
43:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Enable the DMAx clock
44:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the DMA handle parameters
45:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the DMA Tx or Rx Stream/Channel
46: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
47:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt
48:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
49:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS
50:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str
51:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
52:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Initialize the SPI registers by calling the HAL_SPI_Init() API:
53:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc)
54:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** by calling the customized HAL_SPI_MspInit() API.
55:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
56:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Circular mode restriction:
57:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The DMA circular mode cannot be used when the SPI is configured in these modes:
58:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Master 2Lines RxOnly
59:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) Master 1Line Rx
60:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The CRC feature is not managed when the DMA circular mode is enabled
61:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) When the SPI DMA Pause/Stop features are used, we must use the following APIs
62:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_DMAPause()/ HAL_SPI_DMAStop() only under the SPI callbacks
63:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
64:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Master Receive mode restriction:
65:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=1) or
66:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
67:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** does not initiate a new transfer the following procedure has to be respected:
68:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) HAL_SPI_DeInit()
69:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (##) HAL_SPI_Init()
70:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
71:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Callback registration:
72:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
73:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1U
74:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** allows the user to configure dynamically the driver callbacks.
75:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback.
76:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
77:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Function HAL_SPI_RegisterCallback() allows to register following callbacks:
78:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
79:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
80:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
81:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
82:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
83:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
84:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
85:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
86:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
87:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
ARM GAS /tmp/ccZ0BHQJ.s page 3
88:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
89:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and a pointer to the user callback function.
90:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
91:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
92:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default
93:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** weak function.
94:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle,
95:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and the Callback ID.
96:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This function allows to reset following callbacks:
97:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
98:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
99:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
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 **** By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET
110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** all callbacks are set to the corresponding weak functions:
111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback().
112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Exception done for MspInit and MspDeInit functions that are
113: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
114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** these callbacks are null (not registered beforehand).
115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit()
116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state
117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only.
120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state,
122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit()
125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** or HAL_SPI_Init() function.
126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** When the compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or
129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** not defined, the callback registering feature is not available
130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and weak (surcharged) callbacks are used.
131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
133: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
134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the following table resume the max SPI frequency reached with data size 8bits/16bits,
135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** according to frequency of the APBx Peripheral Clock (fPCLK) used by the SPI instance.
136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Additional table :
140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** DataSize = SPI_DATASIZE_8BIT:
142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|-------------------
ARM GAS /tmp/ccZ0BHQJ.s page 4
145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |===========================================================================================
147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Polling | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA
148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/16 | NA | NA | NA | NA
150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/4 | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/
154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/8 | Fpclk/
156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/4 | Fpclk/2 | Fpclk/2 | Fpclk/16 | Fpclk/2 | Fpclk/
158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/8 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/16 | Fpclk/
162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** DataSize = SPI_DATASIZE_16BIT:
167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|-------------------
170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |===========================================================================================
172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Polling | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA
173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/16 | NA | NA | NA | NA
175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/4 | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/
179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/16 | Fpclk/8 | Fpclk/8 | Fpclk/8 | Fpclk/
181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/4 | Fpclk/2 | Fpclk/2 | Fpclk/16 | Fpclk/2 | Fpclk/
183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | Polling | Fpclk/8 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/16 | Fpclk/
187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/8 | Fpclk/
189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @note The max SPI frequency depend on SPI data size (4bits, 5bits,..., 8bits,...15bits, 16bi
191: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,
192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @note
193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) TX/RX processes are HAL_SPI_TransmitReceive(), HAL_SPI_TransmitReceive_IT() and HAL
194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) RX processes are HAL_SPI_Receive(), HAL_SPI_Receive_IT() and HAL_SPI_Receive_DMA()
195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) TX processes are HAL_SPI_Transmit(), HAL_SPI_Transmit_IT() and HAL_SPI_Transmit_DMA
196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
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 **** /* Includes ------------------------------------------------------------------*/
200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #include "stm32f3xx_hal.h"
201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 5
202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup STM32F3xx_HAL_Driver
203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI SPI
207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI HAL module driver
208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED
211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/
213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/
214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants
215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100U
218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
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 **** /* Private macros ------------------------------------------------------------*/
223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/
224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/
225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions
226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma);
231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma);
232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma);
233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma);
234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma);
235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma);
236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart);
240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
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 void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi);
257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi);
258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi);
ARM GAS /tmp/ccZ0BHQJ.s page 6
259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi);
260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi);
261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t T
262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
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 **** /* Exported functions --------------------------------------------------------*/
268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions
269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Initialization and Configuration functions
274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### Initialization and de-initialization functions #####
278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..] This subsection provides a set of functions allowing to initialize and
280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** de-initialize the SPIx peripheral:
281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) User must implement HAL_SPI_MspInit() function in which he configures
283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) Call the function HAL_SPI_Init() to configure the selected device with
286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the selected configuration:
287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Mode
288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Direction
289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Data Size
290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Clock Polarity and Phase
291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) NSS Management
292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) BaudRate Prescaler
293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) FirstBit
294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) TIMode
295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Calculation
296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Polynomial if CRC enabled
297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) CRC Length, used only with Data8 and Data16
298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) FIFO reception threshold
299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) Call the function HAL_SPI_DeInit() to restore the default configuration
301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** of the selected SPIx peripheral.
302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Initialize the SPI according to the specified parameters
309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * in the SPI_InitTypeDef and initialize the associated handle.
310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 7
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi == NULL)
320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the parameters */
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity));
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Force polarity and phase to TI protocaol requirements */
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPolarity = SPI_POLARITY_LOW;
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation));
359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial));
362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength));
363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_RESET)
369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Allocate lock resource and initialize it */
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Lock = HAL_UNLOCKED;
372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 8
373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the SPI Callback settings */
375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback
379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback
380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback
381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->MspInitCallback == NULL)
385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit */
387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback(hspi);
391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_MspInit(hspi);
394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the selected SPI peripheral */
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Align by default the rs fifo threshold on the data size */
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** frxth = SPI_RXFIFO_THRESHOLD_HF;
406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** frxth = SPI_RXFIFO_THRESHOLD_QF;
410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC calculation is valid only for 16Bit and 8 Bit */
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize != SPI_DATASIZE_16BIT) && (hspi->Init.DataSize != SPI_DATASIZE_8BIT))
414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC must be disabled */
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/
420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management,
421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Communication speed, First bit and CRC calculation state */
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) |
423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) |
424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CLKPolarity & SPI_CR1_CPOL) |
425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CLKPhase & SPI_CR1_CPHA) |
426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.NSS & SPI_CR1_SSM) |
427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.BaudRatePrescaler & SPI_CR1_BR_Msk) |
428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.FirstBit & SPI_CR1_LSBFIRST) |
429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.CRCCalculation & SPI_CR1_CRCEN)));
ARM GAS /tmp/ccZ0BHQJ.s page 9
430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*---------------------------- SPIx CRCL Configuration -------------------*/
432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Align the CRC Length on the data size */
435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_DATASIZE)
436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC Length aligned on the data size : value set by default */
438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCLength = SPI_CRC_LENGTH_16BIT;
441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CRCLength = SPI_CRC_LENGTH_8BIT;
445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : CRC Length */
449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCL);
452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : NSS management, TI Mode, NSS Pulse, Data size and Rx Fifo threshold */
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) |
458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.TIMode & SPI_CR2_FRF) |
459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.NSSPMode & SPI_CR2_NSSP) |
460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.DataSize & SPI_CR2_DS_Msk) |
461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (frxth & SPI_CR2_FRXTH)));
462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration ------------------*/
465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure : CRC Polynomial */
466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPR, (hspi->Init.CRCPolynomial & SPI_CRCPR_CRCPOLY_Msk));
469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD)
473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD);
475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief De-Initialize the SPI peripheral.
485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
ARM GAS /tmp/ccZ0BHQJ.s page 10
487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi == NULL)
493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check SPI Instance parameter */
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI Peripheral Clock */
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->MspDeInitCallback == NULL)
507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit */
509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback(hspi);
513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_MspDeInit(hspi);
516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Initialize the SPI MSP.
529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_MspInit should be implemented in the user file
540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccZ0BHQJ.s page 11
544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief De-Initialize the SPI MSP.
545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_MspDeInit should be implemented in the user file
556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Register a User SPI Callback
562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * To be used instead of the weak predefined callback
563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI.
565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param CallbackID ID of the callback to be registered
566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pCallback pointer to the Callback function
567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb
570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** pSPI_CallbackTypeDef pCallback)
571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (pCallback == NULL)
575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK;
578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_ERROR;
580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = pCallback;
590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = pCallback;
594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = pCallback;
598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
ARM GAS /tmp/ccZ0BHQJ.s page 12
601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = pCallback;
602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = pCallback;
606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = pCallback;
610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = pCallback;
614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = pCallback;
618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 13
658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return status;
670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Unregister an SPI Callback
674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * SPI callback is redirected to the weak predefined callback
675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI.
677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param CallbackID ID of the callback to be unregistered
678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal
681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallbac
705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallbac
709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb
713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 14
715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** switch (CallbackID)
743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** default :
753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update the error code */
764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return error status */
767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** status = HAL_ERROR;
768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Release Lock */
771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
ARM GAS /tmp/ccZ0BHQJ.s page 15
772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return status;
773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
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 **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions
780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Data transfers functions
781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ==============================================================================
784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### IO operation functions #####
785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This subsection provides a set of functions allowing to manage the SPI
788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** data transfers.
789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..] The SPI supports master and slave mode :
791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (#) There are two modes of transfer:
793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) Blocking mode: The communication is performed in polling mode.
794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL status of all data processing is returned by the same function
795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** after finishing transfer.
796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (++) No-Blocking mode: The communication is performed using Interrupts
797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** or DMA, These APIs return the HAL status.
798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The end of the data processing will be indicated through the
799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when
800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** using DMA mode.
801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u
802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will be executed respectively at the end of the transmit or Receive process
803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is
804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
805: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
806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** exist for 1Line (simplex) and 2Lines (full duplex) modes.
807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Transmit an amount of data in blocking mode.
814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
821: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
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
ARM GAS /tmp/ccZ0BHQJ.s page 16
829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 17
886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
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 **** /* Transmit data in 8 Bit mode */
918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* write on the data register in packing mode */
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 18
943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* write on the data register in packing mode */
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
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 **** else
992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
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 **** }
995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
ARM GAS /tmp/ccZ0BHQJ.s page 19
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Receive an amount of data in blocking mode.
1004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be received
1008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
1009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1011: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
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
1015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
1016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
1017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES))
1028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1030: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
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout);
1032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
1039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
ARM GAS /tmp/ccZ0BHQJ.s page 20
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* this is done to handle the CRCNEXT before the latest data */
1066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the Rx Fifo threshold */
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction: 1Line */
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 8 Bit mode */
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
1099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transfer loop */
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the RXNE flag */
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* read the received data */
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
ARM GAS /tmp/ccZ0BHQJ.s page 21
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transfer loop */
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the RXNE flag */
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Timeout management */
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Handle the CRC Transmission */
1150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* freeze the CRC before the latest data */
1153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read the latest data */
1156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* the latest data has not been received */
1159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive last data in 16 Bit mode */
1164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive last data in 8 Bit mode */
1169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 22
1171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait the CRC data */
1175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
1183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
1186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
1187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
1189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
1193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
1194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
1195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16B
1200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
1204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
1225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
ARM GAS /tmp/ccZ0BHQJ.s page 23
1228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
1233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in blocking mode.
1248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent and received
1253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
1254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxDa
1257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout)
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_RxXferCount;
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
1266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t spi_cr1;
1267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t spi_cr2;
1268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
1269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
1270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Variable used to alternate Rx and Tx during transfer */
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t txallowed = 1U;
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
1284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 24
1285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_RxXferCount = Size;
1290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** spi_cr1 = READ_REG(hspi->Instance->CR1);
1292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** spi_cr2 = READ_REG(hspi->Instance->CR2);
1293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the Rx Fifo threshold */
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (initial_RxXferCount > 1U))
1337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 16bit */
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
ARM GAS /tmp/ccZ0BHQJ.s page 25
1342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 8bit */
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit and Receive data in 16 Bit mode */
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXE flag */
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 0U;
1373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
1376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1379: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
1380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNE flag */
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 1U;
1396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY))
1398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 26
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit and Receive data in 8 Bit mode */
1406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
1411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXE flag */
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount > 1U)
1429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 0U;
1442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
1445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set NSS Soft to received correctly the CRC on slave mode with NSS pulse activated */
1448: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
1449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_SSM);
1451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 27
1456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until RXNE flag is reset */
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount > 1U)
1461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
1466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold before to switch on 8 bit data size */
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
1476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** txallowed = 1U;
1479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout =
1481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC from DR to close CRC calculation process */
1491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until TXE flag */
1494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
1497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC */
1502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
1505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
1506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
1508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
1512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
ARM GAS /tmp/ccZ0BHQJ.s page 28
1513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
1514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
1519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
1523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
1528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
1529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
1530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
1531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
1536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
1537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear CRC Flag */
1540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
1554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with Interrupt.
1569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
ARM GAS /tmp/ccZ0BHQJ.s page 29
1570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the function for IT treatment */
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
1614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
1618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 30
1627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
1638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
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 **** * @brief Receive an amount of data in non-blocking mode with Interrupt.
1654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
1672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1674: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
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size);
1676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
ARM GAS /tmp/ccZ0BHQJ.s page 31
1684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1700: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 */
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16 bit */
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
1706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8 bit */
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
1712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 1U;
1727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 2U;
1730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 0U;
1736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
ARM GAS /tmp/ccZ0BHQJ.s page 32
1741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Note : The SPI must be enabled after unlocking current process
1743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** to avoid the risk of SPI interrupt handle execution before current
1744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** process unlock */
1745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt.
1761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent and received
1766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pR
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
ARM GAS /tmp/ccZ0BHQJ.s page 33
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the function for IT treatment */
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BIT;
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
1817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BIT;
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
1822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 1U;
1829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT
1830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 2U;
1832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize = 0U;
1838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1841: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 */
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (Size >= 2U))
1843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16 bit */
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8 bit */
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
1851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
ARM GAS /tmp/ccZ0BHQJ.s page 34
1855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with DMA.
1871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
1876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
1877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check tx dma handle */
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
1889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
1893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
ARM GAS /tmp/ccZ0BHQJ.s page 35
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
1926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI TxDMA Half transfer complete callback */
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt;
1934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI TxDMA transfer complete callback */
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt;
1937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError;
1940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
1943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode is enabled only if the DMA setting is HALWORD */
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmatx->Init.MemDataAlignment == DMA_MDA
1947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the even/odd of the data size + crc if enabled */
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferCount & 0x1U) == 0U)
1950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U);
1953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
1955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX);
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
1958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
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 Tx DMA Stream/Channel */
1962: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
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
1964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
1968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 36
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
1981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Tx DMA Request */
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
1984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
1986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
1992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with DMA.
1993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note In case of MASTER mode and SPI_DIRECTION_2LINES direction, hdmatx shall be defined.
1994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
1996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pData pointer to data buffer
1997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When the CRC feature is enabled the pData Length must be Size + 1.
1998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
1999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check rx dma handle */
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
2007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
2009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
2011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
2015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
2017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check tx dma handle */
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2021: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
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size);
2023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
ARM GAS /tmp/ccZ0BHQJ.s page 37
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
2029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /*Init field not used in handle to zero */
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Configure communication direction : 1Line */
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
2049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
2053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
2057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
2066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
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 **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
2075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
ARM GAS /tmp/ccZ0BHQJ.s page 38
2083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount & 0x1U) == 0x0U)
2090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
2093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
2098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI RxDMA Half transfer complete callback */
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
2104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Rx DMA transfer complete callback */
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
2107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2115: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
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
2117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
2127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
2134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Rx DMA Request */
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
2137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error:
2139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
ARM GAS /tmp/ccZ0BHQJ.s page 39
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with DMA.
2146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
2149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
2150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note When the CRC feature is enabled the pRxData Length must be Size + 1
2151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Size amount of data to be sent
2152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *p
2155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t Size)
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check rx & tx dma handles */
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check Direction parameter */
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
2167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process locked */
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init temporary variables */
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_state = hspi->State;
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) ||
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_BUSY;
2179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
2183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
2190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
2192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the transaction information */
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
ARM GAS /tmp/ccZ0BHQJ.s page 40
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init field not used in handle to zero */
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
2209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if defined (STM32F302xC) || defined (STM32F303xC) || defined (STM32F373xC) || defined (STM32F358xx
2216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize <= SPI_DATASIZE_8BIT) && (hspi->hdmarx->Init.MemDataAlignment == DMA_MDA
2218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* STM32F302xC || STM32F303xC || STM32F373xC || STM32F358xx || STM32F378xx */
2224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset the threshold bit */
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMATX | SPI_CR2_LDMARX);
2227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The packing mode management is enabled by the DMA settings according the spi data size */
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
2230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set fiforxthreshold according the reception data length: 16bit */
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->TxXferSize & 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_LDMATX);
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = hspi->TxXferCount >> 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_LDMATX);
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 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 **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
ARM GAS /tmp/ccZ0BHQJ.s page 41
2254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 16bit */
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
2257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount & 0x1U) == 0x0U)
2259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
2262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_LDMARX);
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
2267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2271: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 *
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
2273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Rx DMA Half transfer complete callback */
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
2277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Tx/Rx DMA Half transfer complete callback */
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt;
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA error callback */
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2292: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
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
2294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Rx DMA Request */
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
2304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing
2306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** is performed in DMA reception complete callback */
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = NULL;
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
ARM GAS /tmp/ccZ0BHQJ.s page 42
2311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
2313: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
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
2315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Update SPI error code */
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if the SPI is already enabled */
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
2325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable SPI peripheral */
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
2331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable Tx DMA Request */
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
2334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** error :
2336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Abort ongoing transfer (blocking mode).
2343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * started in Interrupt or DMA mode.
2346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This procedure performs following operations :
2347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
2348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
2350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Set handle State to READY
2351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
2352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi)
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
2359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialized local variable */
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_OK;
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 43
2368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK)
2415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN));
2421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
2423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
ARM GAS /tmp/ccZ0BHQJ.s page 44
2425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
2432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK)
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 peripheral */
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick
2459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT,
2465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx DMA Request */
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN));
2471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check error during Abort procedure */
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
ARM GAS /tmp/ccZ0BHQJ.s page 45
2482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear the Error flags in the SR register */
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->state to ready */
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Abort ongoing transfer (Interrupt mode).
2501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * started in Interrupt or DMA mode.
2504:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * This procedure performs following operations :
2505:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
2506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2507: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)
2508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - Set handle State to READY
2509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * - At abort completion, call user abort complete callback
2510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * considered as completed only when user abort complete callback is executed (not when ex
2512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi)
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t abortcplt ;
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
2520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialized local variable */
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_OK;
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2529:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2530:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Change Rx and Tx Irq Handler to Disable TXEIE, RXNEIE and ERRIE interrupts */
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 46
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
2553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
2555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
2558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
2563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2565: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
2566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** before any call to DMA Abort functions */
2567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Tx Handle is valid */
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
2571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Otherwise, set it to NULL */
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback;
2575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
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 **** /* DMA Rx Handle is valid */
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** Otherwise, set it to NULL */
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback;
2589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 47
2596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel */
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK)
2604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 0U;
2611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel */
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK)
2622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 0U;
2629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (abortcplt == 1U)
2634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check error during Abort procedure */
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
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 **** /* Clear the Error flags in the SR register */
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
ARM GAS /tmp/ccZ0BHQJ.s page 48
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
2661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
2663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Pause the DMA Transfer.
2671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Resume the DMA Transfer.
2691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_LOCK(hspi);
2699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable the SPI DMA Tx & Rx requests */
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
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 **** /**
ARM GAS /tmp/ccZ0BHQJ.s page 49
2710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Stop the DMA Transfer.
2711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
2714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
2719: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
2720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
2721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and the correspond call back is executed HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback()
2722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA tx Stream/Channel */
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmatx))
2728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA rx Stream/Channel */
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmarx))
2737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
2740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI interrupt request.
2751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified SPI module.
2753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
2759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in mode Receiver ----------------------------------------------------*/
2761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) == RESET) &&
2762: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
2763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR(hspi);
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 50
2767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in mode Transmitter -------------------------------------------------*/
2769: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)
2770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR(hspi);
2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI in Error Treatment --------------------------------------------------*/
2776: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) !=
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
2778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Overrun error interrupt occurred ----------------------------------*/
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != RESET)
2781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_TX)
2783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
2788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
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 ****
2794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET)
2796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
2799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)
2803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE);
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
2806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable all interrupts */
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_ERR);
2812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
2815: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)
2816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN));
2818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Rx channel */
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
ARM GAS /tmp/ccZ0BHQJ.s page 51
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError;
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
2826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Abort the SPI DMA Tx channel */
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError;
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
2837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
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 **** else
2843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
2845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
2853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
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 **** * @brief Tx Transfer completed callback.
2858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxCpltCallback should be implemented in the user file
2869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Rx Transfer completed callback.
2874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
ARM GAS /tmp/ccZ0BHQJ.s page 52
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_RxCpltCallback should be implemented in the user file
2885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Tx and Rx Transfer completed callback.
2890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxRxCpltCallback should be implemented in the user file
2901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Tx Half Transfer completed callback.
2906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxHalfCpltCallback should be implemented in the user file
2917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Rx Half Transfer completed callback.
2922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file
2933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
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 **** * @brief Tx and Rx Half Transfer callback.
ARM GAS /tmp/ccZ0BHQJ.s page 53
2938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file
2949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
2953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI error callback.
2954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
2956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_ErrorCallback should be implemented in the user file
2965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes
2967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and user can use HAL_SPI_GetError() API to check the latest error occurred
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 **** * @brief SPI Abort Complete callback.
2973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle.
2974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
2975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi)
2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(hspi);
2980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** the HAL_SPI_AbortCpltCallback can be implemented in the user file.
2983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
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 **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
2991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief SPI control functions
2992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *
2993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @verbatim
2994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
ARM GAS /tmp/ccZ0BHQJ.s page 54
2995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ##### Peripheral State and Errors functions #####
2996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ===============================================================================
2997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** [..]
2998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** This subsection provides a set of functions allowing to control the SPI.
2999: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
3000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (+) HAL_SPI_GetError() check in run-time Errors occurring during communication
3001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** @endverbatim
3002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
3003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Return the SPI handle state.
3007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval SPI state
3010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi)
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI handle state */
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return hspi->State;
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 **** * @brief Return the SPI error code.
3019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval SPI error code in bitmap format
3022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi)
3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI ErrorCode */
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return hspi->ErrorCode;
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
3031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @}
3035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions
3038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Private functions
3039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @{
3040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI transmit process complete callback.
3044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
ARM GAS /tmp/ccZ0BHQJ.s page 55
3052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
3064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3069:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3070:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received data is not read */
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
3073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Tx complete callback */
3092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
3094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
3096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI receive process complete callback.
3101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
ARM GAS /tmp/ccZ0BHQJ.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 **** __IO uint32_t tmpreg = 0U;
3111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
3112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC handling */
3126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3127:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3128:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait until RXNE flag */
3129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) !
3130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC */
3135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
3136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3137:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC */
3138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
3147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3151:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_16BIT)
3152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstar
3154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC again in case of 16bit CRC in 8bit Data mode */
3159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
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 **** }
3165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
ARM GAS /tmp/ccZ0BHQJ.s page 57
3166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if we are in Master RX 2 line mode */
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
3169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3170: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)
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Normal case */
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
3177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
3183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
3190:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3194:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
3209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI transmit receive process complete callback.
3218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3221:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3222:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma)
ARM GAS /tmp/ccZ0BHQJ.s page 58
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
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 **** __IO uint32_t tmpreg = 0U;
3228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
3229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
3234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* DMA Normal Mode */
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
3237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* CRC handling */
3243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.DataSize == SPI_DATASIZE_8BIT) && (hspi->Init.CRCLength == SPI_CRC_LENGTH_8BI
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_QUARTER_FULL, SPI_DEFAULT
3248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart) != HAL_OK)
3249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC */
3256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_HALF_FULL, SPI_DEFAULT_TI
3263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Error on the CRC reception */
3265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
3268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 59
3280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx/Tx DMA Request */
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
3290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR))
3291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
3309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
3311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
3313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half transmit process complete callback.
3318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma)
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Tx half complete callback */
3327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxHalfCpltCallback(hspi);
3329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxHalfCpltCallback(hspi);
3331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half receive process complete callback
3336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
ARM GAS /tmp/ccZ0BHQJ.s page 60
3337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma)
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx half complete callback */
3345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxHalfCpltCallback(hspi);
3347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxHalfCpltCallback(hspi);
3349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI half transmit receive process complete callback.
3354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx half complete callback */
3363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxHalfCpltCallback(hspi);
3365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxHalfCpltCallback(hspi);
3367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI communication error callback.
3372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
3373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for the specified DMA module.
3374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma)
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3379:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Stop the disable DMA transfer on SPI side */
3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
3382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccZ0BHQJ.s page 61
3394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI communication abort callback, when initiated by HAL services on Error
3395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
3406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI Tx communication abort callback, when initiated by user
3415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3416: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
3417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * Abort still ongoing for Rx DMA Handle.
3418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Tx DMA Request */
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
3429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
3431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
3440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx != NULL)
3446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmarx->XferAbortCallback != NULL)
3448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 62
3451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check no error during Abort procedure */
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3459:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
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 **** /* Clear the Error flags in the SR register */
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
3467:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3471:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Abort complete callback */
3472:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3476:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3479:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief DMA SPI Rx communication abort callback, when initiated by user
3481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3482: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
3483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * Abort still ongoing for Tx DMA Handle.
3484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hdma DMA handle.
3485:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3487:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3493:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
3495:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable Rx DMA Request */
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
3498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3499:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick())
3501:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
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 **** /* Empty the FRLVL fifo */
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
3507:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 63
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
3509:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3510:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3511:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx != NULL)
3513:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->hdmatx->XferAbortCallback != NULL)
3515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3520:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check no error during Abort procedure */
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3526:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3527:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset errorCode */
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
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 **** /* Clear the Error flags in the SR register */
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
3534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Restore hspi->State to Ready */
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3538:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Abort complete callback */
3539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3546:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3551:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount > 1U)
3556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
3561:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set RX Fifo threshold according the reception data length: 8bit */
3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
3564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 64
3565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3566:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 8 Bit mode */
3567:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = *((__IO uint8_t *)&hspi->Instance->DR);
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3573:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check end of the reception */
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3579:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD);
3581:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BITCRC;
3582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3584:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3590:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3595:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3596:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3604:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
3606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3609:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */
3611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3612:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3614:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize--;
3616:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check end of the reception */
3618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->CRCSize == 0U)
3619:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3620:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
ARM GAS /tmp/ccZ0BHQJ.s page 65
3622:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3626:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3627:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3628:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3629:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3630:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3631:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3632:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx 8-bit handler for Transmit and Receive in Interrupt mode.
3633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3634:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3635:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3639:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount >= 2U)
3641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
3645:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3646:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
3647:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
3648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3654:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transmission */
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3657:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3658:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3659:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3660:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3663:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3664:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3668:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3670:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3672:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3674:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3677:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
ARM GAS /tmp/ccZ0BHQJ.s page 66
3679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode.
3680:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3682:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3683:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3693:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3694:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BITCRC;
3697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3699:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3700:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE interrupt */
3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3703:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3708:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3712:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3713:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive for Transmit and Receive in Interrupt mode.
3714:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3720:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3721:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3722:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */
3723:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3724:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3726:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE interrupt */
3728:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3731:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3732:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3733:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3735:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode.
ARM GAS /tmp/ccZ0BHQJ.s page 67
3736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3737:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3742:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3749:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3751:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3752:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3753:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3754:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3759:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3760:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3761:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE interrupt */
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3763:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3767:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3768:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3773:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 8-bit receive in Interrupt context.
3774:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3779:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
3781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
3782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3783:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
3784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
3785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */
3786:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
3787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3788:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
3789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->CRCSize--;
3791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3792:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->CRCSize == 0U)
ARM GAS /tmp/ccZ0BHQJ.s page 68
3793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3794:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3796:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3799:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the receive 8-bit in Interrupt context.
3801:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3803:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3812:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3814:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3818:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BITCRC;
3825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3826:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3829:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3832:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3833:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive in Interrupt context.
3835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3840:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3841:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t tmpreg = 0U;
3842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */
3844:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR);
3845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
3846:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg);
3847:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3849:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
ARM GAS /tmp/ccZ0BHQJ.s page 69
3850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3855:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3856:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Manage the 16-bit receive in Interrupt context.
3857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
3866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3869:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3871:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3872:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3873:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3874:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3876:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3877:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BITCRC;
3881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
3882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the data 8-bit transmit in Interrupt mode.
3890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3894:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
ARM GAS /tmp/ccZ0BHQJ.s page 70
3907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the data 16-bit transmit in Interrupt mode.
3915:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3916:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
3918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3919:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
3925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3928:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3930:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Enable CRC Transmission */
3932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3938:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
3940:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI Communication Timeout.
3941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
3943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Flag SPI flag to check
3944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param State flag state to check
3945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
3946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
3947:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
3948:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
3949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
3950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
3951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
29 .loc 1 3951 1 view -0
30 .cfi_startproc
31 @ args = 4, pretend = 0, frame = 8
32 @ frame_needed = 0, uses_anonymous_args = 0
33 .loc 1 3951 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
ARM GAS /tmp/ccZ0BHQJ.s page 71
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
3952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
50 .loc 1 3952 3 is_stmt 1 view .LVU2
3953:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_timeout;
51 .loc 1 3953 3 view .LVU3
3954:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_tickstart;
52 .loc 1 3954 3 view .LVU4
3955:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Adjust Timeout value in case of end of transfer */
3957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = Timeout - (HAL_GetTick() - Tickstart);
53 .loc 1 3957 3 view .LVU5
54 .loc 1 3957 30 is_stmt 0 view .LVU6
55 000e FFF7FEFF bl HAL_GetTick
56 .LVL1:
57 .loc 1 3957 44 discriminator 1 view .LVU7
58 0012 0A9B ldr r3, [sp, #40]
59 0014 1B1A subs r3, r3, r0
60 .loc 1 3957 17 discriminator 1 view .LVU8
61 0016 03EB0609 add r9, r3, r6
62 .LVL2:
3958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_tickstart = HAL_GetTick();
63 .loc 1 3958 3 is_stmt 1 view .LVU9
64 .loc 1 3958 19 is_stmt 0 view .LVU10
65 001a FFF7FEFF bl HAL_GetTick
66 .LVL3:
67 001e 8246 mov r10, r0
68 .LVL4:
3959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
3961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U);
69 .loc 1 3961 3 is_stmt 1 view .LVU11
70 .loc 1 3961 43 is_stmt 0 view .LVU12
71 0020 284B ldr r3, .L16
72 0022 1B68 ldr r3, [r3]
73 .loc 1 3961 50 view .LVU13
74 0024 C3F3CB33 ubfx r3, r3, #15, #12
75 .loc 1 3961 23 view .LVU14
76 0028 09FB03F3 mul r3, r9, r3
77 .loc 1 3961 9 view .LVU15
78 002c 0193 str r3, [sp, #4]
3962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
79 .loc 1 3963 3 is_stmt 1 view .LVU16
80 .LVL5:
81 .L3:
82 .loc 1 3963 57 view .LVU17
83 .loc 1 3963 11 is_stmt 0 view .LVU18
84 002e 2B68 ldr r3, [r5]
85 0030 9C68 ldr r4, [r3, #8]
ARM GAS /tmp/ccZ0BHQJ.s page 72
86 .loc 1 3963 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 3963 57 view .LVU20
92 003c BB42 cmp r3, r7
93 003e 3DD0 beq .L12
3964:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3965:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY)
94 .loc 1 3965 5 is_stmt 1 view .LVU21
95 .loc 1 3965 8 is_stmt 0 view .LVU22
96 0040 B6F1FF3F cmp r6, #-1
97 0044 F3D0 beq .L3
3966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
98 .loc 1 3967 7 is_stmt 1 view .LVU23
99 .loc 1 3967 13 is_stmt 0 view .LVU24
100 0046 FFF7FEFF bl HAL_GetTick
101 .LVL6:
102 .loc 1 3967 27 discriminator 1 view .LVU25
103 004a A0EB0A00 sub r0, r0, r10
104 .loc 1 3967 10 discriminator 1 view .LVU26
105 004e 4845 cmp r0, r9
106 0050 07D2 bcs .L13
3968:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared
3970:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master
3971:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and slave for their respective CRC calculation */
3972:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
3975:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
3978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3981:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3985:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
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 **** hspi->State = HAL_SPI_STATE_READY;
3990:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3991:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
3993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
3995:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3996:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
3997:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
107 .loc 1 3997 7 is_stmt 1 view .LVU27
108 .loc 1 3997 17 is_stmt 0 view .LVU28
ARM GAS /tmp/ccZ0BHQJ.s page 73
109 0052 019A ldr r2, [sp, #4]
110 .loc 1 3997 10 view .LVU29
111 0054 02B1 cbz r2, .L9
112 0056 4A46 mov r2, r9
113 .L9:
114 .LVL7:
3998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = 0U;
4000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4001:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
115 .loc 1 4001 7 is_stmt 1 view .LVU30
116 .loc 1 4001 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]
120 005e 9146 mov r9, r2
121 0060 E5E7 b .L3
122 .LVL8:
123 .L13:
3974:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
124 .loc 1 3974 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]
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
129 .loc 1 3976 9 view .LVU33
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
130 .loc 1 3976 24 is_stmt 0 view .LVU34
131 006c 6B68 ldr r3, [r5, #4]
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
132 .loc 1 3976 12 view .LVU35
133 006e B3F5827F cmp r3, #260
134 0072 0BD0 beq .L14
135 .L5:
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
136 .loc 1 3984 9 is_stmt 1 view .LVU36
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
137 .loc 1 3984 23 is_stmt 0 view .LVU37
138 0074 AB6A ldr r3, [r5, #40]
3984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
139 .loc 1 3984 12 view .LVU38
140 0076 B3F5005F cmp r3, #8192
141 007a 14D0 beq .L15
142 .L7:
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
143 .loc 1 3986 11 is_stmt 1 discriminator 1 view .LVU39
3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
144 .loc 1 3989 9 view .LVU40
3989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
145 .loc 1 3989 21 is_stmt 0 view .LVU41
146 007c 0123 movs r3, #1
147 007e 85F85D30 strb r3, [r5, #93]
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
148 .loc 1 3992 9 is_stmt 1 view .LVU42
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
149 .loc 1 3992 9 view .LVU43
ARM GAS /tmp/ccZ0BHQJ.s page 74
150 0082 0023 movs r3, #0
151 0084 85F85C30 strb r3, [r5, #92]
3992:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
152 .loc 1 3992 9 view .LVU44
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
153 .loc 1 3994 9 view .LVU45
3994:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
154 .loc 1 3994 16 is_stmt 0 view .LVU46
155 0088 0320 movs r0, #3
156 008a 18E0 b .L8
157 .L14:
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
158 .loc 1 3976 65 discriminator 1 view .LVU47
159 008c AB68 ldr r3, [r5, #8]
3976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
160 .loc 1 3976 50 discriminator 1 view .LVU48
161 008e B3F5004F cmp r3, #32768
162 0092 02D0 beq .L6
3977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
163 .loc 1 3977 54 view .LVU49
164 0094 B3F5806F cmp r3, #1024
165 0098 ECD1 bne .L5
166 .L6:
3980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
167 .loc 1 3980 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:
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
174 .loc 1 3986 11 view .LVU51
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
175 .loc 1 3986 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]
3986:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
180 .loc 1 3986 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:
4002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4004:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4005:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
187 .loc 1 4005 10 is_stmt 0 view .LVU54
188 00bc 0020 movs r0, #0
189 .L8:
4006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
190 .loc 1 4006 1 view .LVU55
191 00be 02B0 add sp, sp, #8
ARM GAS /tmp/ccZ0BHQJ.s page 75
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 4006 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
208 .thumb_func
210 SPI_WaitFifoStateUntilTimeout:
211 .LVL10:
212 .LFB178:
4007:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4009:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle SPI FIFO Communication Timeout.
4010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4011:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Fifo Fifo to check
4013:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param State Fifo state to check
4014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4017:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint
4019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
4020:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
213 .loc 1 4020 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 4020 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
4021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
234 .loc 1 4021 3 is_stmt 1 view .LVU59
4022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_timeout;
ARM GAS /tmp/ccZ0BHQJ.s page 76
235 .loc 1 4022 3 view .LVU60
4023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_tickstart;
236 .loc 1 4023 3 view .LVU61
4024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t *ptmpreg8;
237 .loc 1 4024 3 view .LVU62
4025:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0;
238 .loc 1 4025 3 view .LVU63
239 .loc 1 4025 17 is_stmt 0 view .LVU64
240 000e 0023 movs r3, #0
241 .LVL11:
242 .loc 1 4025 17 view .LVU65
243 0010 8DF80330 strb r3, [sp, #3]
4026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Adjust Timeout value in case of end of transfer */
4028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = Timeout - (HAL_GetTick() - Tickstart);
244 .loc 1 4028 3 is_stmt 1 view .LVU66
245 .loc 1 4028 28 is_stmt 0 view .LVU67
246 0014 FFF7FEFF bl HAL_GetTick
247 .LVL12:
248 .loc 1 4028 42 discriminator 1 view .LVU68
249 0018 0A9B ldr r3, [sp, #40]
250 001a 1B1A subs r3, r3, r0
251 .loc 1 4028 15 discriminator 1 view .LVU69
252 001c 03EB0708 add r8, r3, r7
253 .LVL13:
4029:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_tickstart = HAL_GetTick();
254 .loc 1 4029 3 is_stmt 1 view .LVU70
255 .loc 1 4029 19 is_stmt 0 view .LVU71
256 0020 FFF7FEFF bl HAL_GetTick
257 .LVL14:
258 0024 8146 mov r9, r0
259 .LVL15:
4030:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */
4032:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR;
260 .loc 1 4032 3 is_stmt 1 view .LVU72
261 .loc 1 4032 35 is_stmt 0 view .LVU73
262 0026 D6F800A0 ldr r10, [r6]
263 .LVL16:
4033:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4034:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */
4035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = tmp_timeout * ((SystemCoreClock * 35U) >> 20U);
264 .loc 1 4035 3 is_stmt 1 view .LVU74
265 .loc 1 4035 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 4035 50 view .LVU76
271 0036 1B0D lsrs r3, r3, #20
272 .loc 1 4035 23 view .LVU77
273 0038 08FB03F3 mul r3, r8, r3
274 .loc 1 4035 9 view .LVU78
275 003c 0193 str r3, [sp, #4]
4036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** while ((hspi->Instance->SR & Fifo) != State)
276 .loc 1 4037 3 is_stmt 1 view .LVU79
ARM GAS /tmp/ccZ0BHQJ.s page 77
277 .loc 1 4037 9 is_stmt 0 view .LVU80
278 003e 02E0 b .L21
279 .LVL17:
280 .L20:
4038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY))
4040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4041:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Flush Data Register by a blank read */
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmpreg8 = *ptmpreg8;
4043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** UNUSED(tmpreg8);
4045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4046:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY)
281 .loc 1 4047 5 is_stmt 1 view .LVU81
282 .loc 1 4047 8 is_stmt 0 view .LVU82
283 0040 B7F1FF3F cmp r7, #-1
284 0044 12D1 bne .L30
285 .L21:
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
286 .loc 1 4037 38 is_stmt 1 view .LVU83
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
287 .loc 1 4037 15 is_stmt 0 view .LVU84
288 0046 3368 ldr r3, [r6]
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
289 .loc 1 4037 25 view .LVU85
290 0048 9B68 ldr r3, [r3, #8]
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
291 .loc 1 4037 30 view .LVU86
292 004a 03EA040C and ip, r3, r4
4037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
293 .loc 1 4037 38 view .LVU87
294 004e AC45 cmp ip, r5
295 0050 47D0 beq .L31
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
296 .loc 1 4039 5 is_stmt 1 view .LVU88
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
297 .loc 1 4039 8 is_stmt 0 view .LVU89
298 0052 B4F5C06F cmp r4, #1536
299 0056 F3D1 bne .L20
4039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
300 .loc 1 4039 32 discriminator 1 view .LVU90
301 0058 002D cmp r5, #0
302 005a F1D1 bne .L20
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
303 .loc 1 4042 7 is_stmt 1 view .LVU91
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
304 .loc 1 4042 17 is_stmt 0 view .LVU92
305 005c 9AF80C30 ldrb r3, [r10, #12] @ zero_extendqisi2
306 0060 DBB2 uxtb r3, r3
4042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* To avoid GCC warning */
307 .loc 1 4042 15 view .LVU93
308 0062 8DF80330 strb r3, [sp, #3]
4044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
309 .loc 1 4044 7 is_stmt 1 view .LVU94
310 0066 9DF80330 ldrb r3, [sp, #3] @ zero_extendqisi2
311 006a E9E7 b .L20
ARM GAS /tmp/ccZ0BHQJ.s page 78
312 .L30:
4048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U))
313 .loc 1 4049 7 view .LVU95
314 .loc 1 4049 13 is_stmt 0 view .LVU96
315 006c FFF7FEFF bl HAL_GetTick
316 .LVL18:
317 .loc 1 4049 27 discriminator 1 view .LVU97
318 0070 A0EB0900 sub r0, r0, r9
319 .loc 1 4049 10 discriminator 1 view .LVU98
320 0074 4045 cmp r0, r8
321 0076 07D2 bcs .L32
4050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared
4052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master
4053:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** and slave for their respective CRC calculation */
4054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
4057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
4060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4061:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
4063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4064:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset CRC Calculation */
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
4067:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_RESET_CRC(hspi);
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 **** hspi->State = HAL_SPI_STATE_READY;
4072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Unlocked */
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_UNLOCK(hspi);
4075:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced
4079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
322 .loc 1 4079 7 is_stmt 1 view .LVU99
323 .loc 1 4079 17 is_stmt 0 view .LVU100
324 0078 019A ldr r2, [sp, #4]
325 .loc 1 4079 10 view .LVU101
326 007a 02B1 cbz r2, .L27
327 007c 4246 mov r2, r8
328 .L27:
329 .LVL19:
4080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4081:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_timeout = 0U;
4082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
330 .loc 1 4083 7 is_stmt 1 view .LVU102
331 .loc 1 4083 12 is_stmt 0 view .LVU103
332 007e 019B ldr r3, [sp, #4]
ARM GAS /tmp/ccZ0BHQJ.s page 79
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:
4056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
339 .loc 1 4056 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]
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
344 .loc 1 4058 9 view .LVU105
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
345 .loc 1 4058 24 is_stmt 0 view .LVU106
346 0092 7368 ldr r3, [r6, #4]
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
347 .loc 1 4058 12 view .LVU107
348 0094 B3F5827F cmp r3, #260
349 0098 0BD0 beq .L33
350 .L23:
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
351 .loc 1 4066 9 is_stmt 1 view .LVU108
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
352 .loc 1 4066 23 is_stmt 0 view .LVU109
353 009a B36A ldr r3, [r6, #40]
4066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
354 .loc 1 4066 12 view .LVU110
355 009c B3F5005F cmp r3, #8192
356 00a0 14D0 beq .L34
357 .L25:
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
358 .loc 1 4068 11 is_stmt 1 discriminator 1 view .LVU111
4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
359 .loc 1 4071 9 view .LVU112
4071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
360 .loc 1 4071 21 is_stmt 0 view .LVU113
361 00a2 0123 movs r3, #1
362 00a4 86F85D30 strb r3, [r6, #93]
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
363 .loc 1 4074 9 is_stmt 1 view .LVU114
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
364 .loc 1 4074 9 view .LVU115
365 00a8 0023 movs r3, #0
366 00aa 86F85C30 strb r3, [r6, #92]
4074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
367 .loc 1 4074 9 view .LVU116
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
368 .loc 1 4076 9 view .LVU117
4076:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
369 .loc 1 4076 16 is_stmt 0 view .LVU118
370 00ae 0320 movs r0, #3
371 00b0 18E0 b .L26
372 .L33:
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
373 .loc 1 4058 65 discriminator 1 view .LVU119
ARM GAS /tmp/ccZ0BHQJ.s page 80
374 00b2 B368 ldr r3, [r6, #8]
4058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
375 .loc 1 4058 50 discriminator 1 view .LVU120
376 00b4 B3F5004F cmp r3, #32768
377 00b8 02D0 beq .L24
4059:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
378 .loc 1 4059 54 view .LVU121
379 00ba B3F5806F cmp r3, #1024
380 00be ECD1 bne .L23
381 .L24:
4062:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
382 .loc 1 4062 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
386 00c8 1360 str r3, [r2]
387 00ca E6E7 b .L23
388 .L34:
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
389 .loc 1 4068 11 view .LVU123
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
390 .loc 1 4068 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]
4068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
395 .loc 1 4068 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:
4084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4085:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
402 .loc 1 4087 10 is_stmt 0 view .LVU126
403 00e2 0020 movs r0, #0
404 .L26:
4088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
405 .loc 1 4088 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 4088 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
ARM GAS /tmp/ccZ0BHQJ.s page 81
421 .syntax unified
422 .thumb
423 .thumb_func
425 SPI_EndRxTxTransaction:
426 .LVL22:
427 .LFB180:
4089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4090:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the check of the RX transaction complete.
4092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4093:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
4099:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
4102:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI peripheral */
4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
4105:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
4109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4113:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
4116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) !=
4119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4123:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4124:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
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 **** * @brief Handle the check of the RXTX or TX transaction complete.
4129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi SPI handle
4130:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Timeout Timeout duration
4131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param Tickstart tick start value
4132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval HAL status
4133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4134:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
4135:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
428 .loc 1 4135 1 is_stmt 1 view -0
429 .cfi_startproc
430 @ args = 0, pretend = 0, frame = 0
431 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccZ0BHQJ.s page 82
432 .loc 1 4135 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
4136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control if the TX fifo is empty */
4137: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 4137 3 is_stmt 1 view .LVU131
445 .loc 1 4137 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 4137 7 view .LVU133
451 0010 4FF4C051 mov r1, #6144
452 .LVL24:
453 .loc 1 4137 7 view .LVU134
454 0014 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
455 .LVL25:
456 .loc 1 4137 6 discriminator 1 view .LVU135
457 0018 B0B9 cbnz r0, .L42
4138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4143:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4144:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
458 .loc 1 4144 3 is_stmt 1 view .LVU136
459 .loc 1 4144 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 4144 6 discriminator 1 view .LVU138
468 0028 A8B9 cbnz r0, .L43
4145:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
4148:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4149:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4150:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control if the RX fifo is empty */
4151: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 4151 3 is_stmt 1 view .LVU139
470 .loc 1 4151 7 is_stmt 0 view .LVU140
471 002a 0096 str r6, [sp]
472 002c 2B46 mov r3, r5
ARM GAS /tmp/ccZ0BHQJ.s page 83
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 4151 6 discriminator 1 view .LVU141
479 003a 50B1 cbz r0, .L39
4152:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4153:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
480 .loc 1 4153 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]
4154:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
484 .loc 1 4154 5 view .LVU143
485 .loc 1 4154 12 is_stmt 0 view .LVU144
486 0044 0320 movs r0, #3
487 0046 04E0 b .L39
488 .L42:
4139:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
489 .loc 1 4139 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]
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
493 .loc 1 4140 5 view .LVU146
4140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
494 .loc 1 4140 12 is_stmt 0 view .LVU147
495 0050 0320 movs r0, #3
496 .L39:
4155:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_OK;
4158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
497 .loc 1 4158 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
4146:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
506 .loc 1 4146 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]
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
510 .loc 1 4147 5 view .LVU150
4147:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
511 .loc 1 4147 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
ARM GAS /tmp/ccZ0BHQJ.s page 84
518 .align 1
519 .syntax unified
520 .thumb
521 .thumb_func
523 SPI_EndRxTransaction:
524 .LVL29:
525 .LFB179:
4099: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 4099 1 is_stmt 1 view -0
527 .cfi_startproc
528 @ args = 0, pretend = 0, frame = 0
529 @ frame_needed = 0, uses_anonymous_args = 0
4099: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 4099 1 is_stmt 0 view .LVU153
531 0000 70B5 push {r4, r5, r6, lr}
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
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
542 .loc 1 4100 3 is_stmt 1 view .LVU154
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
543 .loc 1 4100 18 is_stmt 0 view .LVU155
544 000a 4368 ldr r3, [r0, #4]
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
545 .loc 1 4100 6 view .LVU156
546 000c B3F5827F cmp r3, #260
547 0010 0DD0 beq .L51
548 .LVL30:
549 .L45:
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
550 .loc 1 4108 3 is_stmt 1 view .LVU157
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
551 .loc 1 4108 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:
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
557 .loc 1 4108 7 view .LVU159
558 001a 2046 mov r0, r4
559 .LVL32:
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
560 .loc 1 4108 7 view .LVU160
561 001c FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
562 .LVL33:
4108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
563 .loc 1 4108 6 discriminator 1 view .LVU161
564 0020 90B9 cbnz r0, .L52
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
ARM GAS /tmp/ccZ0BHQJ.s page 85
565 .loc 1 4114 3 is_stmt 1 view .LVU162
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
566 .loc 1 4114 18 is_stmt 0 view .LVU163
567 0022 6368 ldr r3, [r4, #4]
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
568 .loc 1 4114 6 view .LVU164
569 0024 B3F5827F cmp r3, #260
570 0028 14D0 beq .L53
571 .L48:
4125:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
572 .loc 1 4125 1 view .LVU165
573 002a 02B0 add sp, sp, #8
574 .cfi_remember_state
575 .cfi_def_cfa_offset 16
576 @ sp needed
577 002c 70BD pop {r4, r5, r6, pc}
578 .LVL34:
579 .L51:
580 .cfi_restore_state
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
581 .loc 1 4100 59 discriminator 1 view .LVU166
582 002e 8368 ldr r3, [r0, #8]
4100:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
583 .loc 1 4100 44 discriminator 1 view .LVU167
584 0030 B3F5004F cmp r3, #32768
585 0034 02D0 beq .L46
4101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
586 .loc 1 4101 48 view .LVU168
587 0036 B3F5806F cmp r3, #1024
588 003a EAD1 bne .L45
589 .L46:
4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
590 .loc 1 4104 5 is_stmt 1 view .LVU169
591 003c 2268 ldr r2, [r4]
592 .LVL35:
4104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
593 .loc 1 4104 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:
4110:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
600 .loc 1 4110 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]
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
604 .loc 1 4111 5 view .LVU172
4111:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
605 .loc 1 4111 12 is_stmt 0 view .LVU173
606 0050 0320 movs r0, #3
607 0052 EAE7 b .L48
608 .L53:
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
609 .loc 1 4114 59 discriminator 1 view .LVU174
ARM GAS /tmp/ccZ0BHQJ.s page 86
610 0054 A368 ldr r3, [r4, #8]
4114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
611 .loc 1 4114 44 discriminator 1 view .LVU175
612 0056 B3F5004F cmp r3, #32768
613 005a 02D0 beq .L49
4115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
614 .loc 1 4115 48 view .LVU176
615 005c B3F5806F cmp r3, #1024
616 0060 E3D1 bne .L48
617 .L49:
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
618 .loc 1 4118 5 is_stmt 1 view .LVU177
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
619 .loc 1 4118 9 is_stmt 0 view .LVU178
620 0062 0096 str r6, [sp]
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:
4118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
627 .loc 1 4118 8 discriminator 1 view .LVU179
628 0072 0028 cmp r0, #0
629 0074 D9D0 beq .L48
4120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return HAL_TIMEOUT;
630 .loc 1 4120 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]
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
634 .loc 1 4121 7 view .LVU181
4121:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
635 .loc 1 4121 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:
4159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4160:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4161:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the RXTX transaction.
4162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4164:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4165:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi)
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
4169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 87
4170:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management */
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
4172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable ERR interrupt */
4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
4175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
4178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4181:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4183:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
4184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
4185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4187:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4188:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error 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->ErrorCallback(hspi);
4192:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4193:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(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 **** #endif /* USE_SPI_CRC */
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
4200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
4202:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4206:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
4207:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
4209:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4210:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4211:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
4215:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4216:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
4217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
4219:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
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 **** else
4223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
ARM GAS /tmp/ccZ0BHQJ.s page 88
4227:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4228:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4230:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4231:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4234:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the RX transaction.
4239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4240:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi)
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4245:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
4247:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
4250:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4252:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4254:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4255:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check if CRC error occurred */
4257:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
4258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
4260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
4261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4264:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4267:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4268:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4269:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4270:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
4272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
4276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
4278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4279:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
ARM GAS /tmp/ccZ0BHQJ.s page 89
4284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
4290:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4291:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4294:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle the end of the TX transaction.
4296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4300:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi)
4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
4303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Init tickstart for timeout management*/
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tickstart = HAL_GetTick();
4306:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXE and ERR interrupt */
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
4309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the end of the transaction */
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
4312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
4314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
4318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
4320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
4324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
4326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCallback(hspi);
4328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
4330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** else
4333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
4335:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
4336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
4337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #else
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
4339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4340:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 90
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4343:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle abort a Rx transaction.
4345:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4347:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4349:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi)
4350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
650 .loc 1 4350 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 4350 1 is_stmt 0 view .LVU184
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
4351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
662 .loc 1 4351 3 is_stmt 1 view .LVU185
4352:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4353:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
4354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
663 .loc 1 4354 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]
4355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
668 .loc 1 4356 3 view .LVU187
669 .loc 1 4356 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 4356 31 view .LVU189
676 001c 6422 movs r2, #100
677 001e 02FB03F3 mul r3, r2, r3
678 .loc 1 4356 9 view .LVU190
679 0022 0393 str r3, [sp, #12]
4357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNEIE interrupt */
4359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
680 .loc 1 4359 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:
4360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNEIE is disabled */
ARM GAS /tmp/ccZ0BHQJ.s page 91
4362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
686 .loc 1 4362 3 view .LVU192
4363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4364:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
687 .loc 1 4364 5 view .LVU193
688 .loc 1 4364 15 is_stmt 0 view .LVU194
689 002e 039B ldr r3, [sp, #12]
690 .loc 1 4364 8 view .LVU195
691 0030 43B1 cbz r3, .L61
4365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
692 .loc 1 4369 5 is_stmt 1 view .LVU196
693 .loc 1 4369 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]
4370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
697 .loc 1 4370 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:
4366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
704 .loc 1 4366 7 view .LVU199
705 0044 236E ldr r3, [r4, #96]
706 0046 43F04003 orr r3, r3, #64
707 004a 2366 str r3, [r4, #96]
4367:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
708 .loc 1 4367 7 view .LVU200
709 .L56:
4371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4373: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 4373 3 view .LVU201
711 .loc 1 4373 7 is_stmt 0 view .LVU202
712 004c FFF7FEFF bl HAL_GetTick
713 .LVL39:
714 .loc 1 4373 7 discriminator 1 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 4373 6 discriminator 2 view .LVU204
723 005e 08B1 cbz r0, .L58
4374:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
724 .loc 1 4375 5 is_stmt 1 view .LVU205
725 .loc 1 4375 21 is_stmt 0 view .LVU206
726 0060 4023 movs r3, #64
ARM GAS /tmp/ccZ0BHQJ.s page 92
727 0062 2366 str r3, [r4, #96]
728 .L58:
4376:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4379: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 4379 3 is_stmt 1 view .LVU207
730 .loc 1 4379 7 is_stmt 0 view .LVU208
731 0064 FFF7FEFF bl HAL_GetTick
732 .LVL41:
733 .loc 1 4379 7 discriminator 1 view .LVU209
734 0068 0090 str r0, [sp]
735 006a 6423 movs r3, #100
736 006c 0022 movs r2, #0
737 006e 4FF4C061 mov r1, #1536
738 0072 2046 mov r0, r4
739 0074 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
740 .LVL42:
741 .loc 1 4379 6 discriminator 2 view .LVU210
742 0078 08B1 cbz r0, .L59
4380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
743 .loc 1 4381 5 is_stmt 1 view .LVU211
744 .loc 1 4381 21 is_stmt 0 view .LVU212
745 007a 4023 movs r3, #64
746 007c 2366 str r3, [r4, #96]
747 .L59:
4382:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
748 .loc 1 4384 3 is_stmt 1 view .LVU213
749 .loc 1 4384 15 is_stmt 0 view .LVU214
750 007e 0723 movs r3, #7
751 0080 84F85D30 strb r3, [r4, #93]
4385:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
752 .loc 1 4385 1 view .LVU215
753 0084 04B0 add sp, sp, #16
754 .cfi_def_cfa_offset 8
755 @ sp needed
756 0086 10BD pop {r4, pc}
757 .LVL43:
758 .L63:
759 .loc 1 4385 1 view .LVU216
760 .align 2
761 .L62:
762 0088 00000000 .word SystemCoreClock
763 008c F1197605 .word 91625969
764 .cfi_endproc
765 .LFE184:
767 .section .text.SPI_AbortTx_ISR,"ax",%progbits
768 .align 1
769 .syntax unified
770 .thumb
771 .thumb_func
773 SPI_AbortTx_ISR:
774 .LVL44:
775 .LFB185:
ARM GAS /tmp/ccZ0BHQJ.s page 93
4386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4387:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /**
4388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @brief Handle abort a Tx or Rx/Tx transaction.
4389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
4390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * the configuration information for SPI module.
4391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** * @retval None
4392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** */
4393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi)
4394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
776 .loc 1 4394 1 is_stmt 1 view -0
777 .cfi_startproc
778 @ args = 0, pretend = 0, frame = 8
779 @ frame_needed = 0, uses_anonymous_args = 0
780 .loc 1 4394 1 is_stmt 0 view .LVU218
781 0000 10B5 push {r4, lr}
782 .cfi_def_cfa_offset 8
783 .cfi_offset 4, -8
784 .cfi_offset 14, -4
785 0002 84B0 sub sp, sp, #16
786 .cfi_def_cfa_offset 24
787 0004 0446 mov r4, r0
4395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
788 .loc 1 4395 3 is_stmt 1 view .LVU219
4396:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
789 .loc 1 4397 3 view .LVU220
790 .loc 1 4397 56 is_stmt 0 view .LVU221
791 0006 384B ldr r3, .L78
792 0008 1B68 ldr r3, [r3]
793 000a 384A ldr r2, .L78+4
794 000c A2FB0323 umull r2, r3, r2, r3
795 0010 5B0A lsrs r3, r3, #9
796 .loc 1 4397 31 view .LVU222
797 0012 6422 movs r2, #100
798 0014 02FB03F3 mul r3, r2, r3
799 .loc 1 4397 9 view .LVU223
800 0018 0393 str r3, [sp, #12]
4398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable TXEIE interrupt */
4400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE));
801 .loc 1 4400 3 is_stmt 1 view .LVU224
802 001a 0268 ldr r2, [r0]
803 001c 5368 ldr r3, [r2, #4]
804 001e 23F08003 bic r3, r3, #128
805 0022 5360 str r3, [r2, #4]
806 .L67:
4401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check TXEIE is disabled */
4403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
807 .loc 1 4403 3 view .LVU225
4404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
808 .loc 1 4405 5 view .LVU226
809 .loc 1 4405 15 is_stmt 0 view .LVU227
810 0024 039B ldr r3, [sp, #12]
811 .loc 1 4405 8 view .LVU228
812 0026 43B1 cbz r3, .L76
ARM GAS /tmp/ccZ0BHQJ.s page 94
4406:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
813 .loc 1 4410 5 is_stmt 1 view .LVU229
814 .loc 1 4410 10 is_stmt 0 view .LVU230
815 0028 039B ldr r3, [sp, #12]
816 002a 013B subs r3, r3, #1
817 002c 0393 str r3, [sp, #12]
4411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE));
818 .loc 1 4411 12 is_stmt 1 view .LVU231
819 002e 2368 ldr r3, [r4]
820 0030 5B68 ldr r3, [r3, #4]
821 0032 13F0800F tst r3, #128
822 0036 F5D1 bne .L67
823 0038 03E0 b .L66
824 .L76:
4407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
825 .loc 1 4407 7 view .LVU232
826 003a 236E ldr r3, [r4, #96]
827 003c 43F04003 orr r3, r3, #64
828 0040 2366 str r3, [r4, #96]
4408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
829 .loc 1 4408 7 view .LVU233
830 .L66:
4412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
831 .loc 1 4413 3 view .LVU234
832 .loc 1 4413 7 is_stmt 0 view .LVU235
833 0042 FFF7FEFF bl HAL_GetTick
834 .LVL45:
835 .loc 1 4413 7 view .LVU236
836 0046 0246 mov r2, r0
837 .loc 1 4413 7 discriminator 1 view .LVU237
838 0048 6421 movs r1, #100
839 004a 2046 mov r0, r4
840 004c FFF7FEFF bl SPI_EndRxTxTransaction
841 .LVL46:
842 .loc 1 4413 6 discriminator 2 view .LVU238
843 0050 08B1 cbz r0, .L68
4414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4415:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
844 .loc 1 4415 5 is_stmt 1 view .LVU239
845 .loc 1 4415 21 is_stmt 0 view .LVU240
846 0052 4023 movs r3, #64
847 0054 2366 str r3, [r4, #96]
848 .L68:
4416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4417:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable SPI Peripheral */
4419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
849 .loc 1 4419 3 is_stmt 1 view .LVU241
850 0056 2268 ldr r2, [r4]
851 0058 1368 ldr r3, [r2]
852 005a 23F04003 bic r3, r3, #64
853 005e 1360 str r3, [r2]
ARM GAS /tmp/ccZ0BHQJ.s page 95
4420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4421:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, HAL
854 .loc 1 4422 3 view .LVU242
855 .loc 1 4422 7 is_stmt 0 view .LVU243
856 0060 FFF7FEFF bl HAL_GetTick
857 .LVL47:
858 .loc 1 4422 7 discriminator 1 view .LVU244
859 0064 0090 str r0, [sp]
860 0066 6423 movs r3, #100
861 0068 0022 movs r2, #0
862 006a 4FF4C061 mov r1, #1536
863 006e 2046 mov r0, r4
864 0070 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
865 .LVL48:
866 .loc 1 4422 6 discriminator 2 view .LVU245
867 0074 08B1 cbz r0, .L69
4423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
868 .loc 1 4424 5 is_stmt 1 view .LVU246
869 .loc 1 4424 21 is_stmt 0 view .LVU247
870 0076 4023 movs r3, #64
871 0078 2366 str r3, [r4, #96]
872 .L69:
4425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4427:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check case of Full-Duplex Mode and disable directly RXNEIE interrupt */
4428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
873 .loc 1 4428 3 is_stmt 1 view .LVU248
874 .loc 1 4428 7 is_stmt 0 view .LVU249
875 007a 2368 ldr r3, [r4]
876 007c 5A68 ldr r2, [r3, #4]
877 .loc 1 4428 6 view .LVU250
878 007e 12F0400F tst r2, #64
879 0082 2BD0 beq .L70
4429:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNEIE interrupt */
4431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXNEIE));
880 .loc 1 4431 5 is_stmt 1 view .LVU251
881 0084 5A68 ldr r2, [r3, #4]
882 0086 22F04002 bic r2, r2, #64
883 008a 5A60 str r2, [r3, #4]
884 .L73:
4432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check RXNEIE is disabled */
4434:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** do
885 .loc 1 4434 5 view .LVU252
4435:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (count == 0U)
886 .loc 1 4436 7 view .LVU253
887 .loc 1 4436 17 is_stmt 0 view .LVU254
888 008c 039B ldr r3, [sp, #12]
889 .loc 1 4436 10 view .LVU255
890 008e 43B1 cbz r3, .L77
4437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
ARM GAS /tmp/ccZ0BHQJ.s page 96
4440:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count--;
891 .loc 1 4441 7 is_stmt 1 view .LVU256
892 .loc 1 4441 12 is_stmt 0 view .LVU257
893 0090 039B ldr r3, [sp, #12]
894 0092 013B subs r3, r3, #1
895 0094 0393 str r3, [sp, #12]
4442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE));
896 .loc 1 4442 14 is_stmt 1 view .LVU258
897 0096 2368 ldr r3, [r4]
898 0098 5B68 ldr r3, [r3, #4]
899 009a 13F0400F tst r3, #64
900 009e F5D1 bne .L73
901 00a0 03E0 b .L72
902 .L77:
4438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
903 .loc 1 4438 9 view .LVU259
904 00a2 236E ldr r3, [r4, #96]
905 00a4 43F04003 orr r3, r3, #64
906 00a8 2366 str r3, [r4, #96]
4439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
907 .loc 1 4439 9 view .LVU260
908 .L72:
4443:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4444:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Control the BSY flag */
4445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, SPI_DEFAULT_TIMEOUT, HAL_GetTick()
909 .loc 1 4445 5 view .LVU261
910 .loc 1 4445 9 is_stmt 0 view .LVU262
911 00aa FFF7FEFF bl HAL_GetTick
912 .LVL49:
913 .loc 1 4445 9 discriminator 1 view .LVU263
914 00ae 0090 str r0, [sp]
915 00b0 6423 movs r3, #100
916 00b2 0022 movs r2, #0
917 00b4 8021 movs r1, #128
918 00b6 2046 mov r0, r4
919 00b8 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
920 .LVL50:
921 .loc 1 4445 8 discriminator 2 view .LVU264
922 00bc 08B1 cbz r0, .L74
4446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
923 .loc 1 4447 7 is_stmt 1 view .LVU265
924 .loc 1 4447 23 is_stmt 0 view .LVU266
925 00be 4023 movs r3, #64
926 00c0 2366 str r3, [r4, #96]
927 .L74:
4448:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4450:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Empty the FRLVL fifo */
4451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_DEFAULT_TIMEOUT, H
928 .loc 1 4451 5 is_stmt 1 view .LVU267
929 .loc 1 4451 9 is_stmt 0 view .LVU268
930 00c2 FFF7FEFF bl HAL_GetTick
931 .LVL51:
932 .loc 1 4451 9 discriminator 1 view .LVU269
933 00c6 0090 str r0, [sp]
ARM GAS /tmp/ccZ0BHQJ.s page 97
934 00c8 6423 movs r3, #100
935 00ca 0022 movs r2, #0
936 00cc 4FF4C061 mov r1, #1536
937 00d0 2046 mov r0, r4
938 00d2 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
939 .LVL52:
940 .loc 1 4451 8 discriminator 2 view .LVU270
941 00d6 08B1 cbz r0, .L70
4452:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4453:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
942 .loc 1 4453 7 is_stmt 1 view .LVU271
943 .loc 1 4453 23 is_stmt 0 view .LVU272
944 00d8 4023 movs r3, #64
945 00da 2366 str r3, [r4, #96]
946 .L70:
4454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4456:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
947 .loc 1 4456 3 is_stmt 1 view .LVU273
948 .loc 1 4456 15 is_stmt 0 view .LVU274
949 00dc 0723 movs r3, #7
950 00de 84F85D30 strb r3, [r4, #93]
4457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
951 .loc 1 4457 1 view .LVU275
952 00e2 04B0 add sp, sp, #16
953 .cfi_def_cfa_offset 8
954 @ sp needed
955 00e4 10BD pop {r4, pc}
956 .LVL53:
957 .L79:
958 .loc 1 4457 1 view .LVU276
959 00e6 00BF .align 2
960 .L78:
961 00e8 00000000 .word SystemCoreClock
962 00ec F1197605 .word 91625969
963 .cfi_endproc
964 .LFE185:
966 .section .text.HAL_SPI_MspInit,"ax",%progbits
967 .align 1
968 .weak HAL_SPI_MspInit
969 .syntax unified
970 .thumb
971 .thumb_func
973 HAL_SPI_MspInit:
974 .LVL54:
975 .LFB132:
534:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
976 .loc 1 534 1 is_stmt 1 view -0
977 .cfi_startproc
978 @ args = 0, pretend = 0, frame = 0
979 @ frame_needed = 0, uses_anonymous_args = 0
980 @ link register save eliminated.
536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
981 .loc 1 536 3 view .LVU278
541:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
982 .loc 1 541 1 is_stmt 0 view .LVU279
983 0000 7047 bx lr
ARM GAS /tmp/ccZ0BHQJ.s page 98
984 .cfi_endproc
985 .LFE132:
987 .section .text.HAL_SPI_Init,"ax",%progbits
988 .align 1
989 .global HAL_SPI_Init
990 .syntax unified
991 .thumb
992 .thumb_func
994 HAL_SPI_Init:
995 .LVL55:
996 .LFB130:
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
997 .loc 1 315 1 is_stmt 1 view -0
998 .cfi_startproc
999 @ args = 0, pretend = 0, frame = 0
1000 @ frame_needed = 0, uses_anonymous_args = 0
316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1001 .loc 1 316 3 view .LVU281
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1002 .loc 1 319 3 view .LVU282
319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1003 .loc 1 319 6 is_stmt 0 view .LVU283
1004 0000 0028 cmp r0, #0
1005 0002 6FD0 beq .L88
315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t frxth;
1006 .loc 1 315 1 view .LVU284
1007 0004 10B5 push {r4, lr}
1008 .cfi_def_cfa_offset 8
1009 .cfi_offset 4, -8
1010 .cfi_offset 14, -4
1011 0006 0446 mov r4, r0
325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
1012 .loc 1 325 3 is_stmt 1 view .LVU285
326:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
1013 .loc 1 326 3 view .LVU286
327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
1014 .loc 1 327 3 view .LVU287
328:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
1015 .loc 1 328 3 view .LVU288
329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
1016 .loc 1 329 3 view .LVU289
330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
1017 .loc 1 330 3 view .LVU290
331:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
1018 .loc 1 331 3 view .LVU291
332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
1019 .loc 1 332 3 view .LVU292
333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
1020 .loc 1 333 3 view .LVU293
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1021 .loc 1 334 3 view .LVU294
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1022 .loc 1 334 17 is_stmt 0 view .LVU295
1023 0008 436A ldr r3, [r0, #36]
334:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1024 .loc 1 334 6 view .LVU296
1025 000a 33B9 cbnz r3, .L83
ARM GAS /tmp/ccZ0BHQJ.s page 99
336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
1026 .loc 1 336 5 is_stmt 1 view .LVU297
337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1027 .loc 1 337 5 view .LVU298
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1028 .loc 1 339 5 view .LVU299
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1029 .loc 1 339 19 is_stmt 0 view .LVU300
1030 000c 4368 ldr r3, [r0, #4]
339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1031 .loc 1 339 8 view .LVU301
1032 000e B3F5827F cmp r3, #260
1033 0012 05D0 beq .L84
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1034 .loc 1 346 7 is_stmt 1 view .LVU302
346:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1035 .loc 1 346 36 is_stmt 0 view .LVU303
1036 0014 0023 movs r3, #0
1037 0016 C361 str r3, [r0, #28]
1038 0018 02E0 b .L84
1039 .L83:
351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1040 .loc 1 351 5 is_stmt 1 view .LVU304
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
1041 .loc 1 354 5 view .LVU305
354:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE;
1042 .loc 1 354 28 is_stmt 0 view .LVU306
1043 001a 0023 movs r3, #0
1044 001c 0361 str r3, [r0, #16]
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1045 .loc 1 355 5 is_stmt 1 view .LVU307
355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1046 .loc 1 355 28 is_stmt 0 view .LVU308
1047 001e 4361 str r3, [r0, #20]
1048 .L84:
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1049 .loc 1 365 3 is_stmt 1 view .LVU309
365:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1050 .loc 1 365 29 is_stmt 0 view .LVU310
1051 0020 0023 movs r3, #0
1052 0022 A362 str r3, [r4, #40]
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1053 .loc 1 368 3 is_stmt 1 view .LVU311
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1054 .loc 1 368 11 is_stmt 0 view .LVU312
1055 0024 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1056 .loc 1 368 6 view .LVU313
1057 0028 002B cmp r3, #0
1058 002a 52D0 beq .L94
1059 .LVL56:
1060 .L85:
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1061 .loc 1 397 3 is_stmt 1 view .LVU314
397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1062 .loc 1 397 15 is_stmt 0 view .LVU315
1063 002c 0223 movs r3, #2
ARM GAS /tmp/ccZ0BHQJ.s page 100
1064 002e 84F85D30 strb r3, [r4, #93]
400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1065 .loc 1 400 3 is_stmt 1 view .LVU316
1066 0032 2268 ldr r2, [r4]
1067 0034 1368 ldr r3, [r2]
1068 0036 23F04003 bic r3, r3, #64
1069 003a 1360 str r3, [r2]
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1070 .loc 1 403 3 view .LVU317
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1071 .loc 1 403 17 is_stmt 0 view .LVU318
1072 003c E368 ldr r3, [r4, #12]
403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1073 .loc 1 403 6 view .LVU319
1074 003e B3F5E06F cmp r3, #1792
1075 0042 4CD9 bls .L89
405:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1076 .loc 1 405 11 view .LVU320
1077 0044 0022 movs r2, #0
1078 .L86:
1079 .LVL57:
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1080 .loc 1 413 3 is_stmt 1 view .LVU321
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1081 .loc 1 413 6 is_stmt 0 view .LVU322
1082 0046 B3F5706F cmp r3, #3840
1083 004a 04D0 beq .L87
413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1084 .loc 1 413 51 discriminator 1 view .LVU323
1085 004c B3F5E06F cmp r3, #1792
1086 0050 01D0 beq .L87
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1087 .loc 1 416 5 is_stmt 1 view .LVU324
416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1088 .loc 1 416 31 is_stmt 0 view .LVU325
1089 0052 0023 movs r3, #0
1090 0054 A362 str r3, [r4, #40]
1091 .L87:
422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) |
1092 .loc 1 422 3 is_stmt 1 view .LVU326
1093 0056 6368 ldr r3, [r4, #4]
1094 0058 03F48273 and r3, r3, #260
1095 005c A168 ldr r1, [r4, #8]
1096 005e 01F40441 and r1, r1, #33792
1097 0062 0B43 orrs r3, r3, r1
1098 0064 2169 ldr r1, [r4, #16]
1099 0066 01F00201 and r1, r1, #2
1100 006a 0B43 orrs r3, r3, r1
1101 006c 6169 ldr r1, [r4, #20]
1102 006e 01F00101 and r1, r1, #1
1103 0072 0B43 orrs r3, r3, r1
1104 0074 A169 ldr r1, [r4, #24]
1105 0076 01F40071 and r1, r1, #512
1106 007a 0B43 orrs r3, r3, r1
1107 007c E169 ldr r1, [r4, #28]
1108 007e 01F03801 and r1, r1, #56
1109 0082 0B43 orrs r3, r3, r1
ARM GAS /tmp/ccZ0BHQJ.s page 101
1110 0084 216A ldr r1, [r4, #32]
1111 0086 01F08001 and r1, r1, #128
1112 008a 0B43 orrs r3, r3, r1
1113 008c A16A ldr r1, [r4, #40]
1114 008e 01F40051 and r1, r1, #8192
1115 0092 2068 ldr r0, [r4]
1116 0094 0B43 orrs r3, r3, r1
1117 0096 0360 str r3, [r0]
457:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** (hspi->Init.TIMode & SPI_CR2_FRF) |
1118 .loc 1 457 3 view .LVU327
1119 0098 638B ldrh r3, [r4, #26]
1120 009a 03F00403 and r3, r3, #4
1121 009e 616A ldr r1, [r4, #36]
1122 00a0 01F01001 and r1, r1, #16
1123 00a4 0B43 orrs r3, r3, r1
1124 00a6 616B ldr r1, [r4, #52]
1125 00a8 01F00801 and r1, r1, #8
1126 00ac 0B43 orrs r3, r3, r1
1127 00ae E168 ldr r1, [r4, #12]
1128 00b0 01F47061 and r1, r1, #3840
1129 00b4 0B43 orrs r3, r3, r1
1130 00b6 2168 ldr r1, [r4]
1131 00b8 1343 orrs r3, r3, r2
1132 00ba 4B60 str r3, [r1, #4]
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
1133 .loc 1 474 3 view .LVU328
1134 00bc 2268 ldr r2, [r4]
1135 .LVL58:
474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
1136 .loc 1 474 3 is_stmt 0 view .LVU329
1137 00be D369 ldr r3, [r2, #28]
1138 00c0 23F40063 bic r3, r3, #2048
1139 00c4 D361 str r3, [r2, #28]
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1140 .loc 1 477 3 is_stmt 1 view .LVU330
477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1141 .loc 1 477 19 is_stmt 0 view .LVU331
1142 00c6 0020 movs r0, #0
1143 00c8 2066 str r0, [r4, #96]
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1144 .loc 1 478 3 is_stmt 1 view .LVU332
478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1145 .loc 1 478 19 is_stmt 0 view .LVU333
1146 00ca 0123 movs r3, #1
1147 00cc 84F85D30 strb r3, [r4, #93]
480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1148 .loc 1 480 3 is_stmt 1 view .LVU334
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1149 .loc 1 481 1 is_stmt 0 view .LVU335
1150 00d0 10BD pop {r4, pc}
1151 .LVL59:
1152 .L94:
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1153 .loc 1 371 5 is_stmt 1 view .LVU336
371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1154 .loc 1 371 16 is_stmt 0 view .LVU337
1155 00d2 84F85C30 strb r3, [r4, #92]
ARM GAS /tmp/ccZ0BHQJ.s page 102
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1156 .loc 1 393 5 is_stmt 1 view .LVU338
1157 00d6 2046 mov r0, r4
1158 .LVL60:
393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1159 .loc 1 393 5 is_stmt 0 view .LVU339
1160 00d8 FFF7FEFF bl HAL_SPI_MspInit
1161 .LVL61:
1162 00dc A6E7 b .L85
1163 .L89:
409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1164 .loc 1 409 11 view .LVU340
1165 00de 4FF48052 mov r2, #4096
1166 00e2 B0E7 b .L86
1167 .LVL62:
1168 .L88:
1169 .cfi_def_cfa_offset 0
1170 .cfi_restore 4
1171 .cfi_restore 14
321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1172 .loc 1 321 12 view .LVU341
1173 00e4 0120 movs r0, #1
1174 .LVL63:
481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1175 .loc 1 481 1 view .LVU342
1176 00e6 7047 bx lr
1177 .cfi_endproc
1178 .LFE130:
1180 .section .text.HAL_SPI_MspDeInit,"ax",%progbits
1181 .align 1
1182 .weak HAL_SPI_MspDeInit
1183 .syntax unified
1184 .thumb
1185 .thumb_func
1187 HAL_SPI_MspDeInit:
1188 .LVL64:
1189 .LFB133:
550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
1190 .loc 1 550 1 is_stmt 1 view -0
1191 .cfi_startproc
1192 @ args = 0, pretend = 0, frame = 0
1193 @ frame_needed = 0, uses_anonymous_args = 0
1194 @ link register save eliminated.
552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1195 .loc 1 552 3 view .LVU344
557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1196 .loc 1 557 1 is_stmt 0 view .LVU345
1197 0000 7047 bx lr
1198 .cfi_endproc
1199 .LFE133:
1201 .section .text.HAL_SPI_DeInit,"ax",%progbits
1202 .align 1
1203 .global HAL_SPI_DeInit
1204 .syntax unified
1205 .thumb
1206 .thumb_func
1208 HAL_SPI_DeInit:
ARM GAS /tmp/ccZ0BHQJ.s page 103
1209 .LVL65:
1210 .LFB131:
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
1211 .loc 1 490 1 is_stmt 1 view -0
1212 .cfi_startproc
1213 @ args = 0, pretend = 0, frame = 0
1214 @ frame_needed = 0, uses_anonymous_args = 0
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1215 .loc 1 492 3 view .LVU347
492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1216 .loc 1 492 6 is_stmt 0 view .LVU348
1217 0000 90B1 cbz r0, .L98
490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Check the SPI handle allocation */
1218 .loc 1 490 1 view .LVU349
1219 0002 10B5 push {r4, lr}
1220 .cfi_def_cfa_offset 8
1221 .cfi_offset 4, -8
1222 .cfi_offset 14, -4
1223 0004 0446 mov r4, r0
498:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1224 .loc 1 498 3 is_stmt 1 view .LVU350
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1225 .loc 1 500 3 view .LVU351
500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1226 .loc 1 500 15 is_stmt 0 view .LVU352
1227 0006 0223 movs r3, #2
1228 0008 80F85D30 strb r3, [r0, #93]
503:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1229 .loc 1 503 3 is_stmt 1 view .LVU353
1230 000c 0268 ldr r2, [r0]
1231 000e 1368 ldr r3, [r2]
1232 0010 23F04003 bic r3, r3, #64
1233 0014 1360 str r3, [r2]
515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1234 .loc 1 515 3 view .LVU354
1235 0016 FFF7FEFF bl HAL_SPI_MspDeInit
1236 .LVL66:
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1237 .loc 1 518 3 view .LVU355
518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1238 .loc 1 518 19 is_stmt 0 view .LVU356
1239 001a 0020 movs r0, #0
1240 001c 2066 str r0, [r4, #96]
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1241 .loc 1 519 3 is_stmt 1 view .LVU357
519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1242 .loc 1 519 15 is_stmt 0 view .LVU358
1243 001e 84F85D00 strb r0, [r4, #93]
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1244 .loc 1 522 3 is_stmt 1 view .LVU359
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1245 .loc 1 522 3 view .LVU360
1246 0022 84F85C00 strb r0, [r4, #92]
522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1247 .loc 1 522 3 view .LVU361
524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1248 .loc 1 524 3 view .LVU362
ARM GAS /tmp/ccZ0BHQJ.s page 104
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1249 .loc 1 525 1 is_stmt 0 view .LVU363
1250 0026 10BD pop {r4, pc}
1251 .LVL67:
1252 .L98:
1253 .cfi_def_cfa_offset 0
1254 .cfi_restore 4
1255 .cfi_restore 14
494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1256 .loc 1 494 12 view .LVU364
1257 0028 0120 movs r0, #1
1258 .LVL68:
525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1259 .loc 1 525 1 view .LVU365
1260 002a 7047 bx lr
1261 .cfi_endproc
1262 .LFE131:
1264 .section .text.HAL_SPI_Transmit,"ax",%progbits
1265 .align 1
1266 .global HAL_SPI_Transmit
1267 .syntax unified
1268 .thumb
1269 .thumb_func
1271 HAL_SPI_Transmit:
1272 .LVL69:
1273 .LFB134:
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1274 .loc 1 822 1 is_stmt 1 view -0
1275 .cfi_startproc
1276 @ args = 0, pretend = 0, frame = 8
1277 @ frame_needed = 0, uses_anonymous_args = 0
822:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1278 .loc 1 822 1 is_stmt 0 view .LVU367
1279 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
1280 .cfi_def_cfa_offset 28
1281 .cfi_offset 4, -28
1282 .cfi_offset 5, -24
1283 .cfi_offset 6, -20
1284 .cfi_offset 7, -16
1285 .cfi_offset 8, -12
1286 .cfi_offset 9, -8
1287 .cfi_offset 14, -4
1288 0004 83B0 sub sp, sp, #12
1289 .cfi_def_cfa_offset 40
1290 0006 1D46 mov r5, r3
823:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1291 .loc 1 823 3 is_stmt 1 view .LVU368
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1292 .loc 1 824 3 view .LVU369
1293 .LVL70:
825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1294 .loc 1 825 3 view .LVU370
828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1295 .loc 1 828 3 view .LVU371
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1296 .loc 1 831 3 view .LVU372
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 105
1297 .loc 1 831 3 view .LVU373
1298 0008 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
1299 .LVL71:
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1300 .loc 1 831 3 is_stmt 0 view .LVU374
1301 000c 012B cmp r3, #1
1302 000e 00F0F480 beq .L130
1303 0012 0446 mov r4, r0
1304 0014 8846 mov r8, r1
1305 0016 9146 mov r9, r2
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1306 .loc 1 831 3 is_stmt 1 discriminator 2 view .LVU375
1307 0018 0123 movs r3, #1
1308 001a 80F85C30 strb r3, [r0, #92]
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1309 .loc 1 831 3 discriminator 2 view .LVU376
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1310 .loc 1 834 3 view .LVU377
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1311 .loc 1 834 15 is_stmt 0 view .LVU378
1312 001e FFF7FEFF bl HAL_GetTick
1313 .LVL72:
834:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1314 .loc 1 834 15 view .LVU379
1315 0022 0746 mov r7, r0
1316 .LVL73:
835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1317 .loc 1 835 3 is_stmt 1 view .LVU380
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1318 .loc 1 837 3 view .LVU381
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1319 .loc 1 837 11 is_stmt 0 view .LVU382
1320 0024 94F85D60 ldrb r6, [r4, #93] @ zero_extendqisi2
1321 0028 F6B2 uxtb r6, r6
837:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1322 .loc 1 837 6 view .LVU383
1323 002a 012E cmp r6, #1
1324 002c 40F0DD80 bne .L131
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1325 .loc 1 843 3 is_stmt 1 view .LVU384
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1326 .loc 1 843 6 is_stmt 0 view .LVU385
1327 0030 B8F1000F cmp r8, #0
1328 0034 00F0DA80 beq .L105
843:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1329 .loc 1 843 23 discriminator 1 view .LVU386
1330 0038 B9F1000F cmp r9, #0
1331 003c 00F0D680 beq .L105
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1332 .loc 1 850 3 is_stmt 1 view .LVU387
850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1333 .loc 1 850 21 is_stmt 0 view .LVU388
1334 0040 0323 movs r3, #3
1335 0042 84F85D30 strb r3, [r4, #93]
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1336 .loc 1 851 3 is_stmt 1 view .LVU389
851:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
ARM GAS /tmp/ccZ0BHQJ.s page 106
1337 .loc 1 851 21 is_stmt 0 view .LVU390
1338 0046 0023 movs r3, #0
1339 0048 2366 str r3, [r4, #96]
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1340 .loc 1 852 3 is_stmt 1 view .LVU391
852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1341 .loc 1 852 21 is_stmt 0 view .LVU392
1342 004a C4F83880 str r8, [r4, #56]
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1343 .loc 1 853 3 is_stmt 1 view .LVU393
853:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1344 .loc 1 853 21 is_stmt 0 view .LVU394
1345 004e A4F83C90 strh r9, [r4, #60] @ movhi
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1346 .loc 1 854 3 is_stmt 1 view .LVU395
854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1347 .loc 1 854 21 is_stmt 0 view .LVU396
1348 0052 A4F83E90 strh r9, [r4, #62] @ movhi
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1349 .loc 1 857 3 is_stmt 1 view .LVU397
857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
1350 .loc 1 857 21 is_stmt 0 view .LVU398
1351 0056 2364 str r3, [r4, #64]
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1352 .loc 1 858 3 is_stmt 1 view .LVU399
858:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
1353 .loc 1 858 21 is_stmt 0 view .LVU400
1354 0058 A4F84430 strh r3, [r4, #68] @ movhi
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1355 .loc 1 859 3 is_stmt 1 view .LVU401
859:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1356 .loc 1 859 21 is_stmt 0 view .LVU402
1357 005c A4F84630 strh r3, [r4, #70] @ movhi
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1358 .loc 1 860 3 is_stmt 1 view .LVU403
860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
1359 .loc 1 860 21 is_stmt 0 view .LVU404
1360 0060 2365 str r3, [r4, #80]
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1361 .loc 1 861 3 is_stmt 1 view .LVU405
861:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1362 .loc 1 861 21 is_stmt 0 view .LVU406
1363 0062 E364 str r3, [r4, #76]
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1364 .loc 1 864 3 is_stmt 1 view .LVU407
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1365 .loc 1 864 17 is_stmt 0 view .LVU408
1366 0064 A368 ldr r3, [r4, #8]
864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1367 .loc 1 864 6 view .LVU409
1368 0066 B3F5004F cmp r3, #32768
1369 006a 1ED0 beq .L133
1370 .L106:
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1371 .loc 1 880 3 is_stmt 1 view .LVU410
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1372 .loc 1 880 12 is_stmt 0 view .LVU411
ARM GAS /tmp/ccZ0BHQJ.s page 107
1373 006c 2368 ldr r3, [r4]
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1374 .loc 1 880 22 view .LVU412
1375 006e 1A68 ldr r2, [r3]
880:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1376 .loc 1 880 6 view .LVU413
1377 0070 12F0400F tst r2, #64
1378 0074 03D1 bne .L107
883:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1379 .loc 1 883 5 is_stmt 1 view .LVU414
1380 0076 1A68 ldr r2, [r3]
1381 0078 42F04002 orr r2, r2, #64
1382 007c 1A60 str r2, [r3]
1383 .L107:
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1384 .loc 1 887 3 view .LVU415
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1385 .loc 1 887 17 is_stmt 0 view .LVU416
1386 007e E368 ldr r3, [r4, #12]
887:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1387 .loc 1 887 6 view .LVU417
1388 0080 B3F5E06F cmp r3, #1792
1389 0084 44D9 bls .L108
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1390 .loc 1 889 5 is_stmt 1 view .LVU418
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1391 .loc 1 889 20 is_stmt 0 view .LVU419
1392 0086 6368 ldr r3, [r4, #4]
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1393 .loc 1 889 8 view .LVU420
1394 0088 13B1 cbz r3, .L109
889:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1395 .loc 1 889 45 discriminator 1 view .LVU421
1396 008a B9F1010F cmp r9, #1
1397 008e 20D1 bne .L111
1398 .L109:
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1399 .loc 1 891 7 is_stmt 1 view .LVU422
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1400 .loc 1 891 46 is_stmt 0 view .LVU423
1401 0090 A26B ldr r2, [r4, #56]
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1402 .loc 1 891 11 view .LVU424
1403 0092 2368 ldr r3, [r4]
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1404 .loc 1 891 28 view .LVU425
1405 0094 1288 ldrh r2, [r2]
891:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1406 .loc 1 891 26 view .LVU426
1407 0096 DA60 str r2, [r3, #12]
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1408 .loc 1 892 7 is_stmt 1 view .LVU427
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1409 .loc 1 892 11 is_stmt 0 view .LVU428
1410 0098 A36B ldr r3, [r4, #56]
892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1411 .loc 1 892 24 view .LVU429
ARM GAS /tmp/ccZ0BHQJ.s page 108
1412 009a 0233 adds r3, r3, #2
1413 009c A363 str r3, [r4, #56]
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1414 .loc 1 893 7 is_stmt 1 view .LVU430
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1415 .loc 1 893 11 is_stmt 0 view .LVU431
1416 009e E38F ldrh r3, [r4, #62]
1417 00a0 9BB2 uxth r3, r3
893:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1418 .loc 1 893 24 view .LVU432
1419 00a2 013B subs r3, r3, #1
1420 00a4 9BB2 uxth r3, r3
1421 00a6 E387 strh r3, [r4, #62] @ movhi
1422 00a8 13E0 b .L111
1423 .L133:
867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1424 .loc 1 867 5 is_stmt 1 view .LVU433
1425 00aa 2268 ldr r2, [r4]
1426 00ac 1368 ldr r3, [r2]
1427 00ae 23F04003 bic r3, r3, #64
1428 00b2 1360 str r3, [r2]
868:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1429 .loc 1 868 5 view .LVU434
1430 00b4 2268 ldr r2, [r4]
1431 00b6 1368 ldr r3, [r2]
1432 00b8 43F48043 orr r3, r3, #16384
1433 00bc 1360 str r3, [r2]
1434 00be D5E7 b .L106
1435 .LVL74:
1436 .L112:
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1437 .loc 1 908 9 view .LVU435
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1438 .loc 1 908 16 is_stmt 0 view .LVU436
1439 00c0 FFF7FEFF bl HAL_GetTick
1440 .LVL75:
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1441 .loc 1 908 30 discriminator 1 view .LVU437
1442 00c4 C01B subs r0, r0, r7
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1443 .loc 1 908 12 discriminator 1 view .LVU438
1444 00c6 A842 cmp r0, r5
1445 00c8 02D3 bcc .L114
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1446 .loc 1 908 56 discriminator 1 view .LVU439
1447 00ca B5F1FF3F cmp r5, #-1
1448 00ce 1AD1 bne .L115
1449 .L114:
908:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1450 .loc 1 908 87 discriminator 3 view .LVU440
1451 00d0 CDB1 cbz r5, .L115
1452 .L111:
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1453 .loc 1 896 30 is_stmt 1 view .LVU441
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1454 .loc 1 896 16 is_stmt 0 view .LVU442
1455 00d2 E38F ldrh r3, [r4, #62]
ARM GAS /tmp/ccZ0BHQJ.s page 109
1456 00d4 9BB2 uxth r3, r3
896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1457 .loc 1 896 30 view .LVU443
1458 00d6 002B cmp r3, #0
1459 00d8 6FD0 beq .L117
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1460 .loc 1 899 7 is_stmt 1 view .LVU444
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1461 .loc 1 899 11 is_stmt 0 view .LVU445
1462 00da 2368 ldr r3, [r4]
1463 00dc 9A68 ldr r2, [r3, #8]
899:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1464 .loc 1 899 10 view .LVU446
1465 00de 12F0020F tst r2, #2
1466 00e2 EDD0 beq .L112
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1467 .loc 1 901 9 is_stmt 1 view .LVU447
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1468 .loc 1 901 48 is_stmt 0 view .LVU448
1469 00e4 A26B ldr r2, [r4, #56]
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1470 .loc 1 901 30 view .LVU449
1471 00e6 1288 ldrh r2, [r2]
901:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1472 .loc 1 901 28 view .LVU450
1473 00e8 DA60 str r2, [r3, #12]
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1474 .loc 1 902 9 is_stmt 1 view .LVU451
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1475 .loc 1 902 13 is_stmt 0 view .LVU452
1476 00ea A36B ldr r3, [r4, #56]
902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1477 .loc 1 902 26 view .LVU453
1478 00ec 0233 adds r3, r3, #2
1479 00ee A363 str r3, [r4, #56]
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1480 .loc 1 903 9 is_stmt 1 view .LVU454
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1481 .loc 1 903 13 is_stmt 0 view .LVU455
1482 00f0 B4F83EC0 ldrh ip, [r4, #62]
1483 00f4 1FFA8CFC uxth ip, ip
903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1484 .loc 1 903 26 view .LVU456
1485 00f8 0CF1FF3C add ip, ip, #-1
1486 00fc 1FFA8CFC uxth ip, ip
1487 0100 A4F83EC0 strh ip, [r4, #62] @ movhi
1488 0104 E5E7 b .L111
1489 .L115:
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1490 .loc 1 910 11 is_stmt 1 view .LVU457
1491 .LVL76:
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1492 .loc 1 911 11 view .LVU458
911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1493 .loc 1 911 23 is_stmt 0 view .LVU459
1494 0106 0123 movs r3, #1
1495 0108 84F85D30 strb r3, [r4, #93]
ARM GAS /tmp/ccZ0BHQJ.s page 110
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1496 .loc 1 912 11 is_stmt 1 view .LVU460
910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1497 .loc 1 910 21 is_stmt 0 view .LVU461
1498 010c 0326 movs r6, #3
912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1499 .loc 1 912 11 view .LVU462
1500 010e 6DE0 b .L105
1501 .LVL77:
1502 .L108:
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1503 .loc 1 920 5 is_stmt 1 view .LVU463
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1504 .loc 1 920 20 is_stmt 0 view .LVU464
1505 0110 6368 ldr r3, [r4, #4]
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1506 .loc 1 920 8 view .LVU465
1507 0112 13B1 cbz r3, .L118
920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1508 .loc 1 920 45 discriminator 1 view .LVU466
1509 0114 B9F1010F cmp r9, #1
1510 0118 32D1 bne .L121
1511 .L118:
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1512 .loc 1 922 7 is_stmt 1 view .LVU467
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1513 .loc 1 922 15 is_stmt 0 view .LVU468
1514 011a E38F ldrh r3, [r4, #62]
1515 011c 9BB2 uxth r3, r3
922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1516 .loc 1 922 10 view .LVU469
1517 011e 012B cmp r3, #1
1518 0120 0CD9 bls .L120
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1519 .loc 1 925 9 is_stmt 1 view .LVU470
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1520 .loc 1 925 48 is_stmt 0 view .LVU471
1521 0122 A26B ldr r2, [r4, #56]
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1522 .loc 1 925 13 view .LVU472
1523 0124 2368 ldr r3, [r4]
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1524 .loc 1 925 30 view .LVU473
1525 0126 1288 ldrh r2, [r2]
925:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1526 .loc 1 925 28 view .LVU474
1527 0128 DA60 str r2, [r3, #12]
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1528 .loc 1 926 9 is_stmt 1 view .LVU475
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1529 .loc 1 926 13 is_stmt 0 view .LVU476
1530 012a A36B ldr r3, [r4, #56]
926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1531 .loc 1 926 26 view .LVU477
1532 012c 0233 adds r3, r3, #2
1533 012e A363 str r3, [r4, #56]
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 111
1534 .loc 1 927 9 is_stmt 1 view .LVU478
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1535 .loc 1 927 13 is_stmt 0 view .LVU479
1536 0130 E38F ldrh r3, [r4, #62]
1537 0132 9BB2 uxth r3, r3
927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1538 .loc 1 927 27 view .LVU480
1539 0134 023B subs r3, r3, #2
1540 0136 9BB2 uxth r3, r3
1541 0138 E387 strh r3, [r4, #62] @ movhi
1542 013a 21E0 b .L121
1543 .L120:
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1544 .loc 1 931 9 is_stmt 1 view .LVU481
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1545 .loc 1 931 56 is_stmt 0 view .LVU482
1546 013c A26B ldr r2, [r4, #56]
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1547 .loc 1 931 32 view .LVU483
1548 013e 2368 ldr r3, [r4]
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1549 .loc 1 931 51 view .LVU484
1550 0140 1278 ldrb r2, [r2] @ zero_extendqisi2
931:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr ++;
1551 .loc 1 931 48 view .LVU485
1552 0142 1A73 strb r2, [r3, #12]
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1553 .loc 1 932 9 is_stmt 1 view .LVU486
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1554 .loc 1 932 13 is_stmt 0 view .LVU487
1555 0144 A36B ldr r3, [r4, #56]
932:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1556 .loc 1 932 26 view .LVU488
1557 0146 0133 adds r3, r3, #1
1558 0148 A363 str r3, [r4, #56]
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1559 .loc 1 933 9 is_stmt 1 view .LVU489
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1560 .loc 1 933 13 is_stmt 0 view .LVU490
1561 014a E38F ldrh r3, [r4, #62]
1562 014c 9BB2 uxth r3, r3
933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1563 .loc 1 933 26 view .LVU491
1564 014e 013B subs r3, r3, #1
1565 0150 9BB2 uxth r3, r3
1566 0152 E387 strh r3, [r4, #62] @ movhi
1567 0154 14E0 b .L121
1568 .LVL78:
1569 .L123:
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1570 .loc 1 950 11 is_stmt 1 view .LVU492
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1571 .loc 1 950 58 is_stmt 0 view .LVU493
1572 0156 A36B ldr r3, [r4, #56]
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1573 .loc 1 950 53 view .LVU494
1574 0158 1B78 ldrb r3, [r3] @ zero_extendqisi2
ARM GAS /tmp/ccZ0BHQJ.s page 112
950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
1575 .loc 1 950 50 view .LVU495
1576 015a 1373 strb r3, [r2, #12]
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1577 .loc 1 951 11 is_stmt 1 view .LVU496
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1578 .loc 1 951 15 is_stmt 0 view .LVU497
1579 015c A36B ldr r3, [r4, #56]
951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1580 .loc 1 951 27 view .LVU498
1581 015e 0133 adds r3, r3, #1
1582 0160 A363 str r3, [r4, #56]
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1583 .loc 1 952 11 is_stmt 1 view .LVU499
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1584 .loc 1 952 15 is_stmt 0 view .LVU500
1585 0162 E38F ldrh r3, [r4, #62]
1586 0164 9BB2 uxth r3, r3
952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1587 .loc 1 952 28 view .LVU501
1588 0166 013B subs r3, r3, #1
1589 0168 9BB2 uxth r3, r3
1590 016a E387 strh r3, [r4, #62] @ movhi
1591 016c 08E0 b .L121
1592 .L122:
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1593 .loc 1 958 9 is_stmt 1 view .LVU502
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1594 .loc 1 958 16 is_stmt 0 view .LVU503
1595 016e FFF7FEFF bl HAL_GetTick
1596 .LVL79:
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1597 .loc 1 958 30 discriminator 1 view .LVU504
1598 0172 C01B subs r0, r0, r7
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1599 .loc 1 958 12 discriminator 1 view .LVU505
1600 0174 A842 cmp r0, r5
1601 0176 02D3 bcc .L125
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1602 .loc 1 958 56 discriminator 1 view .LVU506
1603 0178 B5F1FF3F cmp r5, #-1
1604 017c 18D1 bne .L126
1605 .L125:
958:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1606 .loc 1 958 87 discriminator 3 view .LVU507
1607 017e BDB1 cbz r5, .L126
1608 .L121:
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1609 .loc 1 936 30 is_stmt 1 view .LVU508
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1610 .loc 1 936 16 is_stmt 0 view .LVU509
1611 0180 E38F ldrh r3, [r4, #62]
1612 0182 9BB2 uxth r3, r3
936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1613 .loc 1 936 30 view .LVU510
1614 0184 CBB1 cbz r3, .L117
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 113
1615 .loc 1 939 7 is_stmt 1 view .LVU511
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1616 .loc 1 939 11 is_stmt 0 view .LVU512
1617 0186 2268 ldr r2, [r4]
1618 0188 9368 ldr r3, [r2, #8]
939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1619 .loc 1 939 10 view .LVU513
1620 018a 13F0020F tst r3, #2
1621 018e EED0 beq .L122
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1622 .loc 1 941 9 is_stmt 1 view .LVU514
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1623 .loc 1 941 17 is_stmt 0 view .LVU515
1624 0190 E38F ldrh r3, [r4, #62]
1625 0192 9BB2 uxth r3, r3
941:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1626 .loc 1 941 12 view .LVU516
1627 0194 012B cmp r3, #1
1628 0196 DED9 bls .L123
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1629 .loc 1 944 11 is_stmt 1 view .LVU517
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1630 .loc 1 944 50 is_stmt 0 view .LVU518
1631 0198 A36B ldr r3, [r4, #56]
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1632 .loc 1 944 32 view .LVU519
1633 019a 1B88 ldrh r3, [r3]
944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1634 .loc 1 944 30 view .LVU520
1635 019c D360 str r3, [r2, #12]
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1636 .loc 1 945 11 is_stmt 1 view .LVU521
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1637 .loc 1 945 15 is_stmt 0 view .LVU522
1638 019e A36B ldr r3, [r4, #56]
945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
1639 .loc 1 945 28 view .LVU523
1640 01a0 0233 adds r3, r3, #2
1641 01a2 A363 str r3, [r4, #56]
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1642 .loc 1 946 11 is_stmt 1 view .LVU524
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1643 .loc 1 946 15 is_stmt 0 view .LVU525
1644 01a4 E38F ldrh r3, [r4, #62]
1645 01a6 9BB2 uxth r3, r3
946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1646 .loc 1 946 29 view .LVU526
1647 01a8 023B subs r3, r3, #2
1648 01aa 9BB2 uxth r3, r3
1649 01ac E387 strh r3, [r4, #62] @ movhi
1650 01ae E7E7 b .L121
1651 .L126:
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1652 .loc 1 960 11 is_stmt 1 view .LVU527
1653 .LVL80:
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1654 .loc 1 961 11 view .LVU528
ARM GAS /tmp/ccZ0BHQJ.s page 114
961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1655 .loc 1 961 23 is_stmt 0 view .LVU529
1656 01b0 0123 movs r3, #1
1657 01b2 84F85D30 strb r3, [r4, #93]
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1658 .loc 1 962 11 is_stmt 1 view .LVU530
960:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1659 .loc 1 960 21 is_stmt 0 view .LVU531
1660 01b6 0326 movs r6, #3
962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1661 .loc 1 962 11 view .LVU532
1662 01b8 18E0 b .L105
1663 .LVL81:
1664 .L117:
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1665 .loc 1 976 3 is_stmt 1 view .LVU533
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1666 .loc 1 976 7 is_stmt 0 view .LVU534
1667 01ba 3A46 mov r2, r7
1668 01bc 2946 mov r1, r5
1669 01be 2046 mov r0, r4
1670 01c0 FFF7FEFF bl SPI_EndRxTxTransaction
1671 .LVL82:
976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1672 .loc 1 976 6 discriminator 1 view .LVU535
1673 01c4 08B1 cbz r0, .L128
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1674 .loc 1 978 5 is_stmt 1 view .LVU536
978:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1675 .loc 1 978 21 is_stmt 0 view .LVU537
1676 01c6 2023 movs r3, #32
1677 01c8 2366 str r3, [r4, #96]
1678 .L128:
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1679 .loc 1 982 3 is_stmt 1 view .LVU538
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1680 .loc 1 982 17 is_stmt 0 view .LVU539
1681 01ca A368 ldr r3, [r4, #8]
982:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1682 .loc 1 982 6 view .LVU540
1683 01cc 33B9 cbnz r3, .L129
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1684 .loc 1 984 5 is_stmt 1 view .LVU541
1685 .LBB2:
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1686 .loc 1 984 5 view .LVU542
1687 01ce 0193 str r3, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1688 .loc 1 984 5 view .LVU543
1689 01d0 2368 ldr r3, [r4]
1690 01d2 DA68 ldr r2, [r3, #12]
1691 01d4 0192 str r2, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1692 .loc 1 984 5 view .LVU544
1693 01d6 9B68 ldr r3, [r3, #8]
1694 01d8 0193 str r3, [sp, #4]
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 115
1695 .loc 1 984 5 view .LVU545
1696 01da 019B ldr r3, [sp, #4]
1697 .L129:
1698 .LBE2:
984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1699 .loc 1 984 5 discriminator 1 view .LVU546
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1700 .loc 1 987 3 view .LVU547
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1701 .loc 1 987 11 is_stmt 0 view .LVU548
1702 01dc 236E ldr r3, [r4, #96]
987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1703 .loc 1 987 6 view .LVU549
1704 01de 2BB9 cbnz r3, .L105
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1705 .loc 1 993 5 is_stmt 1 view .LVU550
993:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1706 .loc 1 993 17 is_stmt 0 view .LVU551
1707 01e0 0123 movs r3, #1
1708 01e2 84F85D30 strb r3, [r4, #93]
824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1709 .loc 1 824 21 view .LVU552
1710 01e6 0026 movs r6, #0
1711 01e8 00E0 b .L105
1712 .LVL83:
1713 .L131:
839:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
1714 .loc 1 839 15 view .LVU553
1715 01ea 0226 movs r6, #2
1716 .LVL84:
1717 .L105:
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1718 .loc 1 998 3 is_stmt 1 view .LVU554
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1719 .loc 1 998 3 view .LVU555
1720 01ec 0023 movs r3, #0
1721 01ee 84F85C30 strb r3, [r4, #92]
998:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
1722 .loc 1 998 3 view .LVU556
999:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1723 .loc 1 999 3 view .LVU557
1724 .LVL85:
1725 .L104:
1000:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1726 .loc 1 1000 1 is_stmt 0 view .LVU558
1727 01f2 3046 mov r0, r6
1728 01f4 03B0 add sp, sp, #12
1729 .cfi_remember_state
1730 .cfi_def_cfa_offset 28
1731 @ sp needed
1732 01f6 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
1733 .LVL86:
1734 .L130:
1735 .cfi_restore_state
831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1736 .loc 1 831 3 discriminator 1 view .LVU559
1737 01fa 0226 movs r6, #2
ARM GAS /tmp/ccZ0BHQJ.s page 116
1738 01fc F9E7 b .L104
1739 .cfi_endproc
1740 .LFE134:
1742 .section .text.HAL_SPI_TransmitReceive,"ax",%progbits
1743 .align 1
1744 .global HAL_SPI_TransmitReceive
1745 .syntax unified
1746 .thumb
1747 .thumb_func
1749 HAL_SPI_TransmitReceive:
1750 .LVL87:
1751 .LFB136:
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1752 .loc 1 1258 1 is_stmt 1 view -0
1753 .cfi_startproc
1754 @ args = 4, pretend = 0, frame = 0
1755 @ frame_needed = 0, uses_anonymous_args = 0
1258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_TxXferCount;
1756 .loc 1 1258 1 is_stmt 0 view .LVU561
1757 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
1758 .cfi_def_cfa_offset 32
1759 .cfi_offset 3, -32
1760 .cfi_offset 4, -28
1761 .cfi_offset 5, -24
1762 .cfi_offset 6, -20
1763 .cfi_offset 7, -16
1764 .cfi_offset 8, -12
1765 .cfi_offset 9, -8
1766 .cfi_offset 14, -4
1767 0004 1F46 mov r7, r3
1768 0006 089D ldr r5, [sp, #32]
1259:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint16_t initial_RxXferCount;
1769 .loc 1 1259 3 is_stmt 1 view .LVU562
1260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
1770 .loc 1 1260 3 view .LVU563
1261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1771 .loc 1 1261 3 view .LVU564
1262:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
1772 .loc 1 1262 3 view .LVU565
1263:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1773 .loc 1 1263 3 view .LVU566
1273:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1774 .loc 1 1273 3 view .LVU567
1775 .LVL88:
1274:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1776 .loc 1 1274 3 view .LVU568
1277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1777 .loc 1 1277 3 view .LVU569
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1778 .loc 1 1280 3 view .LVU570
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1779 .loc 1 1280 3 view .LVU571
1780 0008 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
1781 .LVL89:
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1782 .loc 1 1280 3 is_stmt 0 view .LVU572
1783 000c 012B cmp r3, #1
ARM GAS /tmp/ccZ0BHQJ.s page 117
1784 000e 00F06B81 beq .L163
1785 0012 0446 mov r4, r0
1786 0014 8846 mov r8, r1
1787 0016 9146 mov r9, r2
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1788 .loc 1 1280 3 is_stmt 1 discriminator 2 view .LVU573
1789 0018 0123 movs r3, #1
1790 001a 80F85C30 strb r3, [r0, #92]
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1791 .loc 1 1280 3 discriminator 2 view .LVU574
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1792 .loc 1 1283 3 view .LVU575
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1793 .loc 1 1283 15 is_stmt 0 view .LVU576
1794 001e FFF7FEFF bl HAL_GetTick
1795 .LVL90:
1283:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1796 .loc 1 1283 15 view .LVU577
1797 0022 0646 mov r6, r0
1798 .LVL91:
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1799 .loc 1 1286 3 is_stmt 1 view .LVU578
1286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1800 .loc 1 1286 23 is_stmt 0 view .LVU579
1801 0024 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
1802 0028 DBB2 uxtb r3, r3
1803 .LVL92:
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1804 .loc 1 1287 3 is_stmt 1 view .LVU580
1287:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_TxXferCount = Size;
1805 .loc 1 1287 23 is_stmt 0 view .LVU581
1806 002a 6268 ldr r2, [r4, #4]
1807 .LVL93:
1288:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** initial_RxXferCount = Size;
1808 .loc 1 1288 3 is_stmt 1 view .LVU582
1289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1809 .loc 1 1289 3 view .LVU583
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1810 .loc 1 1295 3 view .LVU584
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1811 .loc 1 1295 6 is_stmt 0 view .LVU585
1812 002c 012B cmp r3, #1
1813 002e 0AD0 beq .L136
1295:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1814 .loc 1 1295 7 discriminator 1 view .LVU586
1815 0030 B2F5827F cmp r2, #260
1816 0034 40F04681 bne .L164
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1817 .loc 1 1296 54 view .LVU587
1818 0038 A268 ldr r2, [r4, #8]
1819 .LVL94:
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1820 .loc 1 1296 40 view .LVU588
1821 003a 002A cmp r2, #0
1822 003c 40F04881 bne .L165
1296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1823 .loc 1 1296 90 discriminator 1 view .LVU589
ARM GAS /tmp/ccZ0BHQJ.s page 118
1824 0040 042B cmp r3, #4
1825 0042 40F04781 bne .L166
1826 .L136:
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1827 .loc 1 1302 3 is_stmt 1 view .LVU590
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1828 .loc 1 1302 6 is_stmt 0 view .LVU591
1829 0046 B8F1000F cmp r8, #0
1830 004a 00F04581 beq .L167
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1831 .loc 1 1302 25 discriminator 1 view .LVU592
1832 004e B9F1000F cmp r9, #0
1833 0052 00F04381 beq .L168
1302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1834 .loc 1 1302 46 discriminator 2 view .LVU593
1835 0056 002F cmp r7, #0
1836 0058 00F04281 beq .L169
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1837 .loc 1 1309 3 is_stmt 1 view .LVU594
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1838 .loc 1 1309 11 is_stmt 0 view .LVU595
1839 005c 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
1840 .LVL95:
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1841 .loc 1 1309 11 view .LVU596
1842 0060 DBB2 uxtb r3, r3
1309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1843 .loc 1 1309 6 view .LVU597
1844 0062 042B cmp r3, #4
1845 0064 02D0 beq .L138
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1846 .loc 1 1311 5 is_stmt 1 view .LVU598
1311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1847 .loc 1 1311 17 is_stmt 0 view .LVU599
1848 0066 0523 movs r3, #5
1849 0068 84F85D30 strb r3, [r4, #93]
1850 .L138:
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1851 .loc 1 1315 3 is_stmt 1 view .LVU600
1315:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1852 .loc 1 1315 21 is_stmt 0 view .LVU601
1853 006c 0023 movs r3, #0
1854 006e 2366 str r3, [r4, #96]
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1855 .loc 1 1316 3 is_stmt 1 view .LVU602
1316:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
1856 .loc 1 1316 21 is_stmt 0 view .LVU603
1857 0070 C4F84090 str r9, [r4, #64]
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1858 .loc 1 1317 3 is_stmt 1 view .LVU604
1317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
1859 .loc 1 1317 21 is_stmt 0 view .LVU605
1860 0074 A4F84670 strh r7, [r4, #70] @ movhi
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1861 .loc 1 1318 3 is_stmt 1 view .LVU606
1318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1862 .loc 1 1318 21 is_stmt 0 view .LVU607
ARM GAS /tmp/ccZ0BHQJ.s page 119
1863 0078 A4F84470 strh r7, [r4, #68] @ movhi
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1864 .loc 1 1319 3 is_stmt 1 view .LVU608
1319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
1865 .loc 1 1319 21 is_stmt 0 view .LVU609
1866 007c C4F83880 str r8, [r4, #56]
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1867 .loc 1 1320 3 is_stmt 1 view .LVU610
1320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
1868 .loc 1 1320 21 is_stmt 0 view .LVU611
1869 0080 E787 strh r7, [r4, #62] @ movhi
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1870 .loc 1 1321 3 is_stmt 1 view .LVU612
1321:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1871 .loc 1 1321 21 is_stmt 0 view .LVU613
1872 0082 A787 strh r7, [r4, #60] @ movhi
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1873 .loc 1 1324 3 is_stmt 1 view .LVU614
1324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
1874 .loc 1 1324 21 is_stmt 0 view .LVU615
1875 0084 E364 str r3, [r4, #76]
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1876 .loc 1 1325 3 is_stmt 1 view .LVU616
1325:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1877 .loc 1 1325 21 is_stmt 0 view .LVU617
1878 0086 2365 str r3, [r4, #80]
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1879 .loc 1 1336 3 is_stmt 1 view .LVU618
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1880 .loc 1 1336 18 is_stmt 0 view .LVU619
1881 0088 E368 ldr r3, [r4, #12]
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1882 .loc 1 1336 6 view .LVU620
1883 008a B3F5E06F cmp r3, #1792
1884 008e 01D8 bhi .L139
1336:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1885 .loc 1 1336 49 discriminator 1 view .LVU621
1886 0090 012F cmp r7, #1
1887 0092 23D9 bls .L140
1888 .L139:
1339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1889 .loc 1 1339 5 is_stmt 1 view .LVU622
1890 0094 2268 ldr r2, [r4]
1891 0096 5368 ldr r3, [r2, #4]
1892 0098 23F48053 bic r3, r3, #4096
1893 009c 5360 str r3, [r2, #4]
1894 .LVL96:
1895 .L141:
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1896 .loc 1 1348 3 view .LVU623
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1897 .loc 1 1348 12 is_stmt 0 view .LVU624
1898 009e 2368 ldr r3, [r4]
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1899 .loc 1 1348 22 view .LVU625
1900 00a0 1A68 ldr r2, [r3]
1348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 120
1901 .loc 1 1348 6 view .LVU626
1902 00a2 12F0400F tst r2, #64
1903 00a6 03D1 bne .L142
1351:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1904 .loc 1 1351 5 is_stmt 1 view .LVU627
1905 00a8 1A68 ldr r2, [r3]
1906 00aa 42F04002 orr r2, r2, #64
1907 00ae 1A60 str r2, [r3]
1908 .L142:
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1909 .loc 1 1355 3 view .LVU628
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1910 .loc 1 1355 17 is_stmt 0 view .LVU629
1911 00b0 E368 ldr r3, [r4, #12]
1355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1912 .loc 1 1355 6 view .LVU630
1913 00b2 B3F5E06F cmp r3, #1792
1914 00b6 5CD9 bls .L143
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1915 .loc 1 1357 5 is_stmt 1 view .LVU631
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1916 .loc 1 1357 20 is_stmt 0 view .LVU632
1917 00b8 6368 ldr r3, [r4, #4]
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1918 .loc 1 1357 8 view .LVU633
1919 00ba 0BB1 cbz r3, .L144
1357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1920 .loc 1 1357 45 discriminator 1 view .LVU634
1921 00bc 012F cmp r7, #1
1922 00be 0BD1 bne .L145
1923 .L144:
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1924 .loc 1 1359 7 is_stmt 1 view .LVU635
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1925 .loc 1 1359 46 is_stmt 0 view .LVU636
1926 00c0 A26B ldr r2, [r4, #56]
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1927 .loc 1 1359 11 view .LVU637
1928 00c2 2368 ldr r3, [r4]
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1929 .loc 1 1359 28 view .LVU638
1930 00c4 1288 ldrh r2, [r2]
1359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1931 .loc 1 1359 26 view .LVU639
1932 00c6 DA60 str r2, [r3, #12]
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1933 .loc 1 1360 7 is_stmt 1 view .LVU640
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1934 .loc 1 1360 11 is_stmt 0 view .LVU641
1935 00c8 A36B ldr r3, [r4, #56]
1360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1936 .loc 1 1360 24 view .LVU642
1937 00ca 0233 adds r3, r3, #2
1938 00cc A363 str r3, [r4, #56]
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1939 .loc 1 1361 7 is_stmt 1 view .LVU643
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 121
1940 .loc 1 1361 11 is_stmt 0 view .LVU644
1941 00ce E38F ldrh r3, [r4, #62]
1942 00d0 9BB2 uxth r3, r3
1361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1943 .loc 1 1361 24 view .LVU645
1944 00d2 013B subs r3, r3, #1
1945 00d4 9BB2 uxth r3, r3
1946 00d6 E387 strh r3, [r4, #62] @ movhi
1947 .L145:
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1948 .loc 1 1395 19 view .LVU646
1949 00d8 0127 movs r7, #1
1950 .LVL97:
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1951 .loc 1 1395 19 view .LVU647
1952 00da 30E0 b .L146
1953 .LVL98:
1954 .L140:
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1955 .loc 1 1344 5 is_stmt 1 view .LVU648
1956 00dc 2268 ldr r2, [r4]
1957 00de 5368 ldr r3, [r2, #4]
1958 00e0 43F48053 orr r3, r3, #4096
1959 00e4 5360 str r3, [r2, #4]
1960 .LVL99:
1344:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
1961 .loc 1 1344 5 is_stmt 0 view .LVU649
1962 00e6 DAE7 b .L141
1963 .LVL100:
1964 .L174:
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1965 .loc 1 1368 9 is_stmt 1 view .LVU650
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1966 .loc 1 1368 48 is_stmt 0 view .LVU651
1967 00e8 A26B ldr r2, [r4, #56]
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1968 .loc 1 1368 30 view .LVU652
1969 00ea 1288 ldrh r2, [r2]
1368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1970 .loc 1 1368 28 view .LVU653
1971 00ec DA60 str r2, [r3, #12]
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1972 .loc 1 1369 9 is_stmt 1 view .LVU654
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1973 .loc 1 1369 13 is_stmt 0 view .LVU655
1974 00ee A36B ldr r3, [r4, #56]
1369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
1975 .loc 1 1369 26 view .LVU656
1976 00f0 0233 adds r3, r3, #2
1977 00f2 A363 str r3, [r4, #56]
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1978 .loc 1 1370 9 is_stmt 1 view .LVU657
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1979 .loc 1 1370 13 is_stmt 0 view .LVU658
1980 00f4 E38F ldrh r3, [r4, #62]
1981 00f6 9BB2 uxth r3, r3
1370:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
ARM GAS /tmp/ccZ0BHQJ.s page 122
1982 .loc 1 1370 26 view .LVU659
1983 00f8 013B subs r3, r3, #1
1984 00fa 9BB2 uxth r3, r3
1985 00fc E387 strh r3, [r4, #62] @ movhi
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1986 .loc 1 1372 9 is_stmt 1 view .LVU660
1987 .LVL101:
1372:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
1988 .loc 1 1372 19 is_stmt 0 view .LVU661
1989 00fe 0027 movs r7, #0
1990 .LVL102:
1991 .L147:
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1992 .loc 1 1389 7 is_stmt 1 view .LVU662
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1993 .loc 1 1389 12 is_stmt 0 view .LVU663
1994 0100 2368 ldr r3, [r4]
1995 0102 9A68 ldr r2, [r3, #8]
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1996 .loc 1 1389 10 view .LVU664
1997 0104 12F0010F tst r2, #1
1998 0108 11D0 beq .L148
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
1999 .loc 1 1389 61 discriminator 1 view .LVU665
2000 010a B4F84620 ldrh r2, [r4, #70]
2001 010e 92B2 uxth r2, r2
1389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2002 .loc 1 1389 53 discriminator 1 view .LVU666
2003 0110 6AB1 cbz r2, .L148
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2004 .loc 1 1391 9 is_stmt 1 view .LVU667
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2005 .loc 1 1391 67 is_stmt 0 view .LVU668
2006 0112 DA68 ldr r2, [r3, #12]
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2007 .loc 1 1391 27 view .LVU669
2008 0114 236C ldr r3, [r4, #64]
1391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2009 .loc 1 1391 41 view .LVU670
2010 0116 1A80 strh r2, [r3] @ movhi
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2011 .loc 1 1392 9 is_stmt 1 view .LVU671
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2012 .loc 1 1392 13 is_stmt 0 view .LVU672
2013 0118 236C ldr r3, [r4, #64]
1392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2014 .loc 1 1392 26 view .LVU673
2015 011a 0233 adds r3, r3, #2
2016 011c 2364 str r3, [r4, #64]
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2017 .loc 1 1393 9 is_stmt 1 view .LVU674
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2018 .loc 1 1393 13 is_stmt 0 view .LVU675
2019 011e B4F84630 ldrh r3, [r4, #70]
2020 0122 9BB2 uxth r3, r3
1393:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
2021 .loc 1 1393 26 view .LVU676
ARM GAS /tmp/ccZ0BHQJ.s page 123
2022 0124 013B subs r3, r3, #1
2023 0126 9BB2 uxth r3, r3
2024 0128 A4F84630 strh r3, [r4, #70] @ movhi
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2025 .loc 1 1395 9 is_stmt 1 view .LVU677
2026 .LVL103:
1395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2027 .loc 1 1395 19 is_stmt 0 view .LVU678
2028 012c 0127 movs r7, #1
2029 .LVL104:
2030 .L148:
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2031 .loc 1 1397 7 is_stmt 1 view .LVU679
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2032 .loc 1 1397 13 is_stmt 0 view .LVU680
2033 012e FFF7FEFF bl HAL_GetTick
2034 .LVL105:
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2035 .loc 1 1397 27 discriminator 1 view .LVU681
2036 0132 831B subs r3, r0, r6
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2037 .loc 1 1397 10 discriminator 1 view .LVU682
2038 0134 AB42 cmp r3, r5
2039 0136 02D3 bcc .L146
1397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2040 .loc 1 1397 53 discriminator 1 view .LVU683
2041 0138 B5F1FF3F cmp r5, #-1
2042 013c 14D1 bne .L173
2043 .LVL106:
2044 .L146:
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2045 .loc 1 1363 37 is_stmt 1 view .LVU684
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2046 .loc 1 1363 17 is_stmt 0 view .LVU685
2047 013e E38F ldrh r3, [r4, #62]
2048 0140 9BB2 uxth r3, r3
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2049 .loc 1 1363 37 view .LVU686
2050 0142 2BB9 cbnz r3, .L149
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2051 .loc 1 1363 45 discriminator 1 view .LVU687
2052 0144 B4F84630 ldrh r3, [r4, #70]
2053 0148 9BB2 uxth r3, r3
1363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2054 .loc 1 1363 37 discriminator 1 view .LVU688
2055 014a 002B cmp r3, #0
2056 014c 00F0AB80 beq .L150
2057 .L149:
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2058 .loc 1 1366 7 is_stmt 1 view .LVU689
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2059 .loc 1 1366 12 is_stmt 0 view .LVU690
2060 0150 2368 ldr r3, [r4]
2061 0152 9A68 ldr r2, [r3, #8]
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2062 .loc 1 1366 10 view .LVU691
2063 0154 12F0020F tst r2, #2
ARM GAS /tmp/ccZ0BHQJ.s page 124
2064 0158 D2D0 beq .L147
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2065 .loc 1 1366 60 discriminator 1 view .LVU692
2066 015a E28F ldrh r2, [r4, #62]
2067 015c 92B2 uxth r2, r2
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2068 .loc 1 1366 52 discriminator 1 view .LVU693
2069 015e 002A cmp r2, #0
2070 0160 CED0 beq .L147
1366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2071 .loc 1 1366 80 discriminator 2 view .LVU694
2072 0162 002F cmp r7, #0
2073 0164 CCD0 beq .L147
2074 0166 BFE7 b .L174
2075 .L173:
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2076 .loc 1 1399 9 is_stmt 1 view .LVU695
2077 .LVL107:
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2078 .loc 1 1400 9 view .LVU696
1400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2079 .loc 1 1400 21 is_stmt 0 view .LVU697
2080 0168 0123 movs r3, #1
2081 016a 84F85D30 strb r3, [r4, #93]
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2082 .loc 1 1401 9 is_stmt 1 view .LVU698
1399:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2083 .loc 1 1399 19 is_stmt 0 view .LVU699
2084 016e 0320 movs r0, #3
1401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2085 .loc 1 1401 9 view .LVU700
2086 0170 A9E0 b .L137
2087 .LVL108:
2088 .L143:
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2089 .loc 1 1408 5 is_stmt 1 view .LVU701
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2090 .loc 1 1408 20 is_stmt 0 view .LVU702
2091 0172 6368 ldr r3, [r4, #4]
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2092 .loc 1 1408 8 view .LVU703
2093 0174 0BB1 cbz r3, .L151
1408:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2094 .loc 1 1408 45 discriminator 1 view .LVU704
2095 0176 012F cmp r7, #1
2096 0178 0FD1 bne .L152
2097 .L151:
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2098 .loc 1 1410 7 is_stmt 1 view .LVU705
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2099 .loc 1 1410 15 is_stmt 0 view .LVU706
2100 017a E38F ldrh r3, [r4, #62]
2101 017c 9BB2 uxth r3, r3
1410:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2102 .loc 1 1410 10 view .LVU707
2103 017e 012B cmp r3, #1
2104 0180 0DD9 bls .L153
ARM GAS /tmp/ccZ0BHQJ.s page 125
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2105 .loc 1 1412 9 is_stmt 1 view .LVU708
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2106 .loc 1 1412 48 is_stmt 0 view .LVU709
2107 0182 A26B ldr r2, [r4, #56]
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2108 .loc 1 1412 13 view .LVU710
2109 0184 2368 ldr r3, [r4]
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2110 .loc 1 1412 30 view .LVU711
2111 0186 1288 ldrh r2, [r2]
1412:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2112 .loc 1 1412 28 view .LVU712
2113 0188 DA60 str r2, [r3, #12]
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2114 .loc 1 1413 9 is_stmt 1 view .LVU713
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2115 .loc 1 1413 13 is_stmt 0 view .LVU714
2116 018a A36B ldr r3, [r4, #56]
1413:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2117 .loc 1 1413 26 view .LVU715
2118 018c 0233 adds r3, r3, #2
2119 018e A363 str r3, [r4, #56]
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2120 .loc 1 1414 9 is_stmt 1 view .LVU716
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2121 .loc 1 1414 13 is_stmt 0 view .LVU717
2122 0190 E38F ldrh r3, [r4, #62]
2123 0192 9BB2 uxth r3, r3
1414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2124 .loc 1 1414 27 view .LVU718
2125 0194 023B subs r3, r3, #2
2126 0196 9BB2 uxth r3, r3
2127 0198 E387 strh r3, [r4, #62] @ movhi
2128 .L152:
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2129 .loc 1 1478 19 view .LVU719
2130 019a 0127 movs r7, #1
2131 .LVL109:
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2132 .loc 1 1478 19 view .LVU720
2133 019c 49E0 b .L160
2134 .LVL110:
2135 .L153:
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2136 .loc 1 1418 9 is_stmt 1 view .LVU721
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2137 .loc 1 1418 54 is_stmt 0 view .LVU722
2138 019e A26B ldr r2, [r4, #56]
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2139 .loc 1 1418 31 view .LVU723
2140 01a0 2368 ldr r3, [r4]
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2141 .loc 1 1418 49 view .LVU724
2142 01a2 1278 ldrb r2, [r2] @ zero_extendqisi2
1418:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2143 .loc 1 1418 46 view .LVU725
ARM GAS /tmp/ccZ0BHQJ.s page 126
2144 01a4 1A73 strb r2, [r3, #12]
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2145 .loc 1 1419 9 is_stmt 1 view .LVU726
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2146 .loc 1 1419 13 is_stmt 0 view .LVU727
2147 01a6 A36B ldr r3, [r4, #56]
1419:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2148 .loc 1 1419 25 view .LVU728
2149 01a8 0133 adds r3, r3, #1
2150 01aa A363 str r3, [r4, #56]
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2151 .loc 1 1420 9 is_stmt 1 view .LVU729
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2152 .loc 1 1420 13 is_stmt 0 view .LVU730
2153 01ac E38F ldrh r3, [r4, #62]
2154 01ae 9BB2 uxth r3, r3
1420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2155 .loc 1 1420 26 view .LVU731
2156 01b0 013B subs r3, r3, #1
2157 01b2 9BB2 uxth r3, r3
2158 01b4 E387 strh r3, [r4, #62] @ movhi
2159 01b6 F0E7 b .L152
2160 .LVL111:
2161 .L175:
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2162 .loc 1 1428 9 is_stmt 1 view .LVU732
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2163 .loc 1 1428 17 is_stmt 0 view .LVU733
2164 01b8 E28F ldrh r2, [r4, #62]
2165 01ba 92B2 uxth r2, r2
1428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2166 .loc 1 1428 12 view .LVU734
2167 01bc 012A cmp r2, #1
2168 01be 0CD9 bls .L155
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2169 .loc 1 1430 11 is_stmt 1 view .LVU735
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2170 .loc 1 1430 50 is_stmt 0 view .LVU736
2171 01c0 A26B ldr r2, [r4, #56]
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2172 .loc 1 1430 32 view .LVU737
2173 01c2 1288 ldrh r2, [r2]
1430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
2174 .loc 1 1430 30 view .LVU738
2175 01c4 DA60 str r2, [r3, #12]
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2176 .loc 1 1431 11 is_stmt 1 view .LVU739
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2177 .loc 1 1431 15 is_stmt 0 view .LVU740
2178 01c6 A36B ldr r3, [r4, #56]
1431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
2179 .loc 1 1431 28 view .LVU741
2180 01c8 0233 adds r3, r3, #2
2181 01ca A363 str r3, [r4, #56]
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2182 .loc 1 1432 11 is_stmt 1 view .LVU742
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 127
2183 .loc 1 1432 15 is_stmt 0 view .LVU743
2184 01cc E38F ldrh r3, [r4, #62]
2185 01ce 9BB2 uxth r3, r3
1432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2186 .loc 1 1432 29 view .LVU744
2187 01d0 023B subs r3, r3, #2
2188 01d2 9BB2 uxth r3, r3
2189 01d4 E387 strh r3, [r4, #62] @ movhi
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2190 .loc 1 1441 19 view .LVU745
2191 01d6 0027 movs r7, #0
2192 .LVL112:
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2193 .loc 1 1441 19 view .LVU746
2194 01d8 3DE0 b .L154
2195 .LVL113:
2196 .L155:
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2197 .loc 1 1436 11 is_stmt 1 view .LVU747
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2198 .loc 1 1436 56 is_stmt 0 view .LVU748
2199 01da A26B ldr r2, [r4, #56]
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2200 .loc 1 1436 51 view .LVU749
2201 01dc 1278 ldrb r2, [r2] @ zero_extendqisi2
1436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
2202 .loc 1 1436 48 view .LVU750
2203 01de 1A73 strb r2, [r3, #12]
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2204 .loc 1 1437 11 is_stmt 1 view .LVU751
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2205 .loc 1 1437 15 is_stmt 0 view .LVU752
2206 01e0 A36B ldr r3, [r4, #56]
1437:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
2207 .loc 1 1437 27 view .LVU753
2208 01e2 0133 adds r3, r3, #1
2209 01e4 A363 str r3, [r4, #56]
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2210 .loc 1 1438 11 is_stmt 1 view .LVU754
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2211 .loc 1 1438 15 is_stmt 0 view .LVU755
2212 01e6 E38F ldrh r3, [r4, #62]
2213 01e8 9BB2 uxth r3, r3
1438:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2214 .loc 1 1438 28 view .LVU756
2215 01ea 013B subs r3, r3, #1
2216 01ec 9BB2 uxth r3, r3
2217 01ee E387 strh r3, [r4, #62] @ movhi
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2218 .loc 1 1441 19 view .LVU757
2219 01f0 0027 movs r7, #0
2220 .LVL114:
1441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2221 .loc 1 1441 19 view .LVU758
2222 01f2 30E0 b .L154
2223 .LVL115:
2224 .L176:
ARM GAS /tmp/ccZ0BHQJ.s page 128
1468:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2225 .loc 1 1468 13 is_stmt 1 view .LVU759
2226 01f4 2268 ldr r2, [r4]
2227 01f6 5368 ldr r3, [r2, #4]
2228 01f8 43F48053 orr r3, r3, #4096
2229 01fc 5360 str r3, [r2, #4]
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2230 .loc 1 1478 19 is_stmt 0 view .LVU760
2231 01fe 0127 movs r7, #1
2232 .LVL116:
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2233 .loc 1 1478 19 view .LVU761
2234 0200 0DE0 b .L156
2235 .LVL117:
2236 .L157:
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2237 .loc 1 1473 11 is_stmt 1 view .LVU762
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2238 .loc 1 1473 28 is_stmt 0 view .LVU763
2239 0202 226C ldr r2, [r4, #64]
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2240 .loc 1 1473 44 view .LVU764
2241 0204 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
1473:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
2242 .loc 1 1473 42 view .LVU765
2243 0206 1370 strb r3, [r2]
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2244 .loc 1 1474 11 is_stmt 1 view .LVU766
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2245 .loc 1 1474 15 is_stmt 0 view .LVU767
2246 0208 236C ldr r3, [r4, #64]
1474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2247 .loc 1 1474 27 view .LVU768
2248 020a 0133 adds r3, r3, #1
2249 020c 2364 str r3, [r4, #64]
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2250 .loc 1 1475 11 is_stmt 1 view .LVU769
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2251 .loc 1 1475 15 is_stmt 0 view .LVU770
2252 020e B4F84630 ldrh r3, [r4, #70]
2253 0212 9BB2 uxth r3, r3
1475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2254 .loc 1 1475 28 view .LVU771
2255 0214 013B subs r3, r3, #1
2256 0216 9BB2 uxth r3, r3
2257 0218 A4F84630 strh r3, [r4, #70] @ movhi
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2258 .loc 1 1478 19 view .LVU772
2259 021c 0127 movs r7, #1
2260 .LVL118:
2261 .L156:
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2262 .loc 1 1480 7 is_stmt 1 view .LVU773
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2263 .loc 1 1480 14 is_stmt 0 view .LVU774
2264 021e FFF7FEFF bl HAL_GetTick
2265 .LVL119:
ARM GAS /tmp/ccZ0BHQJ.s page 129
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2266 .loc 1 1480 28 discriminator 1 view .LVU775
2267 0222 801B subs r0, r0, r6
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2268 .loc 1 1480 10 discriminator 1 view .LVU776
2269 0224 A842 cmp r0, r5
2270 0226 02D3 bcc .L158
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2271 .loc 1 1480 54 discriminator 1 view .LVU777
2272 0228 B5F1FF3F cmp r5, #-1
2273 022c 36D1 bne .L159
2274 .L158:
1480:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2275 .loc 1 1480 87 discriminator 3 view .LVU778
2276 022e 002D cmp r5, #0
2277 0230 34D0 beq .L159
2278 .LVL120:
2279 .L160:
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2280 .loc 1 1423 37 is_stmt 1 view .LVU779
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2281 .loc 1 1423 17 is_stmt 0 view .LVU780
2282 0232 E38F ldrh r3, [r4, #62]
2283 0234 9BB2 uxth r3, r3
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2284 .loc 1 1423 37 view .LVU781
2285 0236 23B9 cbnz r3, .L161
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2286 .loc 1 1423 45 discriminator 1 view .LVU782
2287 0238 B4F84630 ldrh r3, [r4, #70]
2288 023c 9BB2 uxth r3, r3
1423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2289 .loc 1 1423 37 discriminator 1 view .LVU783
2290 023e 002B cmp r3, #0
2291 0240 31D0 beq .L150
2292 .L161:
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2293 .loc 1 1426 7 is_stmt 1 view .LVU784
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2294 .loc 1 1426 12 is_stmt 0 view .LVU785
2295 0242 2368 ldr r3, [r4]
2296 0244 9A68 ldr r2, [r3, #8]
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2297 .loc 1 1426 10 view .LVU786
2298 0246 12F0020F tst r2, #2
2299 024a 04D0 beq .L154
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2300 .loc 1 1426 60 discriminator 1 view .LVU787
2301 024c E28F ldrh r2, [r4, #62]
2302 024e 92B2 uxth r2, r2
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2303 .loc 1 1426 52 discriminator 1 view .LVU788
2304 0250 0AB1 cbz r2, .L154
1426:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2305 .loc 1 1426 80 discriminator 2 view .LVU789
2306 0252 002F cmp r7, #0
2307 0254 B0D1 bne .L175
ARM GAS /tmp/ccZ0BHQJ.s page 130
2308 .LVL121:
2309 .L154:
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2310 .loc 1 1458 7 is_stmt 1 view .LVU790
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2311 .loc 1 1458 12 is_stmt 0 view .LVU791
2312 0256 2368 ldr r3, [r4]
2313 0258 9A68 ldr r2, [r3, #8]
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2314 .loc 1 1458 10 view .LVU792
2315 025a 12F0010F tst r2, #1
2316 025e DED0 beq .L156
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2317 .loc 1 1458 61 discriminator 1 view .LVU793
2318 0260 B4F84620 ldrh r2, [r4, #70]
2319 0264 92B2 uxth r2, r2
1458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2320 .loc 1 1458 53 discriminator 1 view .LVU794
2321 0266 002A cmp r2, #0
2322 0268 D9D0 beq .L156
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2323 .loc 1 1460 9 is_stmt 1 view .LVU795
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2324 .loc 1 1460 17 is_stmt 0 view .LVU796
2325 026a B4F84620 ldrh r2, [r4, #70]
2326 026e 92B2 uxth r2, r2
1460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2327 .loc 1 1460 12 view .LVU797
2328 0270 012A cmp r2, #1
2329 0272 C6D9 bls .L157
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2330 .loc 1 1462 11 is_stmt 1 view .LVU798
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2331 .loc 1 1462 69 is_stmt 0 view .LVU799
2332 0274 DA68 ldr r2, [r3, #12]
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2333 .loc 1 1462 29 view .LVU800
2334 0276 236C ldr r3, [r4, #64]
1462:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2335 .loc 1 1462 43 view .LVU801
2336 0278 1A80 strh r2, [r3] @ movhi
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2337 .loc 1 1463 11 is_stmt 1 view .LVU802
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2338 .loc 1 1463 15 is_stmt 0 view .LVU803
2339 027a 236C ldr r3, [r4, #64]
1463:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
2340 .loc 1 1463 28 view .LVU804
2341 027c 0233 adds r3, r3, #2
2342 027e 2364 str r3, [r4, #64]
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
2343 .loc 1 1464 11 is_stmt 1 view .LVU805
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
2344 .loc 1 1464 15 is_stmt 0 view .LVU806
2345 0280 B4F84630 ldrh r3, [r4, #70]
2346 0284 9BB2 uxth r3, r3
1464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount <= 1U)
ARM GAS /tmp/ccZ0BHQJ.s page 131
2347 .loc 1 1464 29 view .LVU807
2348 0286 023B subs r3, r3, #2
2349 0288 9BB2 uxth r3, r3
2350 028a A4F84630 strh r3, [r4, #70] @ movhi
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2351 .loc 1 1465 11 is_stmt 1 view .LVU808
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2352 .loc 1 1465 19 is_stmt 0 view .LVU809
2353 028e B4F84630 ldrh r3, [r4, #70]
2354 0292 9BB2 uxth r3, r3
1465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2355 .loc 1 1465 14 view .LVU810
2356 0294 012B cmp r3, #1
2357 0296 ADD9 bls .L176
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2358 .loc 1 1478 19 view .LVU811
2359 0298 0127 movs r7, #1
2360 .LVL122:
1478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2361 .loc 1 1478 19 view .LVU812
2362 029a C0E7 b .L156
2363 .LVL123:
2364 .L159:
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2365 .loc 1 1482 9 is_stmt 1 view .LVU813
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2366 .loc 1 1483 9 view .LVU814
1483:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2367 .loc 1 1483 21 is_stmt 0 view .LVU815
2368 029c 0123 movs r3, #1
2369 029e 84F85D30 strb r3, [r4, #93]
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2370 .loc 1 1484 9 is_stmt 1 view .LVU816
1482:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2371 .loc 1 1482 19 is_stmt 0 view .LVU817
2372 02a2 0320 movs r0, #3
1484:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2373 .loc 1 1484 9 view .LVU818
2374 02a4 0FE0 b .L137
2375 .LVL124:
2376 .L150:
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2377 .loc 1 1547 3 is_stmt 1 view .LVU819
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2378 .loc 1 1547 7 is_stmt 0 view .LVU820
2379 02a6 3246 mov r2, r6
2380 02a8 2946 mov r1, r5
2381 02aa 2046 mov r0, r4
2382 02ac FFF7FEFF bl SPI_EndRxTxTransaction
2383 .LVL125:
1547:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2384 .loc 1 1547 6 discriminator 1 view .LVU821
2385 02b0 10B1 cbz r0, .L162
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
2386 .loc 1 1549 5 is_stmt 1 view .LVU822
2387 .LVL126:
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 132
2388 .loc 1 1550 5 view .LVU823
1550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2389 .loc 1 1550 21 is_stmt 0 view .LVU824
2390 02b2 2023 movs r3, #32
2391 02b4 2366 str r3, [r4, #96]
1549:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
2392 .loc 1 1549 15 view .LVU825
2393 02b6 0120 movs r0, #1
2394 .LVL127:
2395 .L162:
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2396 .loc 1 1553 3 is_stmt 1 view .LVU826
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2397 .loc 1 1553 11 is_stmt 0 view .LVU827
2398 02b8 236E ldr r3, [r4, #96]
1553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2399 .loc 1 1553 6 view .LVU828
2400 02ba 9BB9 cbnz r3, .L171
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2401 .loc 1 1559 5 is_stmt 1 view .LVU829
1559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2402 .loc 1 1559 17 is_stmt 0 view .LVU830
2403 02bc 0123 movs r3, #1
2404 02be 84F85D30 strb r3, [r4, #93]
2405 02c2 00E0 b .L137
2406 .LVL128:
2407 .L164:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2408 .loc 1 1298 15 view .LVU831
2409 02c4 0220 movs r0, #2
2410 .LVL129:
2411 .L137:
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2412 .loc 1 1563 3 is_stmt 1 view .LVU832
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2413 .loc 1 1563 3 view .LVU833
2414 02c6 0023 movs r3, #0
2415 02c8 84F85C30 strb r3, [r4, #92]
1563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2416 .loc 1 1563 3 view .LVU834
1564:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2417 .loc 1 1564 3 view .LVU835
2418 .LVL130:
2419 .L135:
1565:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2420 .loc 1 1565 1 is_stmt 0 view .LVU836
2421 02cc BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
2422 .LVL131:
2423 .L165:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2424 .loc 1 1298 15 view .LVU837
2425 02d0 0220 movs r0, #2
2426 .LVL132:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2427 .loc 1 1298 15 view .LVU838
2428 02d2 F8E7 b .L137
2429 .LVL133:
ARM GAS /tmp/ccZ0BHQJ.s page 133
2430 .L166:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2431 .loc 1 1298 15 view .LVU839
2432 02d4 0220 movs r0, #2
2433 .LVL134:
1298:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2434 .loc 1 1298 15 view .LVU840
2435 02d6 F6E7 b .L137
2436 .LVL135:
2437 .L167:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2438 .loc 1 1304 15 view .LVU841
2439 02d8 0120 movs r0, #1
2440 .LVL136:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2441 .loc 1 1304 15 view .LVU842
2442 02da F4E7 b .L137
2443 .LVL137:
2444 .L168:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2445 .loc 1 1304 15 view .LVU843
2446 02dc 0120 movs r0, #1
2447 .LVL138:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2448 .loc 1 1304 15 view .LVU844
2449 02de F2E7 b .L137
2450 .LVL139:
2451 .L169:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2452 .loc 1 1304 15 view .LVU845
2453 02e0 0120 movs r0, #1
2454 .LVL140:
1304:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2455 .loc 1 1304 15 view .LVU846
2456 02e2 F0E7 b .L137
2457 .LVL141:
2458 .L171:
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2459 .loc 1 1555 15 view .LVU847
2460 02e4 0120 movs r0, #1
2461 .LVL142:
1555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2462 .loc 1 1555 15 view .LVU848
2463 02e6 EEE7 b .L137
2464 .LVL143:
2465 .L163:
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2466 .loc 1 1280 3 discriminator 1 view .LVU849
2467 02e8 0220 movs r0, #2
2468 .LVL144:
1280:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2469 .loc 1 1280 3 discriminator 1 view .LVU850
2470 02ea EFE7 b .L135
2471 .cfi_endproc
2472 .LFE136:
2474 .section .text.HAL_SPI_Receive,"ax",%progbits
2475 .align 1
ARM GAS /tmp/ccZ0BHQJ.s page 134
2476 .global HAL_SPI_Receive
2477 .syntax unified
2478 .thumb
2479 .thumb_func
2481 HAL_SPI_Receive:
2482 .LVL145:
2483 .LFB135:
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2484 .loc 1 1012 1 is_stmt 1 view -0
2485 .cfi_startproc
2486 @ args = 0, pretend = 0, frame = 0
2487 @ frame_needed = 0, uses_anonymous_args = 0
1012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2488 .loc 1 1012 1 is_stmt 0 view .LVU852
2489 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
2490 .cfi_def_cfa_offset 28
2491 .cfi_offset 4, -28
2492 .cfi_offset 5, -24
2493 .cfi_offset 6, -20
2494 .cfi_offset 7, -16
2495 .cfi_offset 8, -12
2496 .cfi_offset 9, -8
2497 .cfi_offset 14, -4
2498 0004 83B0 sub sp, sp, #12
2499 .cfi_def_cfa_offset 40
2500 0006 0446 mov r4, r0
1018:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2501 .loc 1 1018 3 is_stmt 1 view .LVU853
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2502 .loc 1 1019 3 view .LVU854
2503 .LVL146:
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2504 .loc 1 1021 3 view .LVU855
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2505 .loc 1 1021 11 is_stmt 0 view .LVU856
2506 0008 90F85D60 ldrb r6, [r0, #93] @ zero_extendqisi2
2507 000c F6B2 uxtb r6, r6
1021:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2508 .loc 1 1021 6 view .LVU857
2509 000e 012E cmp r6, #1
2510 0010 40F0C080 bne .L199
2511 0014 8846 mov r8, r1
2512 0016 9146 mov r9, r2
2513 0018 1D46 mov r5, r3
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2514 .loc 1 1027 3 is_stmt 1 view .LVU858
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2515 .loc 1 1027 18 is_stmt 0 view .LVU859
2516 001a 4368 ldr r3, [r0, #4]
2517 .LVL147:
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2518 .loc 1 1027 6 view .LVU860
2519 001c B3F5827F cmp r3, #260
2520 0020 3DD0 beq .L202
2521 .L179:
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2522 .loc 1 1035 3 is_stmt 1 view .LVU861
ARM GAS /tmp/ccZ0BHQJ.s page 135
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2523 .loc 1 1035 3 view .LVU862
2524 0022 94F85C30 ldrb r3, [r4, #92] @ zero_extendqisi2
2525 0026 012B cmp r3, #1
2526 0028 00F0BC80 beq .L200
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2527 .loc 1 1035 3 discriminator 2 view .LVU863
2528 002c 0123 movs r3, #1
2529 002e 84F85C30 strb r3, [r4, #92]
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2530 .loc 1 1035 3 discriminator 2 view .LVU864
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2531 .loc 1 1038 3 view .LVU865
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2532 .loc 1 1038 15 is_stmt 0 view .LVU866
2533 0032 FFF7FEFF bl HAL_GetTick
2534 .LVL148:
1038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2535 .loc 1 1038 15 view .LVU867
2536 0036 0746 mov r7, r0
2537 .LVL149:
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2538 .loc 1 1040 3 is_stmt 1 view .LVU868
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2539 .loc 1 1040 6 is_stmt 0 view .LVU869
2540 0038 B8F1000F cmp r8, #0
2541 003c 00F0AB80 beq .L178
1040:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2542 .loc 1 1040 23 discriminator 1 view .LVU870
2543 0040 B9F1000F cmp r9, #0
2544 0044 00F0A780 beq .L178
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2545 .loc 1 1047 3 is_stmt 1 view .LVU871
1047:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2546 .loc 1 1047 21 is_stmt 0 view .LVU872
2547 0048 0423 movs r3, #4
2548 004a 84F85D30 strb r3, [r4, #93]
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2549 .loc 1 1048 3 is_stmt 1 view .LVU873
1048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2550 .loc 1 1048 21 is_stmt 0 view .LVU874
2551 004e 0023 movs r3, #0
2552 0050 2366 str r3, [r4, #96]
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2553 .loc 1 1049 3 is_stmt 1 view .LVU875
1049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
2554 .loc 1 1049 21 is_stmt 0 view .LVU876
2555 0052 C4F84080 str r8, [r4, #64]
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2556 .loc 1 1050 3 is_stmt 1 view .LVU877
1050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
2557 .loc 1 1050 21 is_stmt 0 view .LVU878
2558 0056 A4F84490 strh r9, [r4, #68] @ movhi
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2559 .loc 1 1051 3 is_stmt 1 view .LVU879
1051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2560 .loc 1 1051 21 is_stmt 0 view .LVU880
ARM GAS /tmp/ccZ0BHQJ.s page 136
2561 005a A4F84690 strh r9, [r4, #70] @ movhi
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2562 .loc 1 1054 3 is_stmt 1 view .LVU881
1054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
2563 .loc 1 1054 21 is_stmt 0 view .LVU882
2564 005e A363 str r3, [r4, #56]
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2565 .loc 1 1055 3 is_stmt 1 view .LVU883
1055:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
2566 .loc 1 1055 21 is_stmt 0 view .LVU884
2567 0060 A387 strh r3, [r4, #60] @ movhi
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2568 .loc 1 1056 3 is_stmt 1 view .LVU885
1056:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2569 .loc 1 1056 21 is_stmt 0 view .LVU886
2570 0062 E387 strh r3, [r4, #62] @ movhi
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2571 .loc 1 1057 3 is_stmt 1 view .LVU887
1057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
2572 .loc 1 1057 21 is_stmt 0 view .LVU888
2573 0064 E364 str r3, [r4, #76]
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2574 .loc 1 1058 3 is_stmt 1 view .LVU889
1058:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2575 .loc 1 1058 21 is_stmt 0 view .LVU890
2576 0066 2365 str r3, [r4, #80]
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2577 .loc 1 1071 3 is_stmt 1 view .LVU891
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2578 .loc 1 1071 17 is_stmt 0 view .LVU892
2579 0068 E368 ldr r3, [r4, #12]
1071:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2580 .loc 1 1071 6 view .LVU893
2581 006a B3F5E06F cmp r3, #1792
2582 006e 23D9 bls .L181
1074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2583 .loc 1 1074 5 is_stmt 1 view .LVU894
2584 0070 2268 ldr r2, [r4]
2585 0072 5368 ldr r3, [r2, #4]
2586 0074 23F48053 bic r3, r3, #4096
2587 0078 5360 str r3, [r2, #4]
2588 .L182:
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2589 .loc 1 1083 3 view .LVU895
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2590 .loc 1 1083 17 is_stmt 0 view .LVU896
2591 007a A368 ldr r3, [r4, #8]
1083:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2592 .loc 1 1083 6 view .LVU897
2593 007c B3F5004F cmp r3, #32768
2594 0080 20D0 beq .L203
2595 .L183:
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2596 .loc 1 1091 3 is_stmt 1 view .LVU898
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2597 .loc 1 1091 12 is_stmt 0 view .LVU899
2598 0082 2368 ldr r3, [r4]
ARM GAS /tmp/ccZ0BHQJ.s page 137
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2599 .loc 1 1091 22 view .LVU900
2600 0084 1A68 ldr r2, [r3]
1091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2601 .loc 1 1091 6 view .LVU901
2602 0086 12F0400F tst r2, #64
2603 008a 03D1 bne .L184
1094:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2604 .loc 1 1094 5 is_stmt 1 view .LVU902
2605 008c 1A68 ldr r2, [r3]
2606 008e 42F04002 orr r2, r2, #64
2607 0092 1A60 str r2, [r3]
2608 .L184:
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2609 .loc 1 1098 3 view .LVU903
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2610 .loc 1 1098 17 is_stmt 0 view .LVU904
2611 0094 E368 ldr r3, [r4, #12]
1098:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2612 .loc 1 1098 6 view .LVU905
2613 0096 B3F5E06F cmp r3, #1792
2614 009a 27D9 bls .L185
2615 009c 4CE0 b .L186
2616 .LVL150:
2617 .L202:
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2618 .loc 1 1027 58 discriminator 1 view .LVU906
2619 009e 8368 ldr r3, [r0, #8]
1027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2620 .loc 1 1027 44 discriminator 1 view .LVU907
2621 00a0 002B cmp r3, #0
2622 00a2 BED1 bne .L179
1029: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
2623 .loc 1 1029 5 is_stmt 1 view .LVU908
1029: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
2624 .loc 1 1029 17 is_stmt 0 view .LVU909
2625 00a4 0423 movs r3, #4
2626 00a6 80F85D30 strb r3, [r0, #93]
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2627 .loc 1 1031 5 is_stmt 1 view .LVU910
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2628 .loc 1 1031 12 is_stmt 0 view .LVU911
2629 00aa 0095 str r5, [sp]
2630 00ac 1346 mov r3, r2
2631 00ae 0A46 mov r2, r1
2632 .LVL151:
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2633 .loc 1 1031 12 view .LVU912
2634 00b0 FFF7FEFF bl HAL_SPI_TransmitReceive
2635 .LVL152:
1031:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2636 .loc 1 1031 12 view .LVU913
2637 00b4 0646 mov r6, r0
2638 00b6 71E0 b .L180
2639 .LVL153:
2640 .L181:
1079:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 138
2641 .loc 1 1079 5 is_stmt 1 view .LVU914
2642 00b8 2268 ldr r2, [r4]
2643 00ba 5368 ldr r3, [r2, #4]
2644 00bc 43F48053 orr r3, r3, #4096
2645 00c0 5360 str r3, [r2, #4]
2646 00c2 DAE7 b .L182
2647 .L203:
1086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
2648 .loc 1 1086 5 view .LVU915
2649 00c4 2268 ldr r2, [r4]
2650 00c6 1368 ldr r3, [r2]
2651 00c8 23F04003 bic r3, r3, #64
2652 00cc 1360 str r3, [r2]
1087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2653 .loc 1 1087 5 view .LVU916
2654 00ce 2268 ldr r2, [r4]
2655 00d0 1368 ldr r3, [r2]
2656 00d2 23F48043 bic r3, r3, #16384
2657 00d6 1360 str r3, [r2]
2658 00d8 D3E7 b .L183
2659 .LVL154:
2660 .L187:
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2661 .loc 1 1114 9 view .LVU917
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2662 .loc 1 1114 16 is_stmt 0 view .LVU918
2663 00da FFF7FEFF bl HAL_GetTick
2664 .LVL155:
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2665 .loc 1 1114 30 discriminator 1 view .LVU919
2666 00de C01B subs r0, r0, r7
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2667 .loc 1 1114 12 discriminator 1 view .LVU920
2668 00e0 A842 cmp r0, r5
2669 00e2 02D3 bcc .L189
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2670 .loc 1 1114 56 discriminator 1 view .LVU921
2671 00e4 B5F1FF3F cmp r5, #-1
2672 00e8 18D1 bne .L190
2673 .L189:
1114:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2674 .loc 1 1114 87 discriminator 3 view .LVU922
2675 00ea BDB1 cbz r5, .L190
2676 .L185:
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2677 .loc 1 1101 30 is_stmt 1 view .LVU923
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2678 .loc 1 1101 16 is_stmt 0 view .LVU924
2679 00ec B4F84630 ldrh r3, [r4, #70]
2680 00f0 9BB2 uxth r3, r3
1101:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2681 .loc 1 1101 30 view .LVU925
2682 00f2 002B cmp r3, #0
2683 00f4 3FD0 beq .L192
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2684 .loc 1 1104 7 is_stmt 1 view .LVU926
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 139
2685 .loc 1 1104 11 is_stmt 0 view .LVU927
2686 00f6 2368 ldr r3, [r4]
2687 00f8 9A68 ldr r2, [r3, #8]
1104:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2688 .loc 1 1104 10 view .LVU928
2689 00fa 12F0010F tst r2, #1
2690 00fe ECD0 beq .L187
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2691 .loc 1 1107 9 is_stmt 1 view .LVU929
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2692 .loc 1 1107 27 is_stmt 0 view .LVU930
2693 0100 226C ldr r2, [r4, #64]
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2694 .loc 1 1107 43 view .LVU931
2695 0102 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
1107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2696 .loc 1 1107 41 view .LVU932
2697 0104 1370 strb r3, [r2]
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2698 .loc 1 1108 9 is_stmt 1 view .LVU933
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2699 .loc 1 1108 13 is_stmt 0 view .LVU934
2700 0106 236C ldr r3, [r4, #64]
1108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2701 .loc 1 1108 26 view .LVU935
2702 0108 0133 adds r3, r3, #1
2703 010a 2364 str r3, [r4, #64]
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2704 .loc 1 1109 9 is_stmt 1 view .LVU936
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2705 .loc 1 1109 13 is_stmt 0 view .LVU937
2706 010c B4F84630 ldrh r3, [r4, #70]
2707 0110 9BB2 uxth r3, r3
1109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2708 .loc 1 1109 26 view .LVU938
2709 0112 013B subs r3, r3, #1
2710 0114 9BB2 uxth r3, r3
2711 0116 A4F84630 strh r3, [r4, #70] @ movhi
2712 011a E7E7 b .L185
2713 .L190:
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2714 .loc 1 1116 11 is_stmt 1 view .LVU939
2715 .LVL156:
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2716 .loc 1 1117 11 view .LVU940
1117:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2717 .loc 1 1117 23 is_stmt 0 view .LVU941
2718 011c 0123 movs r3, #1
2719 011e 84F85D30 strb r3, [r4, #93]
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2720 .loc 1 1118 11 is_stmt 1 view .LVU942
1116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2721 .loc 1 1116 21 is_stmt 0 view .LVU943
2722 0122 0326 movs r6, #3
1118:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2723 .loc 1 1118 11 view .LVU944
2724 0124 37E0 b .L178
ARM GAS /tmp/ccZ0BHQJ.s page 140
2725 .LVL157:
2726 .L193:
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2727 .loc 1 1138 9 is_stmt 1 view .LVU945
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2728 .loc 1 1138 16 is_stmt 0 view .LVU946
2729 0126 FFF7FEFF bl HAL_GetTick
2730 .LVL158:
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2731 .loc 1 1138 30 discriminator 1 view .LVU947
2732 012a C01B subs r0, r0, r7
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2733 .loc 1 1138 12 discriminator 1 view .LVU948
2734 012c A842 cmp r0, r5
2735 012e 02D3 bcc .L195
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2736 .loc 1 1138 56 discriminator 1 view .LVU949
2737 0130 B5F1FF3F cmp r5, #-1
2738 0134 1AD1 bne .L196
2739 .L195:
1138:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2740 .loc 1 1138 87 discriminator 3 view .LVU950
2741 0136 CDB1 cbz r5, .L196
2742 .L186:
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2743 .loc 1 1126 30 is_stmt 1 view .LVU951
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2744 .loc 1 1126 16 is_stmt 0 view .LVU952
2745 0138 B4F84630 ldrh r3, [r4, #70]
2746 013c 9BB2 uxth r3, r3
1126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2747 .loc 1 1126 30 view .LVU953
2748 013e D3B1 cbz r3, .L192
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2749 .loc 1 1129 7 is_stmt 1 view .LVU954
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2750 .loc 1 1129 11 is_stmt 0 view .LVU955
2751 0140 2368 ldr r3, [r4]
2752 0142 9A68 ldr r2, [r3, #8]
1129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2753 .loc 1 1129 10 view .LVU956
2754 0144 12F0010F tst r2, #1
2755 0148 EDD0 beq .L193
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2756 .loc 1 1131 9 is_stmt 1 view .LVU957
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2757 .loc 1 1131 67 is_stmt 0 view .LVU958
2758 014a DA68 ldr r2, [r3, #12]
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2759 .loc 1 1131 27 view .LVU959
2760 014c 236C ldr r3, [r4, #64]
1131:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2761 .loc 1 1131 41 view .LVU960
2762 014e 1A80 strh r2, [r3] @ movhi
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2763 .loc 1 1132 9 is_stmt 1 view .LVU961
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
ARM GAS /tmp/ccZ0BHQJ.s page 141
2764 .loc 1 1132 13 is_stmt 0 view .LVU962
2765 0150 236C ldr r3, [r4, #64]
1132:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
2766 .loc 1 1132 26 view .LVU963
2767 0152 0233 adds r3, r3, #2
2768 0154 2364 str r3, [r4, #64]
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2769 .loc 1 1133 9 is_stmt 1 view .LVU964
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2770 .loc 1 1133 13 is_stmt 0 view .LVU965
2771 0156 B4F846C0 ldrh ip, [r4, #70]
2772 015a 1FFA8CFC uxth ip, ip
1133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2773 .loc 1 1133 26 view .LVU966
2774 015e 0CF1FF3C add ip, ip, #-1
2775 0162 1FFA8CFC uxth ip, ip
2776 0166 A4F846C0 strh ip, [r4, #70] @ movhi
2777 016a E5E7 b .L186
2778 .L196:
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2779 .loc 1 1140 11 is_stmt 1 view .LVU967
2780 .LVL159:
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2781 .loc 1 1141 11 view .LVU968
1141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2782 .loc 1 1141 23 is_stmt 0 view .LVU969
2783 016c 0123 movs r3, #1
2784 016e 84F85D30 strb r3, [r4, #93]
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2785 .loc 1 1142 11 is_stmt 1 view .LVU970
1140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2786 .loc 1 1140 21 is_stmt 0 view .LVU971
2787 0172 0326 movs r6, #3
1142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2788 .loc 1 1142 11 view .LVU972
2789 0174 0FE0 b .L178
2790 .LVL160:
2791 .L192:
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2792 .loc 1 1218 3 is_stmt 1 view .LVU973
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2793 .loc 1 1218 7 is_stmt 0 view .LVU974
2794 0176 3A46 mov r2, r7
2795 0178 2946 mov r1, r5
2796 017a 2046 mov r0, r4
2797 017c FFF7FEFF bl SPI_EndRxTransaction
2798 .LVL161:
1218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2799 .loc 1 1218 6 discriminator 1 view .LVU975
2800 0180 08B1 cbz r0, .L198
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2801 .loc 1 1220 5 is_stmt 1 view .LVU976
1220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2802 .loc 1 1220 21 is_stmt 0 view .LVU977
2803 0182 2023 movs r3, #32
2804 0184 2366 str r3, [r4, #96]
2805 .L198:
ARM GAS /tmp/ccZ0BHQJ.s page 142
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2806 .loc 1 1232 3 is_stmt 1 view .LVU978
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2807 .loc 1 1232 11 is_stmt 0 view .LVU979
2808 0186 236E ldr r3, [r4, #96]
1232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2809 .loc 1 1232 6 view .LVU980
2810 0188 2BB9 cbnz r3, .L178
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2811 .loc 1 1238 5 is_stmt 1 view .LVU981
1238:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2812 .loc 1 1238 17 is_stmt 0 view .LVU982
2813 018a 0123 movs r3, #1
2814 018c 84F85D30 strb r3, [r4, #93]
1019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2815 .loc 1 1019 21 view .LVU983
2816 0190 0026 movs r6, #0
2817 0192 00E0 b .L178
2818 .LVL162:
2819 .L199:
1023:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2820 .loc 1 1023 15 view .LVU984
2821 0194 0226 movs r6, #2
2822 .LVL163:
2823 .L178:
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2824 .loc 1 1242 3 is_stmt 1 view .LVU985
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2825 .loc 1 1242 3 view .LVU986
2826 0196 0023 movs r3, #0
2827 0198 84F85C30 strb r3, [r4, #92]
1242:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2828 .loc 1 1242 3 view .LVU987
1243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2829 .loc 1 1243 3 view .LVU988
2830 .LVL164:
2831 .L180:
1244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2832 .loc 1 1244 1 is_stmt 0 view .LVU989
2833 019c 3046 mov r0, r6
2834 019e 03B0 add sp, sp, #12
2835 .cfi_remember_state
2836 .cfi_def_cfa_offset 28
2837 @ sp needed
2838 01a0 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
2839 .LVL165:
2840 .L200:
2841 .cfi_restore_state
1035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2842 .loc 1 1035 3 discriminator 1 view .LVU990
2843 01a4 0226 movs r6, #2
2844 01a6 F9E7 b .L180
2845 .cfi_endproc
2846 .LFE135:
2848 .section .text.HAL_SPI_Transmit_IT,"ax",%progbits
2849 .align 1
2850 .global HAL_SPI_Transmit_IT
ARM GAS /tmp/ccZ0BHQJ.s page 143
2851 .syntax unified
2852 .thumb
2853 .thumb_func
2855 HAL_SPI_Transmit_IT:
2856 .LVL166:
2857 .LFB137:
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2858 .loc 1 1576 1 is_stmt 1 view -0
2859 .cfi_startproc
2860 @ args = 0, pretend = 0, frame = 0
2861 @ frame_needed = 0, uses_anonymous_args = 0
2862 @ link register save eliminated.
1576:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2863 .loc 1 1576 1 is_stmt 0 view .LVU992
2864 0000 0346 mov r3, r0
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2865 .loc 1 1577 3 is_stmt 1 view .LVU993
2866 .LVL167:
1580:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2867 .loc 1 1580 3 view .LVU994
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2868 .loc 1 1583 3 view .LVU995
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2869 .loc 1 1583 3 view .LVU996
2870 0002 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
2871 .LVL168:
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2872 .loc 1 1583 3 is_stmt 0 view .LVU997
2873 0006 0128 cmp r0, #1
2874 0008 4CD0 beq .L210
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2875 .loc 1 1583 3 is_stmt 1 discriminator 2 view .LVU998
2876 000a 0120 movs r0, #1
2877 000c 83F85C00 strb r0, [r3, #92]
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2878 .loc 1 1583 3 discriminator 2 view .LVU999
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2879 .loc 1 1585 3 view .LVU1000
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2880 .loc 1 1585 6 is_stmt 0 view .LVU1001
2881 0010 0029 cmp r1, #0
2882 0012 3CD0 beq .L211
1585:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2883 .loc 1 1585 23 discriminator 1 view .LVU1002
2884 0014 002A cmp r2, #0
2885 0016 3CD0 beq .L212
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2886 .loc 1 1591 3 is_stmt 1 view .LVU1003
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2887 .loc 1 1591 11 is_stmt 0 view .LVU1004
2888 0018 93F85D00 ldrb r0, [r3, #93] @ zero_extendqisi2
2889 001c C0B2 uxtb r0, r0
1591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2890 .loc 1 1591 6 view .LVU1005
2891 001e 0128 cmp r0, #1
2892 0020 3CD1 bne .L213
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
ARM GAS /tmp/ccZ0BHQJ.s page 144
2893 .loc 1 1598 3 is_stmt 1 view .LVU1006
1598:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2894 .loc 1 1598 21 is_stmt 0 view .LVU1007
2895 0022 0320 movs r0, #3
2896 0024 83F85D00 strb r0, [r3, #93]
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2897 .loc 1 1599 3 is_stmt 1 view .LVU1008
1599:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2898 .loc 1 1599 21 is_stmt 0 view .LVU1009
2899 0028 0020 movs r0, #0
2900 002a 1866 str r0, [r3, #96]
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2901 .loc 1 1600 3 is_stmt 1 view .LVU1010
1600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
2902 .loc 1 1600 21 is_stmt 0 view .LVU1011
2903 002c 9963 str r1, [r3, #56]
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2904 .loc 1 1601 3 is_stmt 1 view .LVU1012
1601:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
2905 .loc 1 1601 21 is_stmt 0 view .LVU1013
2906 002e 9A87 strh r2, [r3, #60] @ movhi
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2907 .loc 1 1602 3 is_stmt 1 view .LVU1014
1602:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2908 .loc 1 1602 21 is_stmt 0 view .LVU1015
2909 0030 DA87 strh r2, [r3, #62] @ movhi
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
2910 .loc 1 1605 3 is_stmt 1 view .LVU1016
1605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
2911 .loc 1 1605 21 is_stmt 0 view .LVU1017
2912 0032 1864 str r0, [r3, #64]
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2913 .loc 1 1606 3 is_stmt 1 view .LVU1018
1606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
2914 .loc 1 1606 21 is_stmt 0 view .LVU1019
2915 0034 A3F84400 strh r0, [r3, #68] @ movhi
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2916 .loc 1 1607 3 is_stmt 1 view .LVU1020
1607:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
2917 .loc 1 1607 21 is_stmt 0 view .LVU1021
2918 0038 A3F84600 strh r0, [r3, #70] @ movhi
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2919 .loc 1 1608 3 is_stmt 1 view .LVU1022
1608:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2920 .loc 1 1608 21 is_stmt 0 view .LVU1023
2921 003c D864 str r0, [r3, #76]
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2922 .loc 1 1611 3 is_stmt 1 view .LVU1024
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2923 .loc 1 1611 17 is_stmt 0 view .LVU1025
2924 003e DA68 ldr r2, [r3, #12]
2925 .LVL169:
1611:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2926 .loc 1 1611 6 view .LVU1026
2927 0040 B2F5E06F cmp r2, #1792
2928 0044 15D9 bls .L207
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 145
2929 .loc 1 1613 5 is_stmt 1 view .LVU1027
1613:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2930 .loc 1 1613 17 is_stmt 0 view .LVU1028
2931 0046 184A ldr r2, .L216
2932 0048 1A65 str r2, [r3, #80]
2933 .L208:
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2934 .loc 1 1621 3 is_stmt 1 view .LVU1029
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2935 .loc 1 1621 17 is_stmt 0 view .LVU1030
2936 004a 9A68 ldr r2, [r3, #8]
1621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2937 .loc 1 1621 6 view .LVU1031
2938 004c B2F5004F cmp r2, #32768
2939 0050 12D0 beq .L215
2940 .LVL170:
2941 .L209:
1637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2942 .loc 1 1637 3 is_stmt 1 view .LVU1032
2943 0052 1968 ldr r1, [r3]
2944 0054 4A68 ldr r2, [r1, #4]
2945 0056 42F0A002 orr r2, r2, #160
2946 005a 4A60 str r2, [r1, #4]
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2947 .loc 1 1641 3 view .LVU1033
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2948 .loc 1 1641 12 is_stmt 0 view .LVU1034
2949 005c 1A68 ldr r2, [r3]
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2950 .loc 1 1641 22 view .LVU1035
2951 005e 1168 ldr r1, [r2]
1641:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
2952 .loc 1 1641 6 view .LVU1036
2953 0060 11F0400F tst r1, #64
2954 0064 1CD1 bne .L214
1644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2955 .loc 1 1644 5 is_stmt 1 view .LVU1037
2956 0066 1168 ldr r1, [r2]
2957 0068 41F04001 orr r1, r1, #64
2958 006c 1160 str r1, [r2]
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
2959 .loc 1 1577 21 is_stmt 0 view .LVU1038
2960 006e 0020 movs r0, #0
2961 0070 10E0 b .L206
2962 .LVL171:
2963 .L207:
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2964 .loc 1 1617 5 is_stmt 1 view .LVU1039
1617:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2965 .loc 1 1617 17 is_stmt 0 view .LVU1040
2966 0072 0E4A ldr r2, .L216+4
2967 0074 1A65 str r2, [r3, #80]
2968 0076 E8E7 b .L208
2969 .L215:
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
2970 .loc 1 1624 5 is_stmt 1 view .LVU1041
2971 0078 1968 ldr r1, [r3]
ARM GAS /tmp/ccZ0BHQJ.s page 146
2972 .LVL172:
1624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
2973 .loc 1 1624 5 is_stmt 0 view .LVU1042
2974 007a 0A68 ldr r2, [r1]
2975 007c 22F04002 bic r2, r2, #64
2976 0080 0A60 str r2, [r1]
2977 .LVL173:
1625:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2978 .loc 1 1625 5 is_stmt 1 view .LVU1043
2979 0082 1968 ldr r1, [r3]
2980 0084 0A68 ldr r2, [r1]
2981 0086 42F48042 orr r2, r2, #16384
2982 008a 0A60 str r2, [r1]
2983 008c E1E7 b .L209
2984 .LVL174:
2985 .L211:
1587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
2986 .loc 1 1587 15 is_stmt 0 view .LVU1044
2987 008e 0120 movs r0, #1
2988 0090 00E0 b .L206
2989 .L212:
2990 0092 0120 movs r0, #1
2991 .LVL175:
2992 .L206:
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2993 .loc 1 1648 3 is_stmt 1 view .LVU1045
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2994 .loc 1 1648 3 view .LVU1046
2995 0094 0022 movs r2, #0
2996 0096 83F85C20 strb r2, [r3, #92]
1648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
2997 .loc 1 1648 3 view .LVU1047
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2998 .loc 1 1649 3 view .LVU1048
1649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
2999 .loc 1 1649 10 is_stmt 0 view .LVU1049
3000 009a 7047 bx lr
3001 .LVL176:
3002 .L213:
1593:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3003 .loc 1 1593 15 view .LVU1050
3004 009c 0220 movs r0, #2
3005 009e F9E7 b .L206
3006 .LVL177:
3007 .L214:
1577:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3008 .loc 1 1577 21 view .LVU1051
3009 00a0 0020 movs r0, #0
3010 00a2 F7E7 b .L206
3011 .LVL178:
3012 .L210:
1583:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3013 .loc 1 1583 3 discriminator 1 view .LVU1052
3014 00a4 0220 movs r0, #2
1650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3015 .loc 1 1650 1 view .LVU1053
3016 00a6 7047 bx lr
ARM GAS /tmp/ccZ0BHQJ.s page 147
3017 .L217:
3018 .align 2
3019 .L216:
3020 00a8 00000000 .word SPI_TxISR_16BIT
3021 00ac 00000000 .word SPI_TxISR_8BIT
3022 .cfi_endproc
3023 .LFE137:
3025 .section .text.HAL_SPI_TransmitReceive_IT,"ax",%progbits
3026 .align 1
3027 .global HAL_SPI_TransmitReceive_IT
3028 .syntax unified
3029 .thumb
3030 .thumb_func
3032 HAL_SPI_TransmitReceive_IT:
3033 .LVL179:
3034 .LFB139:
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3035 .loc 1 1769 1 is_stmt 1 view -0
3036 .cfi_startproc
3037 @ args = 0, pretend = 0, frame = 0
3038 @ frame_needed = 0, uses_anonymous_args = 0
3039 @ link register save eliminated.
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3040 .loc 1 1769 1 is_stmt 0 view .LVU1055
3041 0000 8446 mov ip, r0
1770:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
3042 .loc 1 1770 3 is_stmt 1 view .LVU1056
1771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3043 .loc 1 1771 3 view .LVU1057
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3044 .loc 1 1772 3 view .LVU1058
3045 .LVL180:
1775:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3046 .loc 1 1775 3 view .LVU1059
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3047 .loc 1 1778 3 view .LVU1060
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3048 .loc 1 1778 3 view .LVU1061
3049 0002 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
3050 .LVL181:
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3051 .loc 1 1778 3 is_stmt 0 view .LVU1062
3052 0006 0128 cmp r0, #1
3053 0008 79D0 beq .L228
1769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3054 .loc 1 1769 1 view .LVU1063
3055 000a 10B4 push {r4}
3056 .cfi_def_cfa_offset 4
3057 .cfi_offset 4, -4
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3058 .loc 1 1778 3 is_stmt 1 discriminator 2 view .LVU1064
3059 000c 0120 movs r0, #1
3060 000e 8CF85C00 strb r0, [ip, #92]
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3061 .loc 1 1778 3 discriminator 2 view .LVU1065
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3062 .loc 1 1781 3 view .LVU1066
ARM GAS /tmp/ccZ0BHQJ.s page 148
1781:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3063 .loc 1 1781 23 is_stmt 0 view .LVU1067
3064 0012 9CF85D00 ldrb r0, [ip, #93] @ zero_extendqisi2
3065 0016 C0B2 uxtb r0, r0
3066 .LVL182:
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3067 .loc 1 1782 3 is_stmt 1 view .LVU1068
1782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3068 .loc 1 1782 23 is_stmt 0 view .LVU1069
3069 0018 DCF80440 ldr r4, [ip, #4]
3070 .LVL183:
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3071 .loc 1 1784 3 is_stmt 1 view .LVU1070
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3072 .loc 1 1784 6 is_stmt 0 view .LVU1071
3073 001c 0128 cmp r0, #1
3074 001e 08D0 beq .L220
1784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3075 .loc 1 1784 7 discriminator 1 view .LVU1072
3076 0020 B4F5827F cmp r4, #260
3077 0024 58D1 bne .L229
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3078 .loc 1 1785 54 view .LVU1073
3079 0026 DCF80840 ldr r4, [ip, #8]
3080 .LVL184:
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3081 .loc 1 1785 40 view .LVU1074
3082 002a 002C cmp r4, #0
3083 002c 5BD1 bne .L230
1785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3084 .loc 1 1785 90 discriminator 1 view .LVU1075
3085 002e 0428 cmp r0, #4
3086 0030 5BD1 bne .L231
3087 .L220:
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3088 .loc 1 1791 3 is_stmt 1 view .LVU1076
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3089 .loc 1 1791 6 is_stmt 0 view .LVU1077
3090 0032 0029 cmp r1, #0
3091 0034 5BD0 beq .L232
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3092 .loc 1 1791 25 discriminator 1 view .LVU1078
3093 0036 002A cmp r2, #0
3094 0038 5BD0 beq .L233
1791:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3095 .loc 1 1791 46 discriminator 2 view .LVU1079
3096 003a 002B cmp r3, #0
3097 003c 5BD0 beq .L234
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3098 .loc 1 1798 3 is_stmt 1 view .LVU1080
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3099 .loc 1 1798 11 is_stmt 0 view .LVU1081
3100 003e 9CF85D00 ldrb r0, [ip, #93] @ zero_extendqisi2
3101 .LVL185:
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3102 .loc 1 1798 11 view .LVU1082
3103 0042 C0B2 uxtb r0, r0
ARM GAS /tmp/ccZ0BHQJ.s page 149
1798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3104 .loc 1 1798 6 view .LVU1083
3105 0044 0428 cmp r0, #4
3106 0046 02D0 beq .L222
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3107 .loc 1 1800 5 is_stmt 1 view .LVU1084
1800:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3108 .loc 1 1800 17 is_stmt 0 view .LVU1085
3109 0048 0520 movs r0, #5
3110 004a 8CF85D00 strb r0, [ip, #93]
3111 .L222:
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3112 .loc 1 1804 3 is_stmt 1 view .LVU1086
1804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3113 .loc 1 1804 21 is_stmt 0 view .LVU1087
3114 004e 0020 movs r0, #0
3115 0050 CCF86000 str r0, [ip, #96]
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3116 .loc 1 1805 3 is_stmt 1 view .LVU1088
1805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3117 .loc 1 1805 21 is_stmt 0 view .LVU1089
3118 0054 CCF83810 str r1, [ip, #56]
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3119 .loc 1 1806 3 is_stmt 1 view .LVU1090
1806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3120 .loc 1 1806 21 is_stmt 0 view .LVU1091
3121 0058 ACF83C30 strh r3, [ip, #60] @ movhi
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3122 .loc 1 1807 3 is_stmt 1 view .LVU1092
1807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3123 .loc 1 1807 21 is_stmt 0 view .LVU1093
3124 005c ACF83E30 strh r3, [ip, #62] @ movhi
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3125 .loc 1 1808 3 is_stmt 1 view .LVU1094
1808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3126 .loc 1 1808 21 is_stmt 0 view .LVU1095
3127 0060 CCF84020 str r2, [ip, #64]
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3128 .loc 1 1809 3 is_stmt 1 view .LVU1096
1809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3129 .loc 1 1809 21 is_stmt 0 view .LVU1097
3130 0064 ACF84430 strh r3, [ip, #68] @ movhi
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3131 .loc 1 1810 3 is_stmt 1 view .LVU1098
1810:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3132 .loc 1 1810 21 is_stmt 0 view .LVU1099
3133 0068 ACF84630 strh r3, [ip, #70] @ movhi
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3134 .loc 1 1813 3 is_stmt 1 view .LVU1100
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3135 .loc 1 1813 17 is_stmt 0 view .LVU1101
3136 006c DCF80C20 ldr r2, [ip, #12]
3137 .LVL186:
1813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3138 .loc 1 1813 6 view .LVU1102
3139 0070 B2F5E06F cmp r2, #1792
3140 0074 22D9 bls .L223
ARM GAS /tmp/ccZ0BHQJ.s page 150
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3141 .loc 1 1815 5 is_stmt 1 view .LVU1103
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3142 .loc 1 1815 21 is_stmt 0 view .LVU1104
3143 0076 2349 ldr r1, .L240
3144 .LVL187:
1815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
3145 .loc 1 1815 21 view .LVU1105
3146 0078 CCF84C10 str r1, [ip, #76]
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3147 .loc 1 1816 5 is_stmt 1 view .LVU1106
1816:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3148 .loc 1 1816 21 is_stmt 0 view .LVU1107
3149 007c 2249 ldr r1, .L240+4
3150 007e CCF85010 str r1, [ip, #80]
3151 .L224:
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3152 .loc 1 1842 3 is_stmt 1 view .LVU1108
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3153 .loc 1 1842 6 is_stmt 0 view .LVU1109
3154 0082 B2F5E06F cmp r2, #1792
3155 0086 01D8 bhi .L225
1842:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3156 .loc 1 1842 49 discriminator 1 view .LVU1110
3157 0088 012B cmp r3, #1
3158 008a 1ED9 bls .L226
3159 .L225:
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3160 .loc 1 1845 5 is_stmt 1 view .LVU1111
3161 008c DCF80020 ldr r2, [ip]
3162 0090 5368 ldr r3, [r2, #4]
3163 .LVL188:
1845:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3164 .loc 1 1845 5 is_stmt 0 view .LVU1112
3165 0092 23F48053 bic r3, r3, #4096
3166 0096 5360 str r3, [r2, #4]
3167 .LVL189:
3168 .L227:
1854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3169 .loc 1 1854 3 is_stmt 1 view .LVU1113
3170 0098 DCF80020 ldr r2, [ip]
3171 009c 5368 ldr r3, [r2, #4]
3172 009e 43F0E003 orr r3, r3, #224
3173 00a2 5360 str r3, [r2, #4]
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3174 .loc 1 1857 3 view .LVU1114
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3175 .loc 1 1857 12 is_stmt 0 view .LVU1115
3176 00a4 DCF80030 ldr r3, [ip]
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3177 .loc 1 1857 22 view .LVU1116
3178 00a8 1A68 ldr r2, [r3]
1857:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3179 .loc 1 1857 6 view .LVU1117
3180 00aa 12F0400F tst r2, #64
3181 00ae 24D1 bne .L235
1860:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 151
3182 .loc 1 1860 5 is_stmt 1 view .LVU1118
3183 00b0 1A68 ldr r2, [r3]
3184 00b2 42F04002 orr r2, r2, #64
3185 00b6 1A60 str r2, [r3]
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3186 .loc 1 1772 24 is_stmt 0 view .LVU1119
3187 00b8 0020 movs r0, #0
3188 00ba 0EE0 b .L221
3189 .LVL190:
3190 .L223:
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3191 .loc 1 1820 5 is_stmt 1 view .LVU1120
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3192 .loc 1 1820 21 is_stmt 0 view .LVU1121
3193 00bc 1349 ldr r1, .L240+8
3194 .LVL191:
1820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
3195 .loc 1 1820 21 view .LVU1122
3196 00be CCF84C10 str r1, [ip, #76]
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3197 .loc 1 1821 5 is_stmt 1 view .LVU1123
1821:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3198 .loc 1 1821 21 is_stmt 0 view .LVU1124
3199 00c2 1349 ldr r1, .L240+12
3200 00c4 CCF85010 str r1, [ip, #80]
3201 00c8 DBE7 b .L224
3202 .L226:
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3203 .loc 1 1850 5 is_stmt 1 view .LVU1125
3204 00ca DCF80020 ldr r2, [ip]
3205 00ce 5368 ldr r3, [r2, #4]
3206 .LVL192:
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3207 .loc 1 1850 5 is_stmt 0 view .LVU1126
3208 00d0 43F48053 orr r3, r3, #4096
3209 00d4 5360 str r3, [r2, #4]
3210 .LVL193:
1850:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3211 .loc 1 1850 5 view .LVU1127
3212 00d6 DFE7 b .L227
3213 .LVL194:
3214 .L229:
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3215 .loc 1 1787 15 view .LVU1128
3216 00d8 0220 movs r0, #2
3217 .LVL195:
3218 .L221:
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3219 .loc 1 1865 3 is_stmt 1 view .LVU1129
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3220 .loc 1 1865 3 view .LVU1130
3221 00da 0023 movs r3, #0
3222 00dc 8CF85C30 strb r3, [ip, #92]
1865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3223 .loc 1 1865 3 view .LVU1131
1866:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3224 .loc 1 1866 3 view .LVU1132
ARM GAS /tmp/ccZ0BHQJ.s page 152
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3225 .loc 1 1867 1 is_stmt 0 view .LVU1133
3226 00e0 5DF8044B ldr r4, [sp], #4
3227 .cfi_remember_state
3228 .cfi_restore 4
3229 .cfi_def_cfa_offset 0
3230 00e4 7047 bx lr
3231 .LVL196:
3232 .L230:
3233 .cfi_restore_state
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3234 .loc 1 1787 15 view .LVU1134
3235 00e6 0220 movs r0, #2
3236 .LVL197:
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3237 .loc 1 1787 15 view .LVU1135
3238 00e8 F7E7 b .L221
3239 .LVL198:
3240 .L231:
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3241 .loc 1 1787 15 view .LVU1136
3242 00ea 0220 movs r0, #2
3243 .LVL199:
1787:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3244 .loc 1 1787 15 view .LVU1137
3245 00ec F5E7 b .L221
3246 .LVL200:
3247 .L232:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3248 .loc 1 1793 15 view .LVU1138
3249 00ee 0120 movs r0, #1
3250 .LVL201:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3251 .loc 1 1793 15 view .LVU1139
3252 00f0 F3E7 b .L221
3253 .LVL202:
3254 .L233:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3255 .loc 1 1793 15 view .LVU1140
3256 00f2 0120 movs r0, #1
3257 .LVL203:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3258 .loc 1 1793 15 view .LVU1141
3259 00f4 F1E7 b .L221
3260 .LVL204:
3261 .L234:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3262 .loc 1 1793 15 view .LVU1142
3263 00f6 0120 movs r0, #1
3264 .LVL205:
1793:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3265 .loc 1 1793 15 view .LVU1143
3266 00f8 EFE7 b .L221
3267 .LVL206:
3268 .L235:
1772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3269 .loc 1 1772 24 view .LVU1144
ARM GAS /tmp/ccZ0BHQJ.s page 153
3270 00fa 0020 movs r0, #0
3271 00fc EDE7 b .L221
3272 .LVL207:
3273 .L228:
3274 .cfi_def_cfa_offset 0
3275 .cfi_restore 4
1778:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3276 .loc 1 1778 3 discriminator 1 view .LVU1145
3277 00fe 0220 movs r0, #2
1867:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3278 .loc 1 1867 1 view .LVU1146
3279 0100 7047 bx lr
3280 .L241:
3281 0102 00BF .align 2
3282 .L240:
3283 0104 00000000 .word SPI_2linesRxISR_16BIT
3284 0108 00000000 .word SPI_2linesTxISR_16BIT
3285 010c 00000000 .word SPI_2linesRxISR_8BIT
3286 0110 00000000 .word SPI_2linesTxISR_8BIT
3287 .cfi_endproc
3288 .LFE139:
3290 .section .text.HAL_SPI_Receive_IT,"ax",%progbits
3291 .align 1
3292 .global HAL_SPI_Receive_IT
3293 .syntax unified
3294 .thumb
3295 .thumb_func
3297 HAL_SPI_Receive_IT:
3298 .LVL208:
3299 .LFB138:
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3300 .loc 1 1661 1 is_stmt 1 view -0
3301 .cfi_startproc
3302 @ args = 0, pretend = 0, frame = 0
3303 @ frame_needed = 0, uses_anonymous_args = 0
1661:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3304 .loc 1 1661 1 is_stmt 0 view .LVU1148
3305 0000 08B5 push {r3, lr}
3306 .cfi_def_cfa_offset 8
3307 .cfi_offset 3, -8
3308 .cfi_offset 14, -4
3309 0002 8446 mov ip, r0
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3310 .loc 1 1662 3 is_stmt 1 view .LVU1149
3311 .LVL209:
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3312 .loc 1 1665 3 view .LVU1150
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3313 .loc 1 1665 11 is_stmt 0 view .LVU1151
3314 0004 90F85D00 ldrb r0, [r0, #93] @ zero_extendqisi2
3315 .LVL210:
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3316 .loc 1 1665 11 view .LVU1152
3317 0008 C0B2 uxtb r0, r0
1665:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3318 .loc 1 1665 6 view .LVU1153
3319 000a 0128 cmp r0, #1
ARM GAS /tmp/ccZ0BHQJ.s page 154
3320 000c 6BD1 bne .L249
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3321 .loc 1 1671 3 is_stmt 1 view .LVU1154
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3322 .loc 1 1671 18 is_stmt 0 view .LVU1155
3323 000e DCF80830 ldr r3, [ip, #8]
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3324 .loc 1 1671 6 view .LVU1156
3325 0012 23B9 cbnz r3, .L244
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3326 .loc 1 1671 68 discriminator 1 view .LVU1157
3327 0014 DCF80430 ldr r3, [ip, #4]
1671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3328 .loc 1 1671 54 discriminator 1 view .LVU1158
3329 0018 B3F5827F cmp r3, #260
3330 001c 43D0 beq .L253
3331 .L244:
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3332 .loc 1 1679 3 is_stmt 1 view .LVU1159
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3333 .loc 1 1679 3 view .LVU1160
3334 001e 9CF85C30 ldrb r3, [ip, #92] @ zero_extendqisi2
3335 0022 012B cmp r3, #1
3336 0024 66D0 beq .L250
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3337 .loc 1 1679 3 discriminator 2 view .LVU1161
3338 0026 0123 movs r3, #1
3339 0028 8CF85C30 strb r3, [ip, #92]
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3340 .loc 1 1679 3 discriminator 2 view .LVU1162
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3341 .loc 1 1681 3 view .LVU1163
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3342 .loc 1 1681 6 is_stmt 0 view .LVU1164
3343 002c 0029 cmp r1, #0
3344 002e 5BD0 beq .L243
1681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3345 .loc 1 1681 23 discriminator 1 view .LVU1165
3346 0030 002A cmp r2, #0
3347 0032 59D0 beq .L243
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3348 .loc 1 1688 3 is_stmt 1 view .LVU1166
1688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3349 .loc 1 1688 21 is_stmt 0 view .LVU1167
3350 0034 0423 movs r3, #4
3351 0036 8CF85D30 strb r3, [ip, #93]
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3352 .loc 1 1689 3 is_stmt 1 view .LVU1168
1689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3353 .loc 1 1689 21 is_stmt 0 view .LVU1169
3354 003a 0023 movs r3, #0
3355 003c CCF86030 str r3, [ip, #96]
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3356 .loc 1 1690 3 is_stmt 1 view .LVU1170
1690:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3357 .loc 1 1690 21 is_stmt 0 view .LVU1171
3358 0040 CCF84010 str r1, [ip, #64]
ARM GAS /tmp/ccZ0BHQJ.s page 155
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3359 .loc 1 1691 3 is_stmt 1 view .LVU1172
1691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3360 .loc 1 1691 21 is_stmt 0 view .LVU1173
3361 0044 ACF84420 strh r2, [ip, #68] @ movhi
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3362 .loc 1 1692 3 is_stmt 1 view .LVU1174
1692:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3363 .loc 1 1692 21 is_stmt 0 view .LVU1175
3364 0048 ACF84620 strh r2, [ip, #70] @ movhi
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
3365 .loc 1 1695 3 is_stmt 1 view .LVU1176
1695:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
3366 .loc 1 1695 21 is_stmt 0 view .LVU1177
3367 004c CCF83830 str r3, [ip, #56]
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3368 .loc 1 1696 3 is_stmt 1 view .LVU1178
1696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
3369 .loc 1 1696 21 is_stmt 0 view .LVU1179
3370 0050 ACF83C30 strh r3, [ip, #60] @ movhi
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3371 .loc 1 1697 3 is_stmt 1 view .LVU1180
1697:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3372 .loc 1 1697 21 is_stmt 0 view .LVU1181
3373 0054 ACF83E30 strh r3, [ip, #62] @ movhi
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3374 .loc 1 1698 3 is_stmt 1 view .LVU1182
1698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3375 .loc 1 1698 21 is_stmt 0 view .LVU1183
3376 0058 CCF85030 str r3, [ip, #80]
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3377 .loc 1 1701 3 is_stmt 1 view .LVU1184
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3378 .loc 1 1701 17 is_stmt 0 view .LVU1185
3379 005c DCF80C30 ldr r3, [ip, #12]
1701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3380 .loc 1 1701 6 view .LVU1186
3381 0060 B3F5E06F cmp r3, #1792
3382 0064 28D9 bls .L246
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
3383 .loc 1 1704 5 is_stmt 1 view .LVU1187
3384 0066 DCF80020 ldr r2, [ip]
3385 .LVL211:
1704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
3386 .loc 1 1704 5 is_stmt 0 view .LVU1188
3387 006a 5368 ldr r3, [r2, #4]
3388 006c 23F48053 bic r3, r3, #4096
3389 0070 5360 str r3, [r2, #4]
3390 .LVL212:
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3391 .loc 1 1705 5 is_stmt 1 view .LVU1189
1705:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3392 .loc 1 1705 17 is_stmt 0 view .LVU1190
3393 0072 214B ldr r3, .L255
3394 0074 CCF84C30 str r3, [ip, #76]
3395 .L247:
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 156
3396 .loc 1 1715 3 is_stmt 1 view .LVU1191
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3397 .loc 1 1715 17 is_stmt 0 view .LVU1192
3398 0078 DCF80830 ldr r3, [ip, #8]
1715:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3399 .loc 1 1715 6 view .LVU1193
3400 007c B3F5004F cmp r3, #32768
3401 0080 24D0 beq .L254
3402 .L248:
1740:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3403 .loc 1 1740 3 is_stmt 1 view .LVU1194
3404 0082 DCF80020 ldr r2, [ip]
3405 0086 5368 ldr r3, [r2, #4]
3406 0088 43F06003 orr r3, r3, #96
3407 008c 5360 str r3, [r2, #4]
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3408 .loc 1 1747 3 view .LVU1195
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3409 .loc 1 1747 12 is_stmt 0 view .LVU1196
3410 008e DCF80030 ldr r3, [ip]
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3411 .loc 1 1747 22 view .LVU1197
3412 0092 1A68 ldr r2, [r3]
1747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3413 .loc 1 1747 6 view .LVU1198
3414 0094 12F0400F tst r2, #64
3415 0098 2AD1 bne .L251
1750:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3416 .loc 1 1750 5 is_stmt 1 view .LVU1199
3417 009a 1A68 ldr r2, [r3]
3418 009c 42F04002 orr r2, r2, #64
3419 00a0 1A60 str r2, [r3]
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3420 .loc 1 1662 21 is_stmt 0 view .LVU1200
3421 00a2 0020 movs r0, #0
3422 00a4 20E0 b .L243
3423 .LVL213:
3424 .L253:
1673: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
3425 .loc 1 1673 5 is_stmt 1 view .LVU1201
1673: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
3426 .loc 1 1673 17 is_stmt 0 view .LVU1202
3427 00a6 0423 movs r3, #4
3428 00a8 8CF85D30 strb r3, [ip, #93]
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3429 .loc 1 1675 5 is_stmt 1 view .LVU1203
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3430 .loc 1 1675 12 is_stmt 0 view .LVU1204
3431 00ac 1346 mov r3, r2
3432 00ae 0A46 mov r2, r1
3433 .LVL214:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3434 .loc 1 1675 12 view .LVU1205
3435 00b0 6046 mov r0, ip
3436 00b2 FFF7FEFF bl HAL_SPI_TransmitReceive_IT
3437 .LVL215:
1675:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 157
3438 .loc 1 1675 12 view .LVU1206
3439 00b6 1AE0 b .L245
3440 .LVL216:
3441 .L246:
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
3442 .loc 1 1710 5 is_stmt 1 view .LVU1207
3443 00b8 DCF80020 ldr r2, [ip]
3444 .LVL217:
1710:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
3445 .loc 1 1710 5 is_stmt 0 view .LVU1208
3446 00bc 5368 ldr r3, [r2, #4]
3447 00be 43F48053 orr r3, r3, #4096
3448 00c2 5360 str r3, [r2, #4]
3449 .LVL218:
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3450 .loc 1 1711 5 is_stmt 1 view .LVU1209
1711:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3451 .loc 1 1711 17 is_stmt 0 view .LVU1210
3452 00c4 0D4B ldr r3, .L255+4
3453 00c6 CCF84C30 str r3, [ip, #76]
3454 00ca D5E7 b .L247
3455 .L254:
1718:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
3456 .loc 1 1718 5 is_stmt 1 view .LVU1211
3457 00cc DCF80020 ldr r2, [ip]
3458 00d0 1368 ldr r3, [r2]
3459 00d2 23F04003 bic r3, r3, #64
3460 00d6 1360 str r3, [r2]
1719:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3461 .loc 1 1719 5 view .LVU1212
3462 00d8 DCF80020 ldr r2, [ip]
3463 00dc 1368 ldr r3, [r2]
3464 00de 23F48043 bic r3, r3, #16384
3465 00e2 1360 str r3, [r2]
3466 00e4 CDE7 b .L248
3467 .LVL219:
3468 .L249:
1667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3469 .loc 1 1667 15 is_stmt 0 view .LVU1213
3470 00e6 0220 movs r0, #2
3471 .LVL220:
3472 .L243:
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3473 .loc 1 1755 3 is_stmt 1 view .LVU1214
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3474 .loc 1 1755 3 view .LVU1215
3475 00e8 0023 movs r3, #0
3476 00ea 8CF85C30 strb r3, [ip, #92]
1755:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3477 .loc 1 1755 3 view .LVU1216
1756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3478 .loc 1 1756 3 view .LVU1217
3479 .LVL221:
3480 .L245:
1757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3481 .loc 1 1757 1 is_stmt 0 view .LVU1218
3482 00ee 08BD pop {r3, pc}
ARM GAS /tmp/ccZ0BHQJ.s page 158
3483 .LVL222:
3484 .L251:
1662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3485 .loc 1 1662 21 view .LVU1219
3486 00f0 0020 movs r0, #0
3487 00f2 F9E7 b .L243
3488 .LVL223:
3489 .L250:
1679:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3490 .loc 1 1679 3 discriminator 1 view .LVU1220
3491 00f4 0220 movs r0, #2
3492 00f6 FAE7 b .L245
3493 .L256:
3494 .align 2
3495 .L255:
3496 00f8 00000000 .word SPI_RxISR_16BIT
3497 00fc 00000000 .word SPI_RxISR_8BIT
3498 .cfi_endproc
3499 .LFE138:
3501 .section .text.HAL_SPI_Transmit_DMA,"ax",%progbits
3502 .align 1
3503 .global HAL_SPI_Transmit_DMA
3504 .syntax unified
3505 .thumb
3506 .thumb_func
3508 HAL_SPI_Transmit_DMA:
3509 .LVL224:
3510 .LFB140:
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3511 .loc 1 1878 1 is_stmt 1 view -0
3512 .cfi_startproc
3513 @ args = 0, pretend = 0, frame = 0
3514 @ frame_needed = 0, uses_anonymous_args = 0
1878:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3515 .loc 1 1878 1 is_stmt 0 view .LVU1222
3516 0000 38B5 push {r3, r4, r5, lr}
3517 .cfi_def_cfa_offset 16
3518 .cfi_offset 3, -16
3519 .cfi_offset 4, -12
3520 .cfi_offset 5, -8
3521 .cfi_offset 14, -4
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3522 .loc 1 1879 3 is_stmt 1 view .LVU1223
3523 .LVL225:
1882:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3524 .loc 1 1882 3 view .LVU1224
1885:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3525 .loc 1 1885 3 view .LVU1225
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3526 .loc 1 1888 3 view .LVU1226
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3527 .loc 1 1888 3 view .LVU1227
3528 0002 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
3529 0006 012B cmp r3, #1
3530 0008 00F08980 beq .L265
3531 000c 0446 mov r4, r0
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 159
3532 .loc 1 1888 3 discriminator 2 view .LVU1228
3533 000e 0123 movs r3, #1
3534 0010 80F85C30 strb r3, [r0, #92]
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3535 .loc 1 1888 3 discriminator 2 view .LVU1229
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3536 .loc 1 1890 3 view .LVU1230
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3537 .loc 1 1890 11 is_stmt 0 view .LVU1231
3538 0014 90F85D50 ldrb r5, [r0, #93] @ zero_extendqisi2
3539 0018 EDB2 uxtb r5, r5
1890:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3540 .loc 1 1890 6 view .LVU1232
3541 001a 9D42 cmp r5, r3
3542 001c 79D1 bne .L266
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3543 .loc 1 1896 3 is_stmt 1 view .LVU1233
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3544 .loc 1 1896 6 is_stmt 0 view .LVU1234
3545 001e 0029 cmp r1, #0
3546 0020 78D0 beq .L259
1896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3547 .loc 1 1896 23 discriminator 1 view .LVU1235
3548 0022 002A cmp r2, #0
3549 0024 76D0 beq .L259
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3550 .loc 1 1903 3 is_stmt 1 view .LVU1236
1903:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3551 .loc 1 1903 21 is_stmt 0 view .LVU1237
3552 0026 0323 movs r3, #3
3553 0028 80F85D30 strb r3, [r0, #93]
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
3554 .loc 1 1904 3 is_stmt 1 view .LVU1238
1904:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
3555 .loc 1 1904 21 is_stmt 0 view .LVU1239
3556 002c 0023 movs r3, #0
3557 002e 0366 str r3, [r0, #96]
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3558 .loc 1 1905 3 is_stmt 1 view .LVU1240
1905:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3559 .loc 1 1905 21 is_stmt 0 view .LVU1241
3560 0030 8163 str r1, [r0, #56]
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3561 .loc 1 1906 3 is_stmt 1 view .LVU1242
1906:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3562 .loc 1 1906 21 is_stmt 0 view .LVU1243
3563 0032 8287 strh r2, [r0, #60] @ movhi
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3564 .loc 1 1907 3 is_stmt 1 view .LVU1244
1907:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3565 .loc 1 1907 21 is_stmt 0 view .LVU1245
3566 0034 C287 strh r2, [r0, #62] @ movhi
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3567 .loc 1 1910 3 is_stmt 1 view .LVU1246
1910:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3568 .loc 1 1910 21 is_stmt 0 view .LVU1247
3569 0036 0364 str r3, [r0, #64]
ARM GAS /tmp/ccZ0BHQJ.s page 160
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
3570 .loc 1 1911 3 is_stmt 1 view .LVU1248
1911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxISR = NULL;
3571 .loc 1 1911 21 is_stmt 0 view .LVU1249
3572 0038 0365 str r3, [r0, #80]
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
3573 .loc 1 1912 3 is_stmt 1 view .LVU1250
1912:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = 0U;
3574 .loc 1 1912 21 is_stmt 0 view .LVU1251
3575 003a C364 str r3, [r0, #76]
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3576 .loc 1 1913 3 is_stmt 1 view .LVU1252
1913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
3577 .loc 1 1913 21 is_stmt 0 view .LVU1253
3578 003c A0F84430 strh r3, [r0, #68] @ movhi
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3579 .loc 1 1914 3 is_stmt 1 view .LVU1254
1914:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3580 .loc 1 1914 21 is_stmt 0 view .LVU1255
3581 0040 A0F84630 strh r3, [r0, #70] @ movhi
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3582 .loc 1 1917 3 is_stmt 1 view .LVU1256
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3583 .loc 1 1917 17 is_stmt 0 view .LVU1257
3584 0044 8368 ldr r3, [r0, #8]
1917:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3585 .loc 1 1917 6 view .LVU1258
3586 0046 B3F5004F cmp r3, #32768
3587 004a 39D0 beq .L268
3588 .LVL226:
3589 .L260:
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3590 .loc 1 1933 3 is_stmt 1 view .LVU1259
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3591 .loc 1 1933 7 is_stmt 0 view .LVU1260
3592 004c 636D ldr r3, [r4, #84]
1933:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3593 .loc 1 1933 38 view .LVU1261
3594 004e 354A ldr r2, .L271
3595 0050 DA62 str r2, [r3, #44]
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3596 .loc 1 1936 3 is_stmt 1 view .LVU1262
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3597 .loc 1 1936 7 is_stmt 0 view .LVU1263
3598 0052 636D ldr r3, [r4, #84]
1936:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3599 .loc 1 1936 34 view .LVU1264
3600 0054 344A ldr r2, .L271+4
3601 0056 9A62 str r2, [r3, #40]
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3602 .loc 1 1939 3 is_stmt 1 view .LVU1265
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3603 .loc 1 1939 7 is_stmt 0 view .LVU1266
3604 0058 636D ldr r3, [r4, #84]
1939:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3605 .loc 1 1939 35 view .LVU1267
3606 005a 344A ldr r2, .L271+8
ARM GAS /tmp/ccZ0BHQJ.s page 161
3607 005c 1A63 str r2, [r3, #48]
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3608 .loc 1 1942 3 is_stmt 1 view .LVU1268
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3609 .loc 1 1942 7 is_stmt 0 view .LVU1269
3610 005e 636D ldr r3, [r4, #84]
1942:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3611 .loc 1 1942 35 view .LVU1270
3612 0060 0022 movs r2, #0
3613 0062 5A63 str r2, [r3, #52]
1944:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Packing mode is enabled only if the DMA setting is HALWORD */
3614 .loc 1 1944 3 is_stmt 1 view .LVU1271
3615 0064 2268 ldr r2, [r4]
3616 0066 5368 ldr r3, [r2, #4]
3617 0068 23F48043 bic r3, r3, #16384
3618 006c 5360 str r3, [r2, #4]
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3619 .loc 1 1946 3 view .LVU1272
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3620 .loc 1 1946 18 is_stmt 0 view .LVU1273
3621 006e E368 ldr r3, [r4, #12]
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3622 .loc 1 1946 6 view .LVU1274
3623 0070 B3F5E06F cmp r3, #1792
3624 0074 04D8 bhi .L261
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3625 .loc 1 1946 58 discriminator 1 view .LVU1275
3626 0076 636D ldr r3, [r4, #84]
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3627 .loc 1 1946 72 discriminator 1 view .LVU1276
3628 0078 5B69 ldr r3, [r3, #20]
1946:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3629 .loc 1 1946 50 discriminator 1 view .LVU1277
3630 007a B3F5806F cmp r3, #1024
3631 007e 2AD0 beq .L269
3632 .L261:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3633 .loc 1 1962 3 is_stmt 1 view .LVU1278
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3634 .loc 1 1962 91 is_stmt 0 view .LVU1279
3635 0080 2268 ldr r2, [r4]
1963:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3636 .loc 1 1963 38 view .LVU1280
3637 0082 E38F ldrh r3, [r4, #62]
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3638 .loc 1 1962 17 view .LVU1281
3639 0084 9BB2 uxth r3, r3
3640 0086 0C32 adds r2, r2, #12
3641 0088 A16B ldr r1, [r4, #56]
3642 .LVL227:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3643 .loc 1 1962 17 view .LVU1282
3644 008a 606D ldr r0, [r4, #84]
3645 .LVL228:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3646 .loc 1 1962 17 view .LVU1283
3647 008c FFF7FEFF bl HAL_DMA_Start_IT
ARM GAS /tmp/ccZ0BHQJ.s page 162
3648 .LVL229:
1962:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
3649 .loc 1 1962 6 discriminator 1 view .LVU1284
3650 0090 0146 mov r1, r0
3651 0092 0028 cmp r0, #0
3652 0094 38D1 bne .L270
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3653 .loc 1 1973 3 is_stmt 1 view .LVU1285
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3654 .loc 1 1973 12 is_stmt 0 view .LVU1286
3655 0096 2368 ldr r3, [r4]
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3656 .loc 1 1973 22 view .LVU1287
3657 0098 1A68 ldr r2, [r3]
1973:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3658 .loc 1 1973 6 view .LVU1288
3659 009a 12F0400F tst r2, #64
3660 009e 03D1 bne .L264
1976:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3661 .loc 1 1976 5 is_stmt 1 view .LVU1289
3662 00a0 1A68 ldr r2, [r3]
3663 00a2 42F04002 orr r2, r2, #64
3664 00a6 1A60 str r2, [r3]
3665 .L264:
1980:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3666 .loc 1 1980 3 view .LVU1290
3667 00a8 2268 ldr r2, [r4]
3668 00aa 5368 ldr r3, [r2, #4]
3669 00ac 43F02003 orr r3, r3, #32
3670 00b0 5360 str r3, [r2, #4]
1983:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3671 .loc 1 1983 3 view .LVU1291
3672 00b2 2268 ldr r2, [r4]
3673 00b4 5368 ldr r3, [r2, #4]
3674 00b6 43F00203 orr r3, r3, #2
3675 00ba 5360 str r3, [r2, #4]
1879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3676 .loc 1 1879 21 is_stmt 0 view .LVU1292
3677 00bc 0D46 mov r5, r1
3678 00be 29E0 b .L259
3679 .LVL230:
3680 .L268:
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
3681 .loc 1 1920 5 is_stmt 1 view .LVU1293
3682 00c0 0268 ldr r2, [r0]
3683 .LVL231:
1920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_TX(hspi);
3684 .loc 1 1920 5 is_stmt 0 view .LVU1294
3685 00c2 1368 ldr r3, [r2]
3686 00c4 23F04003 bic r3, r3, #64
3687 00c8 1360 str r3, [r2]
3688 .LVL232:
1921:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3689 .loc 1 1921 5 is_stmt 1 view .LVU1295
3690 00ca 0268 ldr r2, [r0]
3691 00cc 1368 ldr r3, [r2]
3692 00ce 43F48043 orr r3, r3, #16384
ARM GAS /tmp/ccZ0BHQJ.s page 163
3693 00d2 1360 str r3, [r2]
3694 00d4 BAE7 b .L260
3695 .L269:
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3696 .loc 1 1949 5 view .LVU1296
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3697 .loc 1 1949 14 is_stmt 0 view .LVU1297
3698 00d6 E38F ldrh r3, [r4, #62]
1949:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3699 .loc 1 1949 8 view .LVU1298
3700 00d8 13F0010F tst r3, #1
3701 00dc 09D1 bne .L262
1951:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U);
3702 .loc 1 1951 7 is_stmt 1 view .LVU1299
3703 00de 2268 ldr r2, [r4]
3704 00e0 5368 ldr r3, [r2, #4]
3705 00e2 23F48043 bic r3, r3, #16384
3706 00e6 5360 str r3, [r2, #4]
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3707 .loc 1 1952 7 view .LVU1300
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3708 .loc 1 1952 32 is_stmt 0 view .LVU1301
3709 00e8 E38F ldrh r3, [r4, #62]
1952:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3710 .loc 1 1952 25 view .LVU1302
3711 00ea C3F34E03 ubfx r3, r3, #1, #15
3712 00ee E387 strh r3, [r4, #62] @ movhi
3713 00f0 C6E7 b .L261
3714 .L262:
1956:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
3715 .loc 1 1956 7 is_stmt 1 view .LVU1303
3716 00f2 2268 ldr r2, [r4]
3717 00f4 5368 ldr r3, [r2, #4]
3718 00f6 43F48043 orr r3, r3, #16384
3719 00fa 5360 str r3, [r2, #4]
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3720 .loc 1 1957 7 view .LVU1304
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3721 .loc 1 1957 32 is_stmt 0 view .LVU1305
3722 00fc E38F ldrh r3, [r4, #62]
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3723 .loc 1 1957 53 view .LVU1306
3724 00fe C3F34E03 ubfx r3, r3, #1, #15
3725 0102 0133 adds r3, r3, #1
1957:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3726 .loc 1 1957 25 view .LVU1307
3727 0104 E387 strh r3, [r4, #62] @ movhi
3728 0106 BBE7 b .L261
3729 .LVL233:
3730 .L270:
1966:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
3731 .loc 1 1966 5 is_stmt 1 view .LVU1308
3732 0108 236E ldr r3, [r4, #96]
3733 010a 43F01003 orr r3, r3, #16
3734 010e 2366 str r3, [r4, #96]
1967:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3735 .loc 1 1967 5 view .LVU1309
ARM GAS /tmp/ccZ0BHQJ.s page 164
3736 .LVL234:
1969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3737 .loc 1 1969 5 view .LVU1310
3738 0110 00E0 b .L259
3739 .LVL235:
3740 .L266:
1892:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
3741 .loc 1 1892 15 is_stmt 0 view .LVU1311
3742 0112 0225 movs r5, #2
3743 .LVL236:
3744 .L259:
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3745 .loc 1 1987 3 is_stmt 1 view .LVU1312
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3746 .loc 1 1987 3 view .LVU1313
3747 0114 0023 movs r3, #0
3748 0116 84F85C30 strb r3, [r4, #92]
1987:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
3749 .loc 1 1987 3 view .LVU1314
1988:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3750 .loc 1 1988 3 view .LVU1315
3751 .LVL237:
3752 .L258:
1989:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3753 .loc 1 1989 1 is_stmt 0 view .LVU1316
3754 011a 2846 mov r0, r5
3755 011c 38BD pop {r3, r4, r5, pc}
3756 .LVL238:
3757 .L265:
1888:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3758 .loc 1 1888 3 discriminator 1 view .LVU1317
3759 011e 0225 movs r5, #2
3760 0120 FBE7 b .L258
3761 .L272:
3762 0122 00BF .align 2
3763 .L271:
3764 0124 00000000 .word SPI_DMAHalfTransmitCplt
3765 0128 00000000 .word SPI_DMATransmitCplt
3766 012c 00000000 .word SPI_DMAError
3767 .cfi_endproc
3768 .LFE140:
3770 .section .text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits
3771 .align 1
3772 .global HAL_SPI_TransmitReceive_DMA
3773 .syntax unified
3774 .thumb
3775 .thumb_func
3777 HAL_SPI_TransmitReceive_DMA:
3778 .LVL239:
3779 .LFB142:
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3780 .loc 1 2156 1 is_stmt 1 view -0
3781 .cfi_startproc
3782 @ args = 0, pretend = 0, frame = 0
3783 @ frame_needed = 0, uses_anonymous_args = 0
2156:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tmp_mode;
3784 .loc 1 2156 1 is_stmt 0 view .LVU1319
ARM GAS /tmp/ccZ0BHQJ.s page 165
3785 0000 38B5 push {r3, r4, r5, lr}
3786 .cfi_def_cfa_offset 16
3787 .cfi_offset 3, -16
3788 .cfi_offset 4, -12
3789 .cfi_offset 5, -8
3790 .cfi_offset 14, -4
3791 0002 0446 mov r4, r0
2157:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
3792 .loc 1 2157 3 is_stmt 1 view .LVU1320
2158:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3793 .loc 1 2158 3 view .LVU1321
2159:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3794 .loc 1 2159 3 view .LVU1322
3795 .LVL240:
2162:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
3796 .loc 1 2162 3 view .LVU1323
2163:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3797 .loc 1 2163 3 view .LVU1324
2166:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3798 .loc 1 2166 3 view .LVU1325
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3799 .loc 1 2169 3 view .LVU1326
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3800 .loc 1 2169 3 view .LVU1327
3801 0004 90F85C00 ldrb r0, [r0, #92] @ zero_extendqisi2
3802 .LVL241:
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3803 .loc 1 2169 3 is_stmt 0 view .LVU1328
3804 0008 0128 cmp r0, #1
3805 000a 00F0FF80 beq .L289
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3806 .loc 1 2169 3 is_stmt 1 discriminator 2 view .LVU1329
3807 000e 0120 movs r0, #1
3808 0010 84F85C00 strb r0, [r4, #92]
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3809 .loc 1 2169 3 discriminator 2 view .LVU1330
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3810 .loc 1 2172 3 view .LVU1331
2172:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
3811 .loc 1 2172 23 is_stmt 0 view .LVU1332
3812 0014 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
3813 0018 C0B2 uxtb r0, r0
3814 .LVL242:
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3815 .loc 1 2173 3 is_stmt 1 view .LVU1333
2173:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3816 .loc 1 2173 23 is_stmt 0 view .LVU1334
3817 001a 6568 ldr r5, [r4, #4]
3818 .LVL243:
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3819 .loc 1 2175 3 is_stmt 1 view .LVU1335
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3820 .loc 1 2175 6 is_stmt 0 view .LVU1336
3821 001c 0128 cmp r0, #1
3822 001e 0AD0 beq .L275
2175:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
3823 .loc 1 2175 7 discriminator 1 view .LVU1337
ARM GAS /tmp/ccZ0BHQJ.s page 166
3824 0020 B5F5827F cmp r5, #260
3825 0024 40F0E180 bne .L290
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3826 .loc 1 2176 54 view .LVU1338
3827 0028 A568 ldr r5, [r4, #8]
3828 .LVL244:
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3829 .loc 1 2176 40 view .LVU1339
3830 002a 002D cmp r5, #0
3831 002c 40F0E280 bne .L291
2176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3832 .loc 1 2176 90 discriminator 1 view .LVU1340
3833 0030 0428 cmp r0, #4
3834 0032 40F0E180 bne .L292
3835 .L275:
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3836 .loc 1 2182 3 is_stmt 1 view .LVU1341
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3837 .loc 1 2182 6 is_stmt 0 view .LVU1342
3838 0036 0029 cmp r1, #0
3839 0038 00F0E080 beq .L293
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3840 .loc 1 2182 25 discriminator 1 view .LVU1343
3841 003c 002A cmp r2, #0
3842 003e 00F0DF80 beq .L294
2182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3843 .loc 1 2182 46 discriminator 2 view .LVU1344
3844 0042 002B cmp r3, #0
3845 0044 00F0DE80 beq .L295
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3846 .loc 1 2189 3 is_stmt 1 view .LVU1345
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3847 .loc 1 2189 11 is_stmt 0 view .LVU1346
3848 0048 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
3849 .LVL245:
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3850 .loc 1 2189 11 view .LVU1347
3851 004c C0B2 uxtb r0, r0
2189:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3852 .loc 1 2189 6 view .LVU1348
3853 004e 0428 cmp r0, #4
3854 0050 02D0 beq .L277
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3855 .loc 1 2191 5 is_stmt 1 view .LVU1349
2191:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3856 .loc 1 2191 17 is_stmt 0 view .LVU1350
3857 0052 0520 movs r0, #5
3858 0054 84F85D00 strb r0, [r4, #93]
3859 .L277:
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3860 .loc 1 2195 3 is_stmt 1 view .LVU1351
2195:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
3861 .loc 1 2195 21 is_stmt 0 view .LVU1352
3862 0058 0020 movs r0, #0
3863 005a 2066 str r0, [r4, #96]
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3864 .loc 1 2196 3 is_stmt 1 view .LVU1353
ARM GAS /tmp/ccZ0BHQJ.s page 167
2196:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = Size;
3865 .loc 1 2196 21 is_stmt 0 view .LVU1354
3866 005c A163 str r1, [r4, #56]
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3867 .loc 1 2197 3 is_stmt 1 view .LVU1355
2197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = Size;
3868 .loc 1 2197 21 is_stmt 0 view .LVU1356
3869 005e A387 strh r3, [r4, #60] @ movhi
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3870 .loc 1 2198 3 is_stmt 1 view .LVU1357
2198:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3871 .loc 1 2198 21 is_stmt 0 view .LVU1358
3872 0060 E387 strh r3, [r4, #62] @ movhi
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3873 .loc 1 2199 3 is_stmt 1 view .LVU1359
2199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
3874 .loc 1 2199 21 is_stmt 0 view .LVU1360
3875 0062 2264 str r2, [r4, #64]
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3876 .loc 1 2200 3 is_stmt 1 view .LVU1361
2200:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
3877 .loc 1 2200 21 is_stmt 0 view .LVU1362
3878 0064 A4F84430 strh r3, [r4, #68] @ movhi
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3879 .loc 1 2201 3 is_stmt 1 view .LVU1363
2201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3880 .loc 1 2201 21 is_stmt 0 view .LVU1364
3881 0068 A4F84630 strh r3, [r4, #70] @ movhi
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3882 .loc 1 2204 3 is_stmt 1 view .LVU1365
2204:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
3883 .loc 1 2204 21 is_stmt 0 view .LVU1366
3884 006c E064 str r0, [r4, #76]
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3885 .loc 1 2205 3 is_stmt 1 view .LVU1367
2205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3886 .loc 1 2205 21 is_stmt 0 view .LVU1368
3887 006e 2065 str r0, [r4, #80]
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3888 .loc 1 2217 3 is_stmt 1 view .LVU1369
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3889 .loc 1 2217 18 is_stmt 0 view .LVU1370
3890 0070 E368 ldr r3, [r4, #12]
3891 .LVL246:
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3892 .loc 1 2217 6 view .LVU1371
3893 0072 B3F5E06F cmp r3, #1792
3894 0076 05D8 bhi .L278
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3895 .loc 1 2217 58 discriminator 1 view .LVU1372
3896 0078 A36D ldr r3, [r4, #88]
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3897 .loc 1 2217 72 discriminator 1 view .LVU1373
3898 007a 5B69 ldr r3, [r3, #20]
2217:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3899 .loc 1 2217 50 discriminator 1 view .LVU1374
3900 007c B3F5806F cmp r3, #1024
ARM GAS /tmp/ccZ0BHQJ.s page 168
3901 0080 00F0C280 beq .L296
3902 .L278:
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3903 .loc 1 2226 3 is_stmt 1 view .LVU1375
3904 0084 2268 ldr r2, [r4]
3905 .LVL247:
2226:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3906 .loc 1 2226 3 is_stmt 0 view .LVU1376
3907 0086 5368 ldr r3, [r2, #4]
3908 0088 23F4C043 bic r3, r3, #24576
3909 008c 5360 str r3, [r2, #4]
3910 .LVL248:
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3911 .loc 1 2229 3 is_stmt 1 view .LVU1377
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3912 .loc 1 2229 17 is_stmt 0 view .LVU1378
3913 008e E368 ldr r3, [r4, #12]
2229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3914 .loc 1 2229 6 view .LVU1379
3915 0090 B3F5E06F cmp r3, #1792
3916 0094 26D9 bls .L279
2232:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3917 .loc 1 2232 5 is_stmt 1 view .LVU1380
3918 0096 2268 ldr r2, [r4]
3919 0098 5368 ldr r3, [r2, #4]
3920 009a 23F48053 bic r3, r3, #4096
3921 009e 5360 str r3, [r2, #4]
3922 .L280:
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3923 .loc 1 2272 3 view .LVU1381
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3924 .loc 1 2272 11 is_stmt 0 view .LVU1382
3925 00a0 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
3926 00a4 DBB2 uxtb r3, r3
2272:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3927 .loc 1 2272 6 view .LVU1383
3928 00a6 042B cmp r3, #4
3929 00a8 67D0 beq .L298
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3930 .loc 1 2281 5 is_stmt 1 view .LVU1384
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3931 .loc 1 2281 9 is_stmt 0 view .LVU1385
3932 00aa A36D ldr r3, [r4, #88]
2281:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3933 .loc 1 2281 40 view .LVU1386
3934 00ac 584A ldr r2, .L301
3935 00ae DA62 str r2, [r3, #44]
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3936 .loc 1 2282 5 is_stmt 1 view .LVU1387
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3937 .loc 1 2282 9 is_stmt 0 view .LVU1388
3938 00b0 A36D ldr r3, [r4, #88]
2282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3939 .loc 1 2282 40 view .LVU1389
3940 00b2 584A ldr r2, .L301+4
3941 00b4 9A62 str r2, [r3, #40]
3942 .L285:
ARM GAS /tmp/ccZ0BHQJ.s page 169
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3943 .loc 1 2286 3 is_stmt 1 view .LVU1390
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3944 .loc 1 2286 7 is_stmt 0 view .LVU1391
3945 00b6 A36D ldr r3, [r4, #88]
2286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3946 .loc 1 2286 35 view .LVU1392
3947 00b8 574A ldr r2, .L301+8
3948 00ba 1A63 str r2, [r3, #48]
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3949 .loc 1 2289 3 is_stmt 1 view .LVU1393
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3950 .loc 1 2289 7 is_stmt 0 view .LVU1394
3951 00bc A36D ldr r3, [r4, #88]
2289:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3952 .loc 1 2289 35 view .LVU1395
3953 00be 0022 movs r2, #0
3954 00c0 5A63 str r2, [r3, #52]
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3955 .loc 1 2292 3 is_stmt 1 view .LVU1396
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3956 .loc 1 2292 63 is_stmt 0 view .LVU1397
3957 00c2 2168 ldr r1, [r4]
3958 .LVL249:
2293:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3959 .loc 1 2293 38 view .LVU1398
3960 00c4 B4F84630 ldrh r3, [r4, #70]
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3961 .loc 1 2292 17 view .LVU1399
3962 00c8 9BB2 uxth r3, r3
3963 00ca 226C ldr r2, [r4, #64]
3964 00cc 0C31 adds r1, r1, #12
3965 00ce A06D ldr r0, [r4, #88]
3966 00d0 FFF7FEFF bl HAL_DMA_Start_IT
3967 .LVL250:
2292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
3968 .loc 1 2292 6 discriminator 1 view .LVU1400
3969 00d4 0028 cmp r0, #0
3970 00d6 57D0 beq .L286
2296:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
3971 .loc 1 2296 5 is_stmt 1 view .LVU1401
3972 00d8 236E ldr r3, [r4, #96]
3973 00da 43F01003 orr r3, r3, #16
3974 00de 2366 str r3, [r4, #96]
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3975 .loc 1 2297 5 view .LVU1402
3976 .LVL251:
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3977 .loc 1 2299 5 view .LVU1403
2297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3978 .loc 1 2297 15 is_stmt 0 view .LVU1404
3979 00e0 0120 movs r0, #1
2299:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
3980 .loc 1 2299 5 view .LVU1405
3981 00e2 83E0 b .L276
3982 .LVL252:
3983 .L279:
ARM GAS /tmp/ccZ0BHQJ.s page 170
2237:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
3984 .loc 1 2237 5 is_stmt 1 view .LVU1406
3985 00e4 2268 ldr r2, [r4]
3986 00e6 5368 ldr r3, [r2, #4]
3987 00e8 43F48053 orr r3, r3, #4096
3988 00ec 5360 str r3, [r2, #4]
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3989 .loc 1 2239 5 view .LVU1407
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3990 .loc 1 2239 13 is_stmt 0 view .LVU1408
3991 00ee 636D ldr r3, [r4, #84]
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3992 .loc 1 2239 27 view .LVU1409
3993 00f0 5B69 ldr r3, [r3, #20]
2239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3994 .loc 1 2239 8 view .LVU1410
3995 00f2 B3F5806F cmp r3, #1024
3996 00f6 1AD0 beq .L299
3997 .L281:
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3998 .loc 1 2253 5 is_stmt 1 view .LVU1411
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
3999 .loc 1 2253 13 is_stmt 0 view .LVU1412
4000 00f8 A36D ldr r3, [r4, #88]
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4001 .loc 1 2253 27 view .LVU1413
4002 00fa 5B69 ldr r3, [r3, #20]
2253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4003 .loc 1 2253 8 view .LVU1414
4004 00fc B3F5806F cmp r3, #1024
4005 0100 CED1 bne .L280
2256:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4006 .loc 1 2256 7 is_stmt 1 view .LVU1415
4007 0102 2268 ldr r2, [r4]
4008 0104 5368 ldr r3, [r2, #4]
4009 0106 23F48053 bic r3, r3, #4096
4010 010a 5360 str r3, [r2, #4]
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4011 .loc 1 2258 7 view .LVU1416
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4012 .loc 1 2258 16 is_stmt 0 view .LVU1417
4013 010c B4F84630 ldrh r3, [r4, #70]
2258:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4014 .loc 1 2258 10 view .LVU1418
4015 0110 13F0010F tst r3, #1
4016 0114 24D1 bne .L283
2260:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
4017 .loc 1 2260 9 is_stmt 1 view .LVU1419
4018 0116 2268 ldr r2, [r4]
4019 0118 5368 ldr r3, [r2, #4]
4020 011a 23F40053 bic r3, r3, #8192
4021 011e 5360 str r3, [r2, #4]
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4022 .loc 1 2261 9 view .LVU1420
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4023 .loc 1 2261 33 is_stmt 0 view .LVU1421
4024 0120 B4F84630 ldrh r3, [r4, #70]
ARM GAS /tmp/ccZ0BHQJ.s page 171
2261:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4025 .loc 1 2261 27 view .LVU1422
4026 0124 C3F34E03 ubfx r3, r3, #1, #15
4027 0128 A4F84630 strh r3, [r4, #70] @ movhi
4028 012c B8E7 b .L280
4029 .L299:
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4030 .loc 1 2241 7 is_stmt 1 view .LVU1423
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4031 .loc 1 2241 16 is_stmt 0 view .LVU1424
4032 012e A38F ldrh r3, [r4, #60]
2241:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4033 .loc 1 2241 10 view .LVU1425
4034 0130 13F0010F tst r3, #1
4035 0134 09D1 bne .L282
2243:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = hspi->TxXferCount >> 1U;
4036 .loc 1 2243 9 is_stmt 1 view .LVU1426
4037 0136 2268 ldr r2, [r4]
4038 0138 5368 ldr r3, [r2, #4]
4039 013a 23F48043 bic r3, r3, #16384
4040 013e 5360 str r3, [r2, #4]
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4041 .loc 1 2244 9 view .LVU1427
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4042 .loc 1 2244 33 is_stmt 0 view .LVU1428
4043 0140 E38F ldrh r3, [r4, #62]
2244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4044 .loc 1 2244 27 view .LVU1429
4045 0142 C3F34E03 ubfx r3, r3, #1, #15
4046 0146 E387 strh r3, [r4, #62] @ movhi
4047 0148 D6E7 b .L281
4048 .L282:
2248:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount >> 1U) + 1U;
4049 .loc 1 2248 9 is_stmt 1 view .LVU1430
4050 014a 2268 ldr r2, [r4]
4051 014c 5368 ldr r3, [r2, #4]
4052 014e 43F48043 orr r3, r3, #16384
4053 0152 5360 str r3, [r2, #4]
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4054 .loc 1 2249 9 view .LVU1431
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4055 .loc 1 2249 34 is_stmt 0 view .LVU1432
4056 0154 E38F ldrh r3, [r4, #62]
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4057 .loc 1 2249 55 view .LVU1433
4058 0156 C3F34E03 ubfx r3, r3, #1, #15
4059 015a 0133 adds r3, r3, #1
2249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4060 .loc 1 2249 27 view .LVU1434
4061 015c E387 strh r3, [r4, #62] @ movhi
4062 015e CBE7 b .L281
4063 .L283:
2265:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
4064 .loc 1 2265 9 is_stmt 1 view .LVU1435
4065 0160 2268 ldr r2, [r4]
4066 0162 5368 ldr r3, [r2, #4]
4067 0164 43F40053 orr r3, r3, #8192
ARM GAS /tmp/ccZ0BHQJ.s page 172
4068 0168 5360 str r3, [r2, #4]
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4069 .loc 1 2266 9 view .LVU1436
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4070 .loc 1 2266 34 is_stmt 0 view .LVU1437
4071 016a B4F84630 ldrh r3, [r4, #70]
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4072 .loc 1 2266 55 view .LVU1438
4073 016e C3F34E03 ubfx r3, r3, #1, #15
4074 0172 0133 adds r3, r3, #1
2266:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4075 .loc 1 2266 27 view .LVU1439
4076 0174 A4F84630 strh r3, [r4, #70] @ movhi
4077 0178 92E7 b .L280
4078 .L298:
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4079 .loc 1 2275 5 is_stmt 1 view .LVU1440
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4080 .loc 1 2275 9 is_stmt 0 view .LVU1441
4081 017a A36D ldr r3, [r4, #88]
2275:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
4082 .loc 1 2275 40 view .LVU1442
4083 017c 274A ldr r2, .L301+12
4084 017e DA62 str r2, [r3, #44]
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4085 .loc 1 2276 5 is_stmt 1 view .LVU1443
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4086 .loc 1 2276 9 is_stmt 0 view .LVU1444
4087 0180 A36D ldr r3, [r4, #88]
2276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4088 .loc 1 2276 40 view .LVU1445
4089 0182 274A ldr r2, .L301+16
4090 0184 9A62 str r2, [r3, #40]
4091 0186 96E7 b .L285
4092 .LVL253:
4093 .L286:
2303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4094 .loc 1 2303 3 is_stmt 1 view .LVU1446
4095 0188 2268 ldr r2, [r4]
4096 018a 5368 ldr r3, [r2, #4]
4097 018c 43F00103 orr r3, r3, #1
4098 0190 5360 str r3, [r2, #4]
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4099 .loc 1 2307 3 view .LVU1447
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4100 .loc 1 2307 7 is_stmt 0 view .LVU1448
4101 0192 626D ldr r2, [r4, #84]
2307:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
4102 .loc 1 2307 38 view .LVU1449
4103 0194 0023 movs r3, #0
4104 0196 D362 str r3, [r2, #44]
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
4105 .loc 1 2308 3 is_stmt 1 view .LVU1450
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
4106 .loc 1 2308 7 is_stmt 0 view .LVU1451
4107 0198 626D ldr r2, [r4, #84]
2308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
ARM GAS /tmp/ccZ0BHQJ.s page 173
4108 .loc 1 2308 38 view .LVU1452
4109 019a 9362 str r3, [r2, #40]
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4110 .loc 1 2309 3 is_stmt 1 view .LVU1453
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4111 .loc 1 2309 7 is_stmt 0 view .LVU1454
4112 019c 626D ldr r2, [r4, #84]
2309:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
4113 .loc 1 2309 38 view .LVU1455
4114 019e 1363 str r3, [r2, #48]
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4115 .loc 1 2310 3 is_stmt 1 view .LVU1456
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4116 .loc 1 2310 7 is_stmt 0 view .LVU1457
4117 01a0 626D ldr r2, [r4, #84]
2310:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4118 .loc 1 2310 38 view .LVU1458
4119 01a2 5363 str r3, [r2, #52]
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4120 .loc 1 2313 3 is_stmt 1 view .LVU1459
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4121 .loc 1 2313 91 is_stmt 0 view .LVU1460
4122 01a4 2268 ldr r2, [r4]
2314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4123 .loc 1 2314 38 view .LVU1461
4124 01a6 E38F ldrh r3, [r4, #62]
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4125 .loc 1 2313 17 view .LVU1462
4126 01a8 9BB2 uxth r3, r3
4127 01aa 0C32 adds r2, r2, #12
4128 01ac A16B ldr r1, [r4, #56]
4129 01ae 606D ldr r0, [r4, #84]
4130 01b0 FFF7FEFF bl HAL_DMA_Start_IT
4131 .LVL254:
2313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount))
4132 .loc 1 2313 6 discriminator 1 view .LVU1463
4133 01b4 98B9 cbnz r0, .L300
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4134 .loc 1 2324 3 is_stmt 1 view .LVU1464
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4135 .loc 1 2324 12 is_stmt 0 view .LVU1465
4136 01b6 2368 ldr r3, [r4]
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4137 .loc 1 2324 22 view .LVU1466
4138 01b8 1A68 ldr r2, [r3]
2324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4139 .loc 1 2324 6 view .LVU1467
4140 01ba 12F0400F tst r2, #64
4141 01be 03D1 bne .L288
2327:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4142 .loc 1 2327 5 is_stmt 1 view .LVU1468
4143 01c0 1A68 ldr r2, [r3]
4144 01c2 42F04002 orr r2, r2, #64
4145 01c6 1A60 str r2, [r3]
4146 .L288:
2330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4147 .loc 1 2330 3 view .LVU1469
ARM GAS /tmp/ccZ0BHQJ.s page 174
4148 01c8 2268 ldr r2, [r4]
4149 01ca 5368 ldr r3, [r2, #4]
4150 01cc 43F02003 orr r3, r3, #32
4151 01d0 5360 str r3, [r2, #4]
2333:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4152 .loc 1 2333 3 view .LVU1470
4153 01d2 2268 ldr r2, [r4]
4154 01d4 5368 ldr r3, [r2, #4]
4155 01d6 43F00203 orr r3, r3, #2
4156 01da 5360 str r3, [r2, #4]
4157 01dc 06E0 b .L276
4158 .L300:
2317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
4159 .loc 1 2317 5 view .LVU1471
4160 01de 236E ldr r3, [r4, #96]
4161 01e0 43F01003 orr r3, r3, #16
4162 01e4 2366 str r3, [r4, #96]
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4163 .loc 1 2318 5 view .LVU1472
4164 .LVL255:
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4165 .loc 1 2320 5 view .LVU1473
2318:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4166 .loc 1 2318 15 is_stmt 0 view .LVU1474
4167 01e6 0120 movs r0, #1
2320:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4168 .loc 1 2320 5 view .LVU1475
4169 01e8 00E0 b .L276
4170 .LVL256:
4171 .L290:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4172 .loc 1 2178 15 view .LVU1476
4173 01ea 0220 movs r0, #2
4174 .LVL257:
4175 .L276:
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4176 .loc 1 2337 3 is_stmt 1 view .LVU1477
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4177 .loc 1 2337 3 view .LVU1478
4178 01ec 0023 movs r3, #0
4179 01ee 84F85C30 strb r3, [r4, #92]
2337:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4180 .loc 1 2337 3 view .LVU1479
2338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4181 .loc 1 2338 3 view .LVU1480
4182 .LVL258:
4183 .L274:
2339:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4184 .loc 1 2339 1 is_stmt 0 view .LVU1481
4185 01f2 38BD pop {r3, r4, r5, pc}
4186 .LVL259:
4187 .L291:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4188 .loc 1 2178 15 view .LVU1482
4189 01f4 0220 movs r0, #2
4190 .LVL260:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
ARM GAS /tmp/ccZ0BHQJ.s page 175
4191 .loc 1 2178 15 view .LVU1483
4192 01f6 F9E7 b .L276
4193 .LVL261:
4194 .L292:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4195 .loc 1 2178 15 view .LVU1484
4196 01f8 0220 movs r0, #2
4197 .LVL262:
2178:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4198 .loc 1 2178 15 view .LVU1485
4199 01fa F7E7 b .L276
4200 .LVL263:
4201 .L293:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4202 .loc 1 2184 15 view .LVU1486
4203 01fc 0120 movs r0, #1
4204 .LVL264:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4205 .loc 1 2184 15 view .LVU1487
4206 01fe F5E7 b .L276
4207 .LVL265:
4208 .L294:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4209 .loc 1 2184 15 view .LVU1488
4210 0200 0120 movs r0, #1
4211 .LVL266:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4212 .loc 1 2184 15 view .LVU1489
4213 0202 F3E7 b .L276
4214 .LVL267:
4215 .L295:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4216 .loc 1 2184 15 view .LVU1490
4217 0204 0120 movs r0, #1
4218 .LVL268:
2184:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4219 .loc 1 2184 15 view .LVU1491
4220 0206 F1E7 b .L276
4221 .LVL269:
4222 .L296:
2220:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4223 .loc 1 2220 15 view .LVU1492
4224 0208 0120 movs r0, #1
4225 020a EFE7 b .L276
4226 .LVL270:
4227 .L289:
2169:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4228 .loc 1 2169 3 discriminator 1 view .LVU1493
4229 020c 0220 movs r0, #2
4230 020e F0E7 b .L274
4231 .L302:
4232 .align 2
4233 .L301:
4234 0210 00000000 .word SPI_DMAHalfTransmitReceiveCplt
4235 0214 00000000 .word SPI_DMATransmitReceiveCplt
4236 0218 00000000 .word SPI_DMAError
4237 021c 00000000 .word SPI_DMAHalfReceiveCplt
ARM GAS /tmp/ccZ0BHQJ.s page 176
4238 0220 00000000 .word SPI_DMAReceiveCplt
4239 .cfi_endproc
4240 .LFE142:
4242 .section .text.HAL_SPI_Receive_DMA,"ax",%progbits
4243 .align 1
4244 .global HAL_SPI_Receive_DMA
4245 .syntax unified
4246 .thumb
4247 .thumb_func
4249 HAL_SPI_Receive_DMA:
4250 .LVL271:
4251 .LFB141:
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4252 .loc 1 2002 1 is_stmt 1 view -0
4253 .cfi_startproc
4254 @ args = 0, pretend = 0, frame = 0
4255 @ frame_needed = 0, uses_anonymous_args = 0
2002:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
4256 .loc 1 2002 1 is_stmt 0 view .LVU1495
4257 0000 38B5 push {r3, r4, r5, lr}
4258 .cfi_def_cfa_offset 16
4259 .cfi_offset 3, -16
4260 .cfi_offset 4, -12
4261 .cfi_offset 5, -8
4262 .cfi_offset 14, -4
4263 0002 0446 mov r4, r0
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4264 .loc 1 2003 3 is_stmt 1 view .LVU1496
4265 .LVL272:
2006:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4266 .loc 1 2006 3 view .LVU1497
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4267 .loc 1 2008 3 view .LVU1498
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4268 .loc 1 2008 11 is_stmt 0 view .LVU1499
4269 0004 90F85D50 ldrb r5, [r0, #93] @ zero_extendqisi2
4270 0008 EDB2 uxtb r5, r5
2008:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4271 .loc 1 2008 6 view .LVU1500
4272 000a 012D cmp r5, #1
4273 000c 40F0B180 bne .L314
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4274 .loc 1 2014 3 is_stmt 1 view .LVU1501
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4275 .loc 1 2014 18 is_stmt 0 view .LVU1502
4276 0010 8068 ldr r0, [r0, #8]
4277 .LVL273:
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4278 .loc 1 2014 6 view .LVU1503
4279 0012 18B9 cbnz r0, .L305
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4280 .loc 1 2014 68 discriminator 1 view .LVU1504
4281 0014 6368 ldr r3, [r4, #4]
2014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4282 .loc 1 2014 54 discriminator 1 view .LVU1505
4283 0016 B3F5827F cmp r3, #260
4284 001a 63D0 beq .L317
ARM GAS /tmp/ccZ0BHQJ.s page 177
4285 .L305:
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4286 .loc 1 2026 3 is_stmt 1 view .LVU1506
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4287 .loc 1 2026 3 view .LVU1507
4288 001c 94F85C30 ldrb r3, [r4, #92] @ zero_extendqisi2
4289 0020 012B cmp r3, #1
4290 0022 00F0AC80 beq .L315
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4291 .loc 1 2026 3 discriminator 2 view .LVU1508
4292 0026 0123 movs r3, #1
4293 0028 84F85C30 strb r3, [r4, #92]
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4294 .loc 1 2026 3 discriminator 2 view .LVU1509
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4295 .loc 1 2028 3 view .LVU1510
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4296 .loc 1 2028 6 is_stmt 0 view .LVU1511
4297 002c 0029 cmp r1, #0
4298 002e 00F0A180 beq .L304
2028:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4299 .loc 1 2028 23 discriminator 1 view .LVU1512
4300 0032 002A cmp r2, #0
4301 0034 00F09E80 beq .L304
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4302 .loc 1 2035 3 is_stmt 1 view .LVU1513
2035:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4303 .loc 1 2035 21 is_stmt 0 view .LVU1514
4304 0038 0423 movs r3, #4
4305 003a 84F85D30 strb r3, [r4, #93]
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4306 .loc 1 2036 3 is_stmt 1 view .LVU1515
2036:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4307 .loc 1 2036 21 is_stmt 0 view .LVU1516
4308 003e 0023 movs r3, #0
4309 0040 2366 str r3, [r4, #96]
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
4310 .loc 1 2037 3 is_stmt 1 view .LVU1517
2037:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferSize = Size;
4311 .loc 1 2037 21 is_stmt 0 view .LVU1518
4312 0042 2164 str r1, [r4, #64]
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
4313 .loc 1 2038 3 is_stmt 1 view .LVU1519
2038:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = Size;
4314 .loc 1 2038 21 is_stmt 0 view .LVU1520
4315 0044 A4F84420 strh r2, [r4, #68] @ movhi
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4316 .loc 1 2039 3 is_stmt 1 view .LVU1521
2039:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4317 .loc 1 2039 21 is_stmt 0 view .LVU1522
4318 0048 A4F84620 strh r2, [r4, #70] @ movhi
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
4319 .loc 1 2042 3 is_stmt 1 view .LVU1523
2042:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxISR = NULL;
4320 .loc 1 2042 21 is_stmt 0 view .LVU1524
4321 004c E364 str r3, [r4, #76]
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
ARM GAS /tmp/ccZ0BHQJ.s page 178
4322 .loc 1 2043 3 is_stmt 1 view .LVU1525
2043:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferSize = 0U;
4323 .loc 1 2043 21 is_stmt 0 view .LVU1526
4324 004e 2365 str r3, [r4, #80]
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4325 .loc 1 2044 3 is_stmt 1 view .LVU1527
2044:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4326 .loc 1 2044 21 is_stmt 0 view .LVU1528
4327 0050 A387 strh r3, [r4, #60] @ movhi
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4328 .loc 1 2045 3 is_stmt 1 view .LVU1529
2045:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4329 .loc 1 2045 21 is_stmt 0 view .LVU1530
4330 0052 E387 strh r3, [r4, #62] @ movhi
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4331 .loc 1 2048 3 is_stmt 1 view .LVU1531
2048:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4332 .loc 1 2048 6 is_stmt 0 view .LVU1532
4333 0054 B0F5004F cmp r0, #32768
4334 0058 4ED0 beq .L318
4335 .LVL274:
4336 .L307:
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4337 .loc 1 2065 3 is_stmt 1 view .LVU1533
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4338 .loc 1 2065 18 is_stmt 0 view .LVU1534
4339 005a E368 ldr r3, [r4, #12]
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4340 .loc 1 2065 6 view .LVU1535
4341 005c B3F5E06F cmp r3, #1792
4342 0060 05D8 bhi .L308
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4343 .loc 1 2065 58 discriminator 1 view .LVU1536
4344 0062 A36D ldr r3, [r4, #88]
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4345 .loc 1 2065 72 discriminator 1 view .LVU1537
4346 0064 5B69 ldr r3, [r3, #20]
2065:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4347 .loc 1 2065 50 discriminator 1 view .LVU1538
4348 0066 B3F5806F cmp r3, #1024
4349 006a 00F08380 beq .L304
4350 .L308:
2073:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
4351 .loc 1 2073 3 is_stmt 1 view .LVU1539
4352 006e 2268 ldr r2, [r4]
4353 0070 5368 ldr r3, [r2, #4]
4354 0072 23F40053 bic r3, r3, #8192
4355 0076 5360 str r3, [r2, #4]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4356 .loc 1 2074 3 view .LVU1540
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4357 .loc 1 2074 17 is_stmt 0 view .LVU1541
4358 0078 E368 ldr r3, [r4, #12]
2074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4359 .loc 1 2074 6 view .LVU1542
4360 007a B3F5E06F cmp r3, #1792
4361 007e 46D9 bls .L309
ARM GAS /tmp/ccZ0BHQJ.s page 179
2077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4362 .loc 1 2077 5 is_stmt 1 view .LVU1543
4363 0080 2268 ldr r2, [r4]
4364 0082 5368 ldr r3, [r2, #4]
4365 0084 23F48053 bic r3, r3, #4096
4366 0088 5360 str r3, [r2, #4]
4367 .L310:
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4368 .loc 1 2103 3 view .LVU1544
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4369 .loc 1 2103 7 is_stmt 0 view .LVU1545
4370 008a A36D ldr r3, [r4, #88]
2103:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4371 .loc 1 2103 38 view .LVU1546
4372 008c 3D4A ldr r2, .L320
4373 008e DA62 str r2, [r3, #44]
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4374 .loc 1 2106 3 is_stmt 1 view .LVU1547
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4375 .loc 1 2106 7 is_stmt 0 view .LVU1548
4376 0090 A36D ldr r3, [r4, #88]
2106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4377 .loc 1 2106 34 view .LVU1549
4378 0092 3D4A ldr r2, .L320+4
4379 0094 9A62 str r2, [r3, #40]
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4380 .loc 1 2109 3 is_stmt 1 view .LVU1550
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4381 .loc 1 2109 7 is_stmt 0 view .LVU1551
4382 0096 A36D ldr r3, [r4, #88]
2109:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4383 .loc 1 2109 35 view .LVU1552
4384 0098 3C4A ldr r2, .L320+8
4385 009a 1A63 str r2, [r3, #48]
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4386 .loc 1 2112 3 is_stmt 1 view .LVU1553
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4387 .loc 1 2112 7 is_stmt 0 view .LVU1554
4388 009c A36D ldr r3, [r4, #88]
2112:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4389 .loc 1 2112 35 view .LVU1555
4390 009e 0022 movs r2, #0
4391 00a0 5A63 str r2, [r3, #52]
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4392 .loc 1 2115 3 is_stmt 1 view .LVU1556
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4393 .loc 1 2115 63 is_stmt 0 view .LVU1557
4394 00a2 2168 ldr r1, [r4]
4395 .LVL275:
2116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4396 .loc 1 2116 38 view .LVU1558
4397 00a4 B4F84630 ldrh r3, [r4, #70]
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4398 .loc 1 2115 17 view .LVU1559
4399 00a8 9BB2 uxth r3, r3
4400 00aa 226C ldr r2, [r4, #64]
4401 00ac 0C31 adds r1, r1, #12
ARM GAS /tmp/ccZ0BHQJ.s page 180
4402 00ae A06D ldr r0, [r4, #88]
4403 00b0 FFF7FEFF bl HAL_DMA_Start_IT
4404 .LVL276:
2115:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount))
4405 .loc 1 2115 6 discriminator 1 view .LVU1560
4406 00b4 0146 mov r1, r0
4407 00b6 0028 cmp r0, #0
4408 00b8 56D1 bne .L319
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4409 .loc 1 2126 3 is_stmt 1 view .LVU1561
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4410 .loc 1 2126 12 is_stmt 0 view .LVU1562
4411 00ba 2368 ldr r3, [r4]
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4412 .loc 1 2126 22 view .LVU1563
4413 00bc 1A68 ldr r2, [r3]
2126:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4414 .loc 1 2126 6 view .LVU1564
4415 00be 12F0400F tst r2, #64
4416 00c2 03D1 bne .L313
2129:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4417 .loc 1 2129 5 is_stmt 1 view .LVU1565
4418 00c4 1A68 ldr r2, [r3]
4419 00c6 42F04002 orr r2, r2, #64
4420 00ca 1A60 str r2, [r3]
4421 .L313:
2133:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4422 .loc 1 2133 3 view .LVU1566
4423 00cc 2268 ldr r2, [r4]
4424 00ce 5368 ldr r3, [r2, #4]
4425 00d0 43F02003 orr r3, r3, #32
4426 00d4 5360 str r3, [r2, #4]
2136:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4427 .loc 1 2136 3 view .LVU1567
4428 00d6 2268 ldr r2, [r4]
4429 00d8 5368 ldr r3, [r2, #4]
4430 00da 43F00103 orr r3, r3, #1
4431 00de 5360 str r3, [r2, #4]
2003:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4432 .loc 1 2003 21 is_stmt 0 view .LVU1568
4433 00e0 0D46 mov r5, r1
4434 00e2 47E0 b .L304
4435 .LVL277:
4436 .L317:
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4437 .loc 1 2016 5 is_stmt 1 view .LVU1569
2016:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4438 .loc 1 2016 17 is_stmt 0 view .LVU1570
4439 00e4 0423 movs r3, #4
4440 00e6 84F85D30 strb r3, [r4, #93]
2019:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4441 .loc 1 2019 5 is_stmt 1 view .LVU1571
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4442 .loc 1 2022 5 view .LVU1572
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4443 .loc 1 2022 12 is_stmt 0 view .LVU1573
4444 00ea 1346 mov r3, r2
ARM GAS /tmp/ccZ0BHQJ.s page 181
4445 00ec 0A46 mov r2, r1
4446 .LVL278:
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4447 .loc 1 2022 12 view .LVU1574
4448 00ee 2046 mov r0, r4
4449 00f0 FFF7FEFF bl HAL_SPI_TransmitReceive_DMA
4450 .LVL279:
2022:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4451 .loc 1 2022 12 view .LVU1575
4452 00f4 0546 mov r5, r0
4453 00f6 40E0 b .L306
4454 .LVL280:
4455 .L318:
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
4456 .loc 1 2051 5 is_stmt 1 view .LVU1576
4457 00f8 2268 ldr r2, [r4]
4458 .LVL281:
2051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_1LINE_RX(hspi);
4459 .loc 1 2051 5 is_stmt 0 view .LVU1577
4460 00fa 1368 ldr r3, [r2]
4461 00fc 23F04003 bic r3, r3, #64
4462 0100 1360 str r3, [r2]
4463 .LVL282:
2052:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4464 .loc 1 2052 5 is_stmt 1 view .LVU1578
4465 0102 2268 ldr r2, [r4]
4466 0104 1368 ldr r3, [r2]
4467 0106 23F48043 bic r3, r3, #16384
4468 010a 1360 str r3, [r2]
4469 010c A5E7 b .L307
4470 .L309:
2082:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4471 .loc 1 2082 5 view .LVU1579
4472 010e 2268 ldr r2, [r4]
4473 0110 5368 ldr r3, [r2, #4]
4474 0112 43F48053 orr r3, r3, #4096
4475 0116 5360 str r3, [r2, #4]
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4476 .loc 1 2084 5 view .LVU1580
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4477 .loc 1 2084 13 is_stmt 0 view .LVU1581
4478 0118 A36D ldr r3, [r4, #88]
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4479 .loc 1 2084 27 view .LVU1582
4480 011a 5B69 ldr r3, [r3, #20]
2084:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4481 .loc 1 2084 8 view .LVU1583
4482 011c B3F5806F cmp r3, #1024
4483 0120 B3D1 bne .L310
2087:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4484 .loc 1 2087 7 is_stmt 1 view .LVU1584
4485 0122 2268 ldr r2, [r4]
4486 0124 5368 ldr r3, [r2, #4]
4487 0126 23F48053 bic r3, r3, #4096
4488 012a 5360 str r3, [r2, #4]
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4489 .loc 1 2089 7 view .LVU1585
ARM GAS /tmp/ccZ0BHQJ.s page 182
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4490 .loc 1 2089 16 is_stmt 0 view .LVU1586
4491 012c B4F84630 ldrh r3, [r4, #70]
2089:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4492 .loc 1 2089 10 view .LVU1587
4493 0130 13F0010F tst r3, #1
4494 0134 0BD1 bne .L311
2091:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = hspi->RxXferCount >> 1U;
4495 .loc 1 2091 9 is_stmt 1 view .LVU1588
4496 0136 2268 ldr r2, [r4]
4497 0138 5368 ldr r3, [r2, #4]
4498 013a 23F40053 bic r3, r3, #8192
4499 013e 5360 str r3, [r2, #4]
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4500 .loc 1 2092 9 view .LVU1589
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4501 .loc 1 2092 33 is_stmt 0 view .LVU1590
4502 0140 B4F84630 ldrh r3, [r4, #70]
2092:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4503 .loc 1 2092 27 view .LVU1591
4504 0144 C3F34E03 ubfx r3, r3, #1, #15
4505 0148 A4F84630 strh r3, [r4, #70] @ movhi
4506 014c 9DE7 b .L310
4507 .L311:
2096:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount >> 1U) + 1U;
4508 .loc 1 2096 9 is_stmt 1 view .LVU1592
4509 014e 2268 ldr r2, [r4]
4510 0150 5368 ldr r3, [r2, #4]
4511 0152 43F40053 orr r3, r3, #8192
4512 0156 5360 str r3, [r2, #4]
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4513 .loc 1 2097 9 view .LVU1593
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4514 .loc 1 2097 34 is_stmt 0 view .LVU1594
4515 0158 B4F84630 ldrh r3, [r4, #70]
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4516 .loc 1 2097 55 view .LVU1595
4517 015c C3F34E03 ubfx r3, r3, #1, #15
4518 0160 0133 adds r3, r3, #1
2097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4519 .loc 1 2097 27 view .LVU1596
4520 0162 A4F84630 strh r3, [r4, #70] @ movhi
4521 0166 90E7 b .L310
4522 .LVL283:
4523 .L319:
2119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
4524 .loc 1 2119 5 is_stmt 1 view .LVU1597
4525 0168 236E ldr r3, [r4, #96]
4526 016a 43F01003 orr r3, r3, #16
4527 016e 2366 str r3, [r4, #96]
2120:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4528 .loc 1 2120 5 view .LVU1598
4529 .LVL284:
2122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4530 .loc 1 2122 5 view .LVU1599
4531 0170 00E0 b .L304
4532 .LVL285:
ARM GAS /tmp/ccZ0BHQJ.s page 183
4533 .L314:
2010:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** goto error;
4534 .loc 1 2010 15 is_stmt 0 view .LVU1600
4535 0172 0225 movs r5, #2
4536 .LVL286:
4537 .L304:
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4538 .loc 1 2140 3 is_stmt 1 view .LVU1601
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4539 .loc 1 2140 3 view .LVU1602
4540 0174 0023 movs r3, #0
4541 0176 84F85C30 strb r3, [r4, #92]
2140:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
4542 .loc 1 2140 3 view .LVU1603
2141:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4543 .loc 1 2141 3 view .LVU1604
4544 .LVL287:
4545 .L306:
2142:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4546 .loc 1 2142 1 is_stmt 0 view .LVU1605
4547 017a 2846 mov r0, r5
4548 017c 38BD pop {r3, r4, r5, pc}
4549 .LVL288:
4550 .L315:
2026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4551 .loc 1 2026 3 discriminator 1 view .LVU1606
4552 017e 0225 movs r5, #2
4553 0180 FBE7 b .L306
4554 .L321:
4555 0182 00BF .align 2
4556 .L320:
4557 0184 00000000 .word SPI_DMAHalfReceiveCplt
4558 0188 00000000 .word SPI_DMAReceiveCplt
4559 018c 00000000 .word SPI_DMAError
4560 .cfi_endproc
4561 .LFE141:
4563 .section .text.HAL_SPI_Abort,"ax",%progbits
4564 .align 1
4565 .global HAL_SPI_Abort
4566 .syntax unified
4567 .thumb
4568 .thumb_func
4570 HAL_SPI_Abort:
4571 .LVL289:
4572 .LFB143:
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
4573 .loc 1 2355 1 is_stmt 1 view -0
4574 .cfi_startproc
4575 @ args = 0, pretend = 0, frame = 16
4576 @ frame_needed = 0, uses_anonymous_args = 0
2355:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
4577 .loc 1 2355 1 is_stmt 0 view .LVU1608
4578 0000 10B5 push {r4, lr}
4579 .cfi_def_cfa_offset 8
4580 .cfi_offset 4, -8
4581 .cfi_offset 14, -4
4582 0002 86B0 sub sp, sp, #24
ARM GAS /tmp/ccZ0BHQJ.s page 184
4583 .cfi_def_cfa_offset 32
4584 0004 0446 mov r4, r0
2356:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
4585 .loc 1 2356 3 is_stmt 1 view .LVU1609
2357:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
4586 .loc 1 2357 3 view .LVU1610
2358:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4587 .loc 1 2358 3 view .LVU1611
2361:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
4588 .loc 1 2361 3 view .LVU1612
4589 .LVL290:
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4590 .loc 1 2362 3 view .LVU1613
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4591 .loc 1 2362 61 is_stmt 0 view .LVU1614
4592 0006 5E4B ldr r3, .L343
4593 0008 1B68 ldr r3, [r3]
4594 000a 5E4A ldr r2, .L343+4
4595 000c A2FB0323 umull r2, r3, r2, r3
4596 0010 5B0A lsrs r3, r3, #9
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4597 .loc 1 2362 36 view .LVU1615
4598 0012 6422 movs r2, #100
4599 0014 02FB03F3 mul r3, r2, r3
2362:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
4600 .loc 1 2362 14 view .LVU1616
4601 0018 0493 str r3, [sp, #16]
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4602 .loc 1 2363 3 is_stmt 1 view .LVU1617
2363:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4603 .loc 1 2363 9 is_stmt 0 view .LVU1618
4604 001a 049B ldr r3, [sp, #16]
4605 001c 0593 str r3, [sp, #20]
2366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4606 .loc 1 2366 3 is_stmt 1 view .LVU1619
4607 001e 0268 ldr r2, [r0]
4608 0020 5368 ldr r3, [r2, #4]
4609 0022 23F02003 bic r3, r3, #32
4610 0026 5360 str r3, [r2, #4]
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4611 .loc 1 2369 3 view .LVU1620
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4612 .loc 1 2369 7 is_stmt 0 view .LVU1621
4613 0028 0268 ldr r2, [r0]
4614 002a 5368 ldr r3, [r2, #4]
2369:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4615 .loc 1 2369 6 view .LVU1622
4616 002c 13F0800F tst r3, #128
4617 0030 12D0 beq .L323
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4618 .loc 1 2371 5 is_stmt 1 view .LVU1623
2371:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4619 .loc 1 2371 17 is_stmt 0 view .LVU1624
4620 0032 554B ldr r3, .L343+8
4621 0034 0365 str r3, [r0, #80]
4622 .L326:
2373:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 185
4623 .loc 1 2373 5 is_stmt 1 view .LVU1625
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4624 .loc 1 2375 7 view .LVU1626
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4625 .loc 1 2375 17 is_stmt 0 view .LVU1627
4626 0036 059B ldr r3, [sp, #20]
2375:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4627 .loc 1 2375 10 view .LVU1628
4628 0038 43B1 cbz r3, .L341
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4629 .loc 1 2380 7 is_stmt 1 view .LVU1629
2380:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4630 .loc 1 2380 12 is_stmt 0 view .LVU1630
4631 003a 059B ldr r3, [sp, #20]
4632 003c 013B subs r3, r3, #1
4633 003e 0593 str r3, [sp, #20]
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4634 .loc 1 2381 26 is_stmt 1 view .LVU1631
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4635 .loc 1 2381 18 is_stmt 0 view .LVU1632
4636 0040 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
4637 0044 DBB2 uxtb r3, r3
2381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4638 .loc 1 2381 26 view .LVU1633
4639 0046 072B cmp r3, #7
4640 0048 F5D1 bne .L326
4641 004a 03E0 b .L325
4642 .L341:
2377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4643 .loc 1 2377 9 is_stmt 1 view .LVU1634
4644 004c 236E ldr r3, [r4, #96]
4645 004e 43F04003 orr r3, r3, #64
4646 0052 2366 str r3, [r4, #96]
2378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4647 .loc 1 2378 9 view .LVU1635
4648 .L325:
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4649 .loc 1 2383 5 view .LVU1636
2383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4650 .loc 1 2383 11 is_stmt 0 view .LVU1637
4651 0054 049B ldr r3, [sp, #16]
4652 0056 0593 str r3, [sp, #20]
4653 .L323:
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4654 .loc 1 2386 3 is_stmt 1 view .LVU1638
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4655 .loc 1 2386 7 is_stmt 0 view .LVU1639
4656 0058 5368 ldr r3, [r2, #4]
2386:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4657 .loc 1 2386 6 view .LVU1640
4658 005a 13F0400F tst r3, #64
4659 005e 12D0 beq .L327
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4660 .loc 1 2388 5 is_stmt 1 view .LVU1641
2388:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
4661 .loc 1 2388 17 is_stmt 0 view .LVU1642
4662 0060 4A4B ldr r3, .L343+12
ARM GAS /tmp/ccZ0BHQJ.s page 186
4663 0062 E364 str r3, [r4, #76]
4664 .L330:
2390:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4665 .loc 1 2390 5 is_stmt 1 view .LVU1643
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4666 .loc 1 2392 7 view .LVU1644
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4667 .loc 1 2392 17 is_stmt 0 view .LVU1645
4668 0064 059B ldr r3, [sp, #20]
2392:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4669 .loc 1 2392 10 view .LVU1646
4670 0066 43B1 cbz r3, .L342
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4671 .loc 1 2397 7 is_stmt 1 view .LVU1647
2397:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
4672 .loc 1 2397 12 is_stmt 0 view .LVU1648
4673 0068 059B ldr r3, [sp, #20]
4674 006a 013B subs r3, r3, #1
4675 006c 0593 str r3, [sp, #20]
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4676 .loc 1 2398 26 is_stmt 1 view .LVU1649
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4677 .loc 1 2398 18 is_stmt 0 view .LVU1650
4678 006e 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
4679 0072 DBB2 uxtb r3, r3
2398:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
4680 .loc 1 2398 26 view .LVU1651
4681 0074 072B cmp r3, #7
4682 0076 F5D1 bne .L330
4683 0078 03E0 b .L329
4684 .L342:
2394:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
4685 .loc 1 2394 9 is_stmt 1 view .LVU1652
4686 007a 236E ldr r3, [r4, #96]
4687 007c 43F04003 orr r3, r3, #64
4688 0080 2366 str r3, [r4, #96]
2395:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4689 .loc 1 2395 9 view .LVU1653
4690 .L329:
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4691 .loc 1 2400 5 view .LVU1654
2400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4692 .loc 1 2400 11 is_stmt 0 view .LVU1655
4693 0082 049B ldr r3, [sp, #16]
4694 0084 0593 str r3, [sp, #20]
4695 .L327:
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4696 .loc 1 2404 3 is_stmt 1 view .LVU1656
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4697 .loc 1 2404 7 is_stmt 0 view .LVU1657
4698 0086 5368 ldr r3, [r2, #4]
2404:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4699 .loc 1 2404 6 view .LVU1658
4700 0088 13F0020F tst r3, #2
4701 008c 2AD0 beq .L331
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4702 .loc 1 2407 5 is_stmt 1 view .LVU1659
ARM GAS /tmp/ccZ0BHQJ.s page 187
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4703 .loc 1 2407 13 is_stmt 0 view .LVU1660
4704 008e 636D ldr r3, [r4, #84]
2407:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4705 .loc 1 2407 8 view .LVU1661
4706 0090 43B3 cbz r3, .L331
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4707 .loc 1 2411 7 is_stmt 1 view .LVU1662
2411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4708 .loc 1 2411 39 is_stmt 0 view .LVU1663
4709 0092 0022 movs r2, #0
4710 0094 5A63 str r2, [r3, #52]
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4711 .loc 1 2414 7 is_stmt 1 view .LVU1664
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4712 .loc 1 2414 11 is_stmt 0 view .LVU1665
4713 0096 606D ldr r0, [r4, #84]
4714 .LVL291:
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4715 .loc 1 2414 11 view .LVU1666
4716 0098 FFF7FEFF bl HAL_DMA_Abort
4717 .LVL292:
2414:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4718 .loc 1 2414 10 discriminator 1 view .LVU1667
4719 009c 08B1 cbz r0, .L332
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4720 .loc 1 2416 9 is_stmt 1 view .LVU1668
2416:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4721 .loc 1 2416 25 is_stmt 0 view .LVU1669
4722 009e 4023 movs r3, #64
4723 00a0 2366 str r3, [r4, #96]
4724 .L332:
2420:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4725 .loc 1 2420 7 is_stmt 1 view .LVU1670
4726 00a2 2268 ldr r2, [r4]
4727 00a4 5368 ldr r3, [r2, #4]
4728 00a6 23F00203 bic r3, r3, #2
4729 00aa 5360 str r3, [r2, #4]
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4730 .loc 1 2422 7 view .LVU1671
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4731 .loc 1 2422 11 is_stmt 0 view .LVU1672
4732 00ac FFF7FEFF bl HAL_GetTick
4733 .LVL293:
4734 00b0 0246 mov r2, r0
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4735 .loc 1 2422 11 discriminator 1 view .LVU1673
4736 00b2 6421 movs r1, #100
4737 00b4 2046 mov r0, r4
4738 00b6 FFF7FEFF bl SPI_EndRxTxTransaction
4739 .LVL294:
2422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4740 .loc 1 2422 10 discriminator 2 view .LVU1674
4741 00ba 08B1 cbz r0, .L333
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4742 .loc 1 2424 9 is_stmt 1 view .LVU1675
2424:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 188
4743 .loc 1 2424 25 is_stmt 0 view .LVU1676
4744 00bc 4023 movs r3, #64
4745 00be 2366 str r3, [r4, #96]
4746 .L333:
2428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4747 .loc 1 2428 7 is_stmt 1 view .LVU1677
4748 00c0 2268 ldr r2, [r4]
4749 00c2 1368 ldr r3, [r2]
4750 00c4 23F04003 bic r3, r3, #64
4751 00c8 1360 str r3, [r2]
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4752 .loc 1 2431 7 view .LVU1678
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4753 .loc 1 2431 11 is_stmt 0 view .LVU1679
4754 00ca FFF7FEFF bl HAL_GetTick
4755 .LVL295:
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4756 .loc 1 2431 11 discriminator 1 view .LVU1680
4757 00ce 0090 str r0, [sp]
4758 00d0 6423 movs r3, #100
4759 00d2 0022 movs r2, #0
4760 00d4 4FF4C061 mov r1, #1536
4761 00d8 2046 mov r0, r4
4762 00da FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
4763 .LVL296:
2431:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4764 .loc 1 2431 10 discriminator 2 view .LVU1681
4765 00de 08B1 cbz r0, .L331
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4766 .loc 1 2433 9 is_stmt 1 view .LVU1682
2433:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4767 .loc 1 2433 25 is_stmt 0 view .LVU1683
4768 00e0 4023 movs r3, #64
4769 00e2 2366 str r3, [r4, #96]
4770 .L331:
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4771 .loc 1 2439 3 is_stmt 1 view .LVU1684
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4772 .loc 1 2439 7 is_stmt 0 view .LVU1685
4773 00e4 2368 ldr r3, [r4]
4774 00e6 5B68 ldr r3, [r3, #4]
2439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4775 .loc 1 2439 6 view .LVU1686
4776 00e8 13F0010F tst r3, #1
4777 00ec 2CD0 beq .L334
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4778 .loc 1 2442 5 is_stmt 1 view .LVU1687
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4779 .loc 1 2442 13 is_stmt 0 view .LVU1688
4780 00ee A36D ldr r3, [r4, #88]
2442:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4781 .loc 1 2442 8 view .LVU1689
4782 00f0 53B3 cbz r3, .L334
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4783 .loc 1 2446 7 is_stmt 1 view .LVU1690
2446:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4784 .loc 1 2446 39 is_stmt 0 view .LVU1691
ARM GAS /tmp/ccZ0BHQJ.s page 189
4785 00f2 0022 movs r2, #0
4786 00f4 5A63 str r2, [r3, #52]
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4787 .loc 1 2449 7 is_stmt 1 view .LVU1692
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4788 .loc 1 2449 11 is_stmt 0 view .LVU1693
4789 00f6 A06D ldr r0, [r4, #88]
4790 00f8 FFF7FEFF bl HAL_DMA_Abort
4791 .LVL297:
2449:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4792 .loc 1 2449 10 discriminator 1 view .LVU1694
4793 00fc 08B1 cbz r0, .L335
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4794 .loc 1 2451 9 is_stmt 1 view .LVU1695
2451:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4795 .loc 1 2451 25 is_stmt 0 view .LVU1696
4796 00fe 4023 movs r3, #64
4797 0100 2366 str r3, [r4, #96]
4798 .L335:
2455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4799 .loc 1 2455 7 is_stmt 1 view .LVU1697
4800 0102 2268 ldr r2, [r4]
4801 0104 1368 ldr r3, [r2]
4802 0106 23F04003 bic r3, r3, #64
4803 010a 1360 str r3, [r2]
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4804 .loc 1 2458 7 view .LVU1698
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4805 .loc 1 2458 11 is_stmt 0 view .LVU1699
4806 010c FFF7FEFF bl HAL_GetTick
4807 .LVL298:
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4808 .loc 1 2458 11 discriminator 1 view .LVU1700
4809 0110 0090 str r0, [sp]
4810 0112 6423 movs r3, #100
4811 0114 0022 movs r2, #0
4812 0116 8021 movs r1, #128
4813 0118 2046 mov r0, r4
4814 011a FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
4815 .LVL299:
2458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4816 .loc 1 2458 10 discriminator 2 view .LVU1701
4817 011e 08B1 cbz r0, .L336
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4818 .loc 1 2460 9 is_stmt 1 view .LVU1702
2460:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4819 .loc 1 2460 25 is_stmt 0 view .LVU1703
4820 0120 4023 movs r3, #64
4821 0122 2366 str r3, [r4, #96]
4822 .L336:
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4823 .loc 1 2464 7 is_stmt 1 view .LVU1704
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4824 .loc 1 2464 11 is_stmt 0 view .LVU1705
4825 0124 FFF7FEFF bl HAL_GetTick
4826 .LVL300:
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 190
4827 .loc 1 2464 11 discriminator 1 view .LVU1706
4828 0128 0090 str r0, [sp]
4829 012a 6423 movs r3, #100
4830 012c 0022 movs r2, #0
4831 012e 4FF4C061 mov r1, #1536
4832 0132 2046 mov r0, r4
4833 0134 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
4834 .LVL301:
2464:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4835 .loc 1 2464 10 discriminator 2 view .LVU1707
4836 0138 08B1 cbz r0, .L337
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4837 .loc 1 2466 9 is_stmt 1 view .LVU1708
2466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4838 .loc 1 2466 25 is_stmt 0 view .LVU1709
4839 013a 4023 movs r3, #64
4840 013c 2366 str r3, [r4, #96]
4841 .L337:
2470:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4842 .loc 1 2470 7 is_stmt 1 view .LVU1710
4843 013e 2268 ldr r2, [r4]
4844 0140 5368 ldr r3, [r2, #4]
4845 0142 23F00103 bic r3, r3, #1
4846 0146 5360 str r3, [r2, #4]
4847 .L334:
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4848 .loc 1 2474 3 view .LVU1711
2474:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
4849 .loc 1 2474 21 is_stmt 0 view .LVU1712
4850 0148 0023 movs r3, #0
4851 014a A4F84630 strh r3, [r4, #70] @ movhi
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4852 .loc 1 2475 3 is_stmt 1 view .LVU1713
2475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4853 .loc 1 2475 21 is_stmt 0 view .LVU1714
4854 014e E387 strh r3, [r4, #62] @ movhi
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4855 .loc 1 2478 3 is_stmt 1 view .LVU1715
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4856 .loc 1 2478 11 is_stmt 0 view .LVU1716
4857 0150 236E ldr r3, [r4, #96]
2478:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
4858 .loc 1 2478 6 view .LVU1717
4859 0152 402B cmp r3, #64
4860 0154 12D0 beq .L339
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4861 .loc 1 2486 5 is_stmt 1 view .LVU1718
2486:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4862 .loc 1 2486 21 is_stmt 0 view .LVU1719
4863 0156 0020 movs r0, #0
4864 0158 2066 str r0, [r4, #96]
4865 .L338:
4866 .LVL302:
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4867 .loc 1 2490 3 is_stmt 1 view .LVU1720
4868 .LBB3:
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
ARM GAS /tmp/ccZ0BHQJ.s page 191
4869 .loc 1 2490 3 view .LVU1721
4870 015a 0022 movs r2, #0
4871 015c 0292 str r2, [sp, #8]
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4872 .loc 1 2490 3 view .LVU1722
4873 015e 2368 ldr r3, [r4]
4874 0160 D968 ldr r1, [r3, #12]
4875 0162 0291 str r1, [sp, #8]
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4876 .loc 1 2490 3 view .LVU1723
4877 0164 9968 ldr r1, [r3, #8]
4878 0166 0291 str r1, [sp, #8]
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4879 .loc 1 2490 3 view .LVU1724
4880 0168 0299 ldr r1, [sp, #8]
4881 .LBE3:
2490:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
4882 .loc 1 2490 3 view .LVU1725
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4883 .loc 1 2491 3 view .LVU1726
4884 .LBB4:
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4885 .loc 1 2491 3 view .LVU1727
4886 016a 0392 str r2, [sp, #12]
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4887 .loc 1 2491 3 view .LVU1728
4888 016c 9B68 ldr r3, [r3, #8]
4889 016e 0393 str r3, [sp, #12]
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4890 .loc 1 2491 3 view .LVU1729
4891 0170 039B ldr r3, [sp, #12]
4892 .LBE4:
2491:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4893 .loc 1 2491 3 view .LVU1730
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4894 .loc 1 2494 3 view .LVU1731
2494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4895 .loc 1 2494 15 is_stmt 0 view .LVU1732
4896 0172 0123 movs r3, #1
4897 0174 84F85D30 strb r3, [r4, #93]
2496:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4898 .loc 1 2496 3 is_stmt 1 view .LVU1733
2497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4899 .loc 1 2497 1 is_stmt 0 view .LVU1734
4900 0178 06B0 add sp, sp, #24
4901 .cfi_remember_state
4902 .cfi_def_cfa_offset 8
4903 @ sp needed
4904 017a 10BD pop {r4, pc}
4905 .LVL303:
4906 .L339:
4907 .cfi_restore_state
2481:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4908 .loc 1 2481 15 view .LVU1735
4909 017c 0120 movs r0, #1
4910 017e ECE7 b .L338
4911 .L344:
ARM GAS /tmp/ccZ0BHQJ.s page 192
4912 .align 2
4913 .L343:
4914 0180 00000000 .word SystemCoreClock
4915 0184 F1197605 .word 91625969
4916 0188 00000000 .word SPI_AbortTx_ISR
4917 018c 00000000 .word SPI_AbortRx_ISR
4918 .cfi_endproc
4919 .LFE143:
4921 .section .text.HAL_SPI_DMAPause,"ax",%progbits
4922 .align 1
4923 .global HAL_SPI_DMAPause
4924 .syntax unified
4925 .thumb
4926 .thumb_func
4928 HAL_SPI_DMAPause:
4929 .LVL304:
4930 .LFB145:
2676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
4931 .loc 1 2676 1 is_stmt 1 view -0
4932 .cfi_startproc
4933 @ args = 0, pretend = 0, frame = 0
4934 @ frame_needed = 0, uses_anonymous_args = 0
4935 @ link register save eliminated.
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4936 .loc 1 2678 3 view .LVU1737
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4937 .loc 1 2678 3 view .LVU1738
4938 0000 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
4939 0004 012B cmp r3, #1
4940 0006 0CD0 beq .L347
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4941 .loc 1 2678 3 discriminator 2 view .LVU1739
4942 0008 0123 movs r3, #1
4943 000a 80F85C30 strb r3, [r0, #92]
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4944 .loc 1 2678 3 discriminator 2 view .LVU1740
2681:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4945 .loc 1 2681 3 view .LVU1741
4946 000e 0268 ldr r2, [r0]
4947 0010 5368 ldr r3, [r2, #4]
4948 0012 23F00303 bic r3, r3, #3
4949 0016 5360 str r3, [r2, #4]
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4950 .loc 1 2684 3 view .LVU1742
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4951 .loc 1 2684 3 view .LVU1743
4952 0018 0023 movs r3, #0
4953 001a 80F85C30 strb r3, [r0, #92]
2684:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4954 .loc 1 2684 3 view .LVU1744
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4955 .loc 1 2686 3 view .LVU1745
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
4956 .loc 1 2686 10 is_stmt 0 view .LVU1746
4957 001e 1846 mov r0, r3
4958 .LVL305:
2686:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 193
4959 .loc 1 2686 10 view .LVU1747
4960 0020 7047 bx lr
4961 .LVL306:
4962 .L347:
2678:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4963 .loc 1 2678 3 discriminator 1 view .LVU1748
4964 0022 0220 movs r0, #2
4965 .LVL307:
2687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4966 .loc 1 2687 1 view .LVU1749
4967 0024 7047 bx lr
4968 .cfi_endproc
4969 .LFE145:
4971 .section .text.HAL_SPI_DMAResume,"ax",%progbits
4972 .align 1
4973 .global HAL_SPI_DMAResume
4974 .syntax unified
4975 .thumb
4976 .thumb_func
4978 HAL_SPI_DMAResume:
4979 .LVL308:
4980 .LFB146:
2696:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Process Locked */
4981 .loc 1 2696 1 is_stmt 1 view -0
4982 .cfi_startproc
4983 @ args = 0, pretend = 0, frame = 0
4984 @ frame_needed = 0, uses_anonymous_args = 0
4985 @ link register save eliminated.
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4986 .loc 1 2698 3 view .LVU1751
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4987 .loc 1 2698 3 view .LVU1752
4988 0000 90F85C30 ldrb r3, [r0, #92] @ zero_extendqisi2
4989 0004 012B cmp r3, #1
4990 0006 0CD0 beq .L350
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4991 .loc 1 2698 3 discriminator 2 view .LVU1753
4992 0008 0123 movs r3, #1
4993 000a 80F85C30 strb r3, [r0, #92]
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4994 .loc 1 2698 3 discriminator 2 view .LVU1754
2701:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
4995 .loc 1 2701 3 view .LVU1755
4996 000e 0268 ldr r2, [r0]
4997 0010 5368 ldr r3, [r2, #4]
4998 0012 43F00303 orr r3, r3, #3
4999 0016 5360 str r3, [r2, #4]
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5000 .loc 1 2704 3 view .LVU1756
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5001 .loc 1 2704 3 view .LVU1757
5002 0018 0023 movs r3, #0
5003 001a 80F85C30 strb r3, [r0, #92]
2704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5004 .loc 1 2704 3 view .LVU1758
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5005 .loc 1 2706 3 view .LVU1759
ARM GAS /tmp/ccZ0BHQJ.s page 194
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5006 .loc 1 2706 10 is_stmt 0 view .LVU1760
5007 001e 1846 mov r0, r3
5008 .LVL309:
2706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5009 .loc 1 2706 10 view .LVU1761
5010 0020 7047 bx lr
5011 .LVL310:
5012 .L350:
2698:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5013 .loc 1 2698 3 discriminator 1 view .LVU1762
5014 0022 0220 movs r0, #2
5015 .LVL311:
2707:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5016 .loc 1 2707 1 view .LVU1763
5017 0024 7047 bx lr
5018 .cfi_endproc
5019 .LFE146:
5021 .section .text.HAL_SPI_DMAStop,"ax",%progbits
5022 .align 1
5023 .global HAL_SPI_DMAStop
5024 .syntax unified
5025 .thumb
5026 .thumb_func
5028 HAL_SPI_DMAStop:
5029 .LVL312:
5030 .LFB147:
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
5031 .loc 1 2716 1 is_stmt 1 view -0
5032 .cfi_startproc
5033 @ args = 0, pretend = 0, frame = 0
5034 @ frame_needed = 0, uses_anonymous_args = 0
2716:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
5035 .loc 1 2716 1 is_stmt 0 view .LVU1765
5036 0000 38B5 push {r3, r4, r5, lr}
5037 .cfi_def_cfa_offset 16
5038 .cfi_offset 3, -16
5039 .cfi_offset 4, -12
5040 .cfi_offset 5, -8
5041 .cfi_offset 14, -4
5042 0002 0446 mov r4, r0
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
5043 .loc 1 2717 3 is_stmt 1 view .LVU1766
5044 .LVL313:
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5045 .loc 1 2725 3 view .LVU1767
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5046 .loc 1 2725 11 is_stmt 0 view .LVU1768
5047 0004 406D ldr r0, [r0, #84]
5048 .LVL314:
2725:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5049 .loc 1 2725 6 view .LVU1769
5050 0006 48B1 cbz r0, .L354
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5051 .loc 1 2727 5 is_stmt 1 view .LVU1770
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5052 .loc 1 2727 19 is_stmt 0 view .LVU1771
ARM GAS /tmp/ccZ0BHQJ.s page 195
5053 0008 FFF7FEFF bl HAL_DMA_Abort
5054 .LVL315:
2727:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5055 .loc 1 2727 8 discriminator 1 view .LVU1772
5056 000c 0546 mov r5, r0
5057 000e 30B1 cbz r0, .L352
2729:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
5058 .loc 1 2729 7 is_stmt 1 view .LVU1773
5059 0010 236E ldr r3, [r4, #96]
5060 0012 43F01003 orr r3, r3, #16
5061 0016 2366 str r3, [r4, #96]
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5062 .loc 1 2730 7 view .LVU1774
5063 .LVL316:
2730:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5064 .loc 1 2730 17 is_stmt 0 view .LVU1775
5065 0018 0125 movs r5, #1
5066 001a 00E0 b .L352
5067 .LVL317:
5068 .L354:
2717:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
5069 .loc 1 2717 21 view .LVU1776
5070 001c 0025 movs r5, #0
5071 .LVL318:
5072 .L352:
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5073 .loc 1 2734 3 is_stmt 1 view .LVU1777
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5074 .loc 1 2734 11 is_stmt 0 view .LVU1778
5075 001e A06D ldr r0, [r4, #88]
2734:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5076 .loc 1 2734 6 view .LVU1779
5077 0020 38B1 cbz r0, .L353
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5078 .loc 1 2736 5 is_stmt 1 view .LVU1780
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5079 .loc 1 2736 19 is_stmt 0 view .LVU1781
5080 0022 FFF7FEFF bl HAL_DMA_Abort
5081 .LVL319:
2736:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5082 .loc 1 2736 8 discriminator 1 view .LVU1782
5083 0026 20B1 cbz r0, .L353
2738:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** errorcode = HAL_ERROR;
5084 .loc 1 2738 7 is_stmt 1 view .LVU1783
5085 0028 236E ldr r3, [r4, #96]
5086 002a 43F01003 orr r3, r3, #16
5087 002e 2366 str r3, [r4, #96]
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5088 .loc 1 2739 7 view .LVU1784
5089 .LVL320:
2739:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5090 .loc 1 2739 17 is_stmt 0 view .LVU1785
5091 0030 0125 movs r5, #1
5092 .LVL321:
5093 .L353:
2744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5094 .loc 1 2744 3 is_stmt 1 view .LVU1786
ARM GAS /tmp/ccZ0BHQJ.s page 196
5095 0032 2268 ldr r2, [r4]
5096 0034 5368 ldr r3, [r2, #4]
5097 0036 23F00303 bic r3, r3, #3
5098 003a 5360 str r3, [r2, #4]
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
5099 .loc 1 2745 3 view .LVU1787
2745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return errorcode;
5100 .loc 1 2745 15 is_stmt 0 view .LVU1788
5101 003c 0123 movs r3, #1
5102 003e 84F85D30 strb r3, [r4, #93]
2746:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5103 .loc 1 2746 3 is_stmt 1 view .LVU1789
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5104 .loc 1 2747 1 is_stmt 0 view .LVU1790
5105 0042 2846 mov r0, r5
5106 0044 38BD pop {r3, r4, r5, pc}
2747:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5107 .loc 1 2747 1 view .LVU1791
5108 .cfi_endproc
5109 .LFE147:
5111 .section .text.HAL_SPI_TxCpltCallback,"ax",%progbits
5112 .align 1
5113 .weak HAL_SPI_TxCpltCallback
5114 .syntax unified
5115 .thumb
5116 .thumb_func
5118 HAL_SPI_TxCpltCallback:
5119 .LVL322:
5120 .LFB149:
2863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5121 .loc 1 2863 1 is_stmt 1 view -0
5122 .cfi_startproc
5123 @ args = 0, pretend = 0, frame = 0
5124 @ frame_needed = 0, uses_anonymous_args = 0
5125 @ link register save eliminated.
2865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5126 .loc 1 2865 3 view .LVU1793
2870:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5127 .loc 1 2870 1 is_stmt 0 view .LVU1794
5128 0000 7047 bx lr
5129 .cfi_endproc
5130 .LFE149:
5132 .section .text.HAL_SPI_RxCpltCallback,"ax",%progbits
5133 .align 1
5134 .weak HAL_SPI_RxCpltCallback
5135 .syntax unified
5136 .thumb
5137 .thumb_func
5139 HAL_SPI_RxCpltCallback:
5140 .LVL323:
5141 .LFB150:
2879:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5142 .loc 1 2879 1 is_stmt 1 view -0
5143 .cfi_startproc
5144 @ args = 0, pretend = 0, frame = 0
5145 @ frame_needed = 0, uses_anonymous_args = 0
5146 @ link register save eliminated.
ARM GAS /tmp/ccZ0BHQJ.s page 197
2881:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5147 .loc 1 2881 3 view .LVU1796
2886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5148 .loc 1 2886 1 is_stmt 0 view .LVU1797
5149 0000 7047 bx lr
5150 .cfi_endproc
5151 .LFE150:
5153 .section .text.HAL_SPI_TxRxCpltCallback,"ax",%progbits
5154 .align 1
5155 .weak HAL_SPI_TxRxCpltCallback
5156 .syntax unified
5157 .thumb
5158 .thumb_func
5160 HAL_SPI_TxRxCpltCallback:
5161 .LVL324:
5162 .LFB151:
2895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5163 .loc 1 2895 1 is_stmt 1 view -0
5164 .cfi_startproc
5165 @ args = 0, pretend = 0, frame = 0
5166 @ frame_needed = 0, uses_anonymous_args = 0
5167 @ link register save eliminated.
2897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5168 .loc 1 2897 3 view .LVU1799
2902:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5169 .loc 1 2902 1 is_stmt 0 view .LVU1800
5170 0000 7047 bx lr
5171 .cfi_endproc
5172 .LFE151:
5174 .section .text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits
5175 .align 1
5176 .weak HAL_SPI_TxHalfCpltCallback
5177 .syntax unified
5178 .thumb
5179 .thumb_func
5181 HAL_SPI_TxHalfCpltCallback:
5182 .LVL325:
5183 .LFB152:
2911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5184 .loc 1 2911 1 is_stmt 1 view -0
5185 .cfi_startproc
5186 @ args = 0, pretend = 0, frame = 0
5187 @ frame_needed = 0, uses_anonymous_args = 0
5188 @ link register save eliminated.
2913:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5189 .loc 1 2913 3 view .LVU1802
2918:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5190 .loc 1 2918 1 is_stmt 0 view .LVU1803
5191 0000 7047 bx lr
5192 .cfi_endproc
5193 .LFE152:
5195 .section .text.SPI_DMAHalfTransmitCplt,"ax",%progbits
5196 .align 1
5197 .syntax unified
5198 .thumb
5199 .thumb_func
5201 SPI_DMAHalfTransmitCplt:
ARM GAS /tmp/ccZ0BHQJ.s page 198
5202 .LVL326:
5203 .LFB162:
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5204 .loc 1 3323 1 is_stmt 1 view -0
5205 .cfi_startproc
5206 @ args = 0, pretend = 0, frame = 0
5207 @ frame_needed = 0, uses_anonymous_args = 0
3323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5208 .loc 1 3323 1 is_stmt 0 view .LVU1805
5209 0000 08B5 push {r3, lr}
5210 .cfi_def_cfa_offset 8
5211 .cfi_offset 3, -8
5212 .cfi_offset 14, -4
3324:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5213 .loc 1 3324 3 is_stmt 1 view .LVU1806
5214 .LVL327:
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5215 .loc 1 3330 3 view .LVU1807
5216 0002 406A ldr r0, [r0, #36]
5217 .LVL328:
3330:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5218 .loc 1 3330 3 is_stmt 0 view .LVU1808
5219 0004 FFF7FEFF bl HAL_SPI_TxHalfCpltCallback
5220 .LVL329:
3332:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5221 .loc 1 3332 1 view .LVU1809
5222 0008 08BD pop {r3, pc}
5223 .cfi_endproc
5224 .LFE162:
5226 .section .text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits
5227 .align 1
5228 .weak HAL_SPI_RxHalfCpltCallback
5229 .syntax unified
5230 .thumb
5231 .thumb_func
5233 HAL_SPI_RxHalfCpltCallback:
5234 .LVL330:
5235 .LFB153:
2927:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5236 .loc 1 2927 1 is_stmt 1 view -0
5237 .cfi_startproc
5238 @ args = 0, pretend = 0, frame = 0
5239 @ frame_needed = 0, uses_anonymous_args = 0
5240 @ link register save eliminated.
2929:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5241 .loc 1 2929 3 view .LVU1811
2934:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5242 .loc 1 2934 1 is_stmt 0 view .LVU1812
5243 0000 7047 bx lr
5244 .cfi_endproc
5245 .LFE153:
5247 .section .text.SPI_DMAHalfReceiveCplt,"ax",%progbits
5248 .align 1
5249 .syntax unified
5250 .thumb
5251 .thumb_func
5253 SPI_DMAHalfReceiveCplt:
ARM GAS /tmp/ccZ0BHQJ.s page 199
5254 .LVL331:
5255 .LFB163:
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5256 .loc 1 3341 1 is_stmt 1 view -0
5257 .cfi_startproc
5258 @ args = 0, pretend = 0, frame = 0
5259 @ frame_needed = 0, uses_anonymous_args = 0
3341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5260 .loc 1 3341 1 is_stmt 0 view .LVU1814
5261 0000 08B5 push {r3, lr}
5262 .cfi_def_cfa_offset 8
5263 .cfi_offset 3, -8
5264 .cfi_offset 14, -4
3342:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5265 .loc 1 3342 3 is_stmt 1 view .LVU1815
5266 .LVL332:
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5267 .loc 1 3348 3 view .LVU1816
5268 0002 406A ldr r0, [r0, #36]
5269 .LVL333:
3348:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5270 .loc 1 3348 3 is_stmt 0 view .LVU1817
5271 0004 FFF7FEFF bl HAL_SPI_RxHalfCpltCallback
5272 .LVL334:
3350:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5273 .loc 1 3350 1 view .LVU1818
5274 0008 08BD pop {r3, pc}
5275 .cfi_endproc
5276 .LFE163:
5278 .section .text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits
5279 .align 1
5280 .weak HAL_SPI_TxRxHalfCpltCallback
5281 .syntax unified
5282 .thumb
5283 .thumb_func
5285 HAL_SPI_TxRxHalfCpltCallback:
5286 .LVL335:
5287 .LFB154:
2943:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5288 .loc 1 2943 1 is_stmt 1 view -0
5289 .cfi_startproc
5290 @ args = 0, pretend = 0, frame = 0
5291 @ frame_needed = 0, uses_anonymous_args = 0
5292 @ link register save eliminated.
2945:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5293 .loc 1 2945 3 view .LVU1820
2950:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5294 .loc 1 2950 1 is_stmt 0 view .LVU1821
5295 0000 7047 bx lr
5296 .cfi_endproc
5297 .LFE154:
5299 .section .text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits
5300 .align 1
5301 .syntax unified
5302 .thumb
5303 .thumb_func
5305 SPI_DMAHalfTransmitReceiveCplt:
ARM GAS /tmp/ccZ0BHQJ.s page 200
5306 .LVL336:
5307 .LFB164:
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5308 .loc 1 3359 1 is_stmt 1 view -0
5309 .cfi_startproc
5310 @ args = 0, pretend = 0, frame = 0
5311 @ frame_needed = 0, uses_anonymous_args = 0
3359:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5312 .loc 1 3359 1 is_stmt 0 view .LVU1823
5313 0000 08B5 push {r3, lr}
5314 .cfi_def_cfa_offset 8
5315 .cfi_offset 3, -8
5316 .cfi_offset 14, -4
3360:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5317 .loc 1 3360 3 is_stmt 1 view .LVU1824
5318 .LVL337:
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5319 .loc 1 3366 3 view .LVU1825
5320 0002 406A ldr r0, [r0, #36]
5321 .LVL338:
3366:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5322 .loc 1 3366 3 is_stmt 0 view .LVU1826
5323 0004 FFF7FEFF bl HAL_SPI_TxRxHalfCpltCallback
5324 .LVL339:
3368:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5325 .loc 1 3368 1 view .LVU1827
5326 0008 08BD pop {r3, pc}
5327 .cfi_endproc
5328 .LFE164:
5330 .section .text.HAL_SPI_ErrorCallback,"ax",%progbits
5331 .align 1
5332 .weak HAL_SPI_ErrorCallback
5333 .syntax unified
5334 .thumb
5335 .thumb_func
5337 HAL_SPI_ErrorCallback:
5338 .LVL340:
5339 .LFB155:
2959:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5340 .loc 1 2959 1 is_stmt 1 view -0
5341 .cfi_startproc
5342 @ args = 0, pretend = 0, frame = 0
5343 @ frame_needed = 0, uses_anonymous_args = 0
5344 @ link register save eliminated.
2961:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5345 .loc 1 2961 3 view .LVU1829
2969:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5346 .loc 1 2969 1 is_stmt 0 view .LVU1830
5347 0000 7047 bx lr
5348 .cfi_endproc
5349 .LFE155:
5351 .section .text.SPI_CloseTx_ISR,"ax",%progbits
5352 .align 1
5353 .syntax unified
5354 .thumb
5355 .thumb_func
5357 SPI_CloseTx_ISR:
ARM GAS /tmp/ccZ0BHQJ.s page 201
5358 .LVL341:
5359 .LFB183:
4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5360 .loc 1 4301 1 is_stmt 1 view -0
5361 .cfi_startproc
5362 @ args = 0, pretend = 0, frame = 8
5363 @ frame_needed = 0, uses_anonymous_args = 0
4301:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5364 .loc 1 4301 1 is_stmt 0 view .LVU1832
5365 0000 10B5 push {r4, lr}
5366 .cfi_def_cfa_offset 8
5367 .cfi_offset 4, -8
5368 .cfi_offset 14, -4
5369 0002 82B0 sub sp, sp, #8
5370 .cfi_def_cfa_offset 16
5371 0004 0446 mov r4, r0
4302:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5372 .loc 1 4302 3 is_stmt 1 view .LVU1833
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5373 .loc 1 4305 3 view .LVU1834
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5374 .loc 1 4305 15 is_stmt 0 view .LVU1835
5375 0006 FFF7FEFF bl HAL_GetTick
5376 .LVL342:
4305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5377 .loc 1 4305 15 view .LVU1836
5378 000a 0246 mov r2, r0
5379 .LVL343:
4308:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5380 .loc 1 4308 3 is_stmt 1 view .LVU1837
5381 000c 2168 ldr r1, [r4]
5382 000e 4B68 ldr r3, [r1, #4]
5383 0010 23F0A003 bic r3, r3, #160
5384 0014 4B60 str r3, [r1, #4]
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5385 .loc 1 4311 3 view .LVU1838
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5386 .loc 1 4311 7 is_stmt 0 view .LVU1839
5387 0016 6421 movs r1, #100
5388 0018 2046 mov r0, r4
5389 .LVL344:
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5390 .loc 1 4311 7 view .LVU1840
5391 001a FFF7FEFF bl SPI_EndRxTxTransaction
5392 .LVL345:
4311:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5393 .loc 1 4311 6 discriminator 1 view .LVU1841
5394 001e 18B1 cbz r0, .L370
4313:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5395 .loc 1 4313 5 is_stmt 1 view .LVU1842
5396 0020 236E ldr r3, [r4, #96]
5397 0022 43F02003 orr r3, r3, #32
5398 0026 2366 str r3, [r4, #96]
5399 .L370:
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5400 .loc 1 4317 3 view .LVU1843
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 202
5401 .loc 1 4317 17 is_stmt 0 view .LVU1844
5402 0028 A368 ldr r3, [r4, #8]
4317:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5403 .loc 1 4317 6 view .LVU1845
5404 002a 33B9 cbnz r3, .L371
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5405 .loc 1 4319 5 is_stmt 1 view .LVU1846
5406 .LBB5:
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5407 .loc 1 4319 5 view .LVU1847
5408 002c 0193 str r3, [sp, #4]
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5409 .loc 1 4319 5 view .LVU1848
5410 002e 2368 ldr r3, [r4]
5411 0030 DA68 ldr r2, [r3, #12]
5412 0032 0192 str r2, [sp, #4]
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5413 .loc 1 4319 5 view .LVU1849
5414 0034 9B68 ldr r3, [r3, #8]
5415 0036 0193 str r3, [sp, #4]
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5416 .loc 1 4319 5 view .LVU1850
5417 0038 019B ldr r3, [sp, #4]
5418 .L371:
5419 .LBE5:
4319:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5420 .loc 1 4319 5 discriminator 1 view .LVU1851
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
5421 .loc 1 4322 3 view .LVU1852
4322:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
5422 .loc 1 4322 15 is_stmt 0 view .LVU1853
5423 003a 0123 movs r3, #1
5424 003c 84F85D30 strb r3, [r4, #93]
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5425 .loc 1 4323 3 is_stmt 1 view .LVU1854
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5426 .loc 1 4323 11 is_stmt 0 view .LVU1855
5427 0040 236E ldr r3, [r4, #96]
4323:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5428 .loc 1 4323 6 view .LVU1856
5429 0042 23B1 cbz r3, .L372
4329:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5430 .loc 1 4329 5 is_stmt 1 view .LVU1857
5431 0044 2046 mov r0, r4
5432 0046 FFF7FEFF bl HAL_SPI_ErrorCallback
5433 .LVL346:
5434 .L369:
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5435 .loc 1 4341 1 is_stmt 0 view .LVU1858
5436 004a 02B0 add sp, sp, #8
5437 .cfi_remember_state
5438 .cfi_def_cfa_offset 8
5439 @ sp needed
5440 004c 10BD pop {r4, pc}
5441 .LVL347:
5442 .L372:
5443 .cfi_restore_state
ARM GAS /tmp/ccZ0BHQJ.s page 203
4338:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5444 .loc 1 4338 5 is_stmt 1 view .LVU1859
5445 004e 2046 mov r0, r4
5446 0050 FFF7FEFF bl HAL_SPI_TxCpltCallback
5447 .LVL348:
4341:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5448 .loc 1 4341 1 is_stmt 0 view .LVU1860
5449 0054 F9E7 b .L369
5450 .cfi_endproc
5451 .LFE183:
5453 .section .text.SPI_TxISR_8BIT,"ax",%progbits
5454 .align 1
5455 .syntax unified
5456 .thumb
5457 .thumb_func
5459 SPI_TxISR_8BIT:
5460 .LVL349:
5461 .LFB175:
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
5462 .loc 1 3895 1 is_stmt 1 view -0
5463 .cfi_startproc
5464 @ args = 0, pretend = 0, frame = 0
5465 @ frame_needed = 0, uses_anonymous_args = 0
3895:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
5466 .loc 1 3895 1 is_stmt 0 view .LVU1862
5467 0000 08B5 push {r3, lr}
5468 .cfi_def_cfa_offset 8
5469 .cfi_offset 3, -8
5470 .cfi_offset 14, -4
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5471 .loc 1 3896 3 is_stmt 1 view .LVU1863
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5472 .loc 1 3896 48 is_stmt 0 view .LVU1864
5473 0002 826B ldr r2, [r0, #56]
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5474 .loc 1 3896 25 view .LVU1865
5475 0004 0368 ldr r3, [r0]
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5476 .loc 1 3896 43 view .LVU1866
5477 0006 1278 ldrb r2, [r2] @ zero_extendqisi2
3896:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5478 .loc 1 3896 40 view .LVU1867
5479 0008 1A73 strb r2, [r3, #12]
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5480 .loc 1 3897 3 is_stmt 1 view .LVU1868
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5481 .loc 1 3897 7 is_stmt 0 view .LVU1869
5482 000a 836B ldr r3, [r0, #56]
3897:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5483 .loc 1 3897 19 view .LVU1870
5484 000c 0133 adds r3, r3, #1
5485 000e 8363 str r3, [r0, #56]
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5486 .loc 1 3898 3 is_stmt 1 view .LVU1871
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5487 .loc 1 3898 7 is_stmt 0 view .LVU1872
5488 0010 C38F ldrh r3, [r0, #62]
ARM GAS /tmp/ccZ0BHQJ.s page 204
5489 0012 9BB2 uxth r3, r3
3898:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5490 .loc 1 3898 20 view .LVU1873
5491 0014 013B subs r3, r3, #1
5492 0016 9BB2 uxth r3, r3
5493 0018 C387 strh r3, [r0, #62] @ movhi
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5494 .loc 1 3900 3 is_stmt 1 view .LVU1874
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5495 .loc 1 3900 11 is_stmt 0 view .LVU1875
5496 001a C38F ldrh r3, [r0, #62]
5497 001c 9BB2 uxth r3, r3
3900:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5498 .loc 1 3900 6 view .LVU1876
5499 001e 03B1 cbz r3, .L378
5500 .LVL350:
5501 .L375:
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5502 .loc 1 3911 1 view .LVU1877
5503 0020 08BD pop {r3, pc}
5504 .LVL351:
5505 .L378:
3909:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5506 .loc 1 3909 5 is_stmt 1 view .LVU1878
5507 0022 FFF7FEFF bl SPI_CloseTx_ISR
5508 .LVL352:
3911:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5509 .loc 1 3911 1 is_stmt 0 view .LVU1879
5510 0026 FBE7 b .L375
5511 .cfi_endproc
5512 .LFE175:
5514 .section .text.SPI_TxISR_16BIT,"ax",%progbits
5515 .align 1
5516 .syntax unified
5517 .thumb
5518 .thumb_func
5520 SPI_TxISR_16BIT:
5521 .LVL353:
5522 .LFB176:
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5523 .loc 1 3920 1 is_stmt 1 view -0
5524 .cfi_startproc
5525 @ args = 0, pretend = 0, frame = 0
5526 @ frame_needed = 0, uses_anonymous_args = 0
3920:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5527 .loc 1 3920 1 is_stmt 0 view .LVU1881
5528 0000 08B5 push {r3, lr}
5529 .cfi_def_cfa_offset 8
5530 .cfi_offset 3, -8
5531 .cfi_offset 14, -4
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5532 .loc 1 3922 3 is_stmt 1 view .LVU1882
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5533 .loc 1 3922 42 is_stmt 0 view .LVU1883
5534 0002 826B ldr r2, [r0, #56]
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5535 .loc 1 3922 7 view .LVU1884
ARM GAS /tmp/ccZ0BHQJ.s page 205
5536 0004 0368 ldr r3, [r0]
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5537 .loc 1 3922 24 view .LVU1885
5538 0006 1288 ldrh r2, [r2]
3922:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5539 .loc 1 3922 22 view .LVU1886
5540 0008 DA60 str r2, [r3, #12]
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5541 .loc 1 3923 3 is_stmt 1 view .LVU1887
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5542 .loc 1 3923 7 is_stmt 0 view .LVU1888
5543 000a 836B ldr r3, [r0, #56]
3923:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5544 .loc 1 3923 20 view .LVU1889
5545 000c 0233 adds r3, r3, #2
5546 000e 8363 str r3, [r0, #56]
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5547 .loc 1 3924 3 is_stmt 1 view .LVU1890
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5548 .loc 1 3924 7 is_stmt 0 view .LVU1891
5549 0010 C38F ldrh r3, [r0, #62]
5550 0012 9BB2 uxth r3, r3
3924:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5551 .loc 1 3924 20 view .LVU1892
5552 0014 013B subs r3, r3, #1
5553 0016 9BB2 uxth r3, r3
5554 0018 C387 strh r3, [r0, #62] @ movhi
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5555 .loc 1 3926 3 is_stmt 1 view .LVU1893
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5556 .loc 1 3926 11 is_stmt 0 view .LVU1894
5557 001a C38F ldrh r3, [r0, #62]
5558 001c 9BB2 uxth r3, r3
3926:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5559 .loc 1 3926 6 view .LVU1895
5560 001e 03B1 cbz r3, .L382
5561 .LVL354:
5562 .L379:
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5563 .loc 1 3937 1 view .LVU1896
5564 0020 08BD pop {r3, pc}
5565 .LVL355:
5566 .L382:
3935:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5567 .loc 1 3935 5 is_stmt 1 view .LVU1897
5568 0022 FFF7FEFF bl SPI_CloseTx_ISR
5569 .LVL356:
3937:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5570 .loc 1 3937 1 is_stmt 0 view .LVU1898
5571 0026 FBE7 b .L379
5572 .cfi_endproc
5573 .LFE176:
5575 .section .text.SPI_CloseRx_ISR,"ax",%progbits
5576 .align 1
5577 .syntax unified
5578 .thumb
5579 .thumb_func
ARM GAS /tmp/ccZ0BHQJ.s page 206
5581 SPI_CloseRx_ISR:
5582 .LVL357:
5583 .LFB182:
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
5584 .loc 1 4244 1 is_stmt 1 view -0
5585 .cfi_startproc
5586 @ args = 0, pretend = 0, frame = 0
5587 @ frame_needed = 0, uses_anonymous_args = 0
4244:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
5588 .loc 1 4244 1 is_stmt 0 view .LVU1900
5589 0000 10B5 push {r4, lr}
5590 .cfi_def_cfa_offset 8
5591 .cfi_offset 4, -8
5592 .cfi_offset 14, -4
5593 0002 0446 mov r4, r0
4246:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5594 .loc 1 4246 3 is_stmt 1 view .LVU1901
5595 0004 0268 ldr r2, [r0]
5596 0006 5368 ldr r3, [r2, #4]
5597 0008 23F06003 bic r3, r3, #96
5598 000c 5360 str r3, [r2, #4]
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5599 .loc 1 4249 3 view .LVU1902
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5600 .loc 1 4249 7 is_stmt 0 view .LVU1903
5601 000e FFF7FEFF bl HAL_GetTick
5602 .LVL358:
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5603 .loc 1 4249 7 view .LVU1904
5604 0012 0246 mov r2, r0
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5605 .loc 1 4249 7 discriminator 1 view .LVU1905
5606 0014 6421 movs r1, #100
5607 0016 2046 mov r0, r4
5608 0018 FFF7FEFF bl SPI_EndRxTransaction
5609 .LVL359:
4249:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5610 .loc 1 4249 6 discriminator 2 view .LVU1906
5611 001c 18B1 cbz r0, .L384
4251:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5612 .loc 1 4251 5 is_stmt 1 view .LVU1907
5613 001e 236E ldr r3, [r4, #96]
5614 0020 43F02003 orr r3, r3, #32
5615 0024 2366 str r3, [r4, #96]
5616 .L384:
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5617 .loc 1 4253 3 view .LVU1908
4253:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5618 .loc 1 4253 15 is_stmt 0 view .LVU1909
5619 0026 0123 movs r3, #1
5620 0028 84F85D30 strb r3, [r4, #93]
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5621 .loc 1 4271 5 is_stmt 1 view .LVU1910
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5622 .loc 1 4271 13 is_stmt 0 view .LVU1911
5623 002c 236E ldr r3, [r4, #96]
4271:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 207
5624 .loc 1 4271 8 view .LVU1912
5625 002e 1BB9 cbnz r3, .L385
4277:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5626 .loc 1 4277 7 is_stmt 1 view .LVU1913
5627 0030 2046 mov r0, r4
5628 0032 FFF7FEFF bl HAL_SPI_RxCpltCallback
5629 .LVL360:
5630 .L383:
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5631 .loc 1 4292 1 is_stmt 0 view .LVU1914
5632 0036 10BD pop {r4, pc}
5633 .LVL361:
5634 .L385:
4286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5635 .loc 1 4286 7 is_stmt 1 view .LVU1915
5636 0038 2046 mov r0, r4
5637 003a FFF7FEFF bl HAL_SPI_ErrorCallback
5638 .LVL362:
4292:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5639 .loc 1 4292 1 is_stmt 0 view .LVU1916
5640 003e FAE7 b .L383
5641 .cfi_endproc
5642 .LFE182:
5644 .section .text.SPI_RxISR_8BIT,"ax",%progbits
5645 .align 1
5646 .syntax unified
5647 .thumb
5648 .thumb_func
5650 SPI_RxISR_8BIT:
5651 .LVL363:
5652 .LFB173:
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
5653 .loc 1 3806 1 is_stmt 1 view -0
5654 .cfi_startproc
5655 @ args = 0, pretend = 0, frame = 0
5656 @ frame_needed = 0, uses_anonymous_args = 0
3806:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
5657 .loc 1 3806 1 is_stmt 0 view .LVU1918
5658 0000 08B5 push {r3, lr}
5659 .cfi_def_cfa_offset 8
5660 .cfi_offset 3, -8
5661 .cfi_offset 14, -4
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5662 .loc 1 3807 3 is_stmt 1 view .LVU1919
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5663 .loc 1 3807 46 is_stmt 0 view .LVU1920
5664 0002 0268 ldr r2, [r0]
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5665 .loc 1 3807 8 view .LVU1921
5666 0004 036C ldr r3, [r0, #64]
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5667 .loc 1 3807 24 view .LVU1922
5668 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3807:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
5669 .loc 1 3807 21 view .LVU1923
5670 0008 1A70 strb r2, [r3]
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
ARM GAS /tmp/ccZ0BHQJ.s page 208
5671 .loc 1 3808 3 is_stmt 1 view .LVU1924
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5672 .loc 1 3808 7 is_stmt 0 view .LVU1925
5673 000a 036C ldr r3, [r0, #64]
3808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5674 .loc 1 3808 19 view .LVU1926
5675 000c 0133 adds r3, r3, #1
5676 000e 0364 str r3, [r0, #64]
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5677 .loc 1 3809 3 is_stmt 1 view .LVU1927
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5678 .loc 1 3809 7 is_stmt 0 view .LVU1928
5679 0010 B0F84630 ldrh r3, [r0, #70]
5680 0014 9BB2 uxth r3, r3
3809:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5681 .loc 1 3809 20 view .LVU1929
5682 0016 013B subs r3, r3, #1
5683 0018 9BB2 uxth r3, r3
5684 001a A0F84630 strh r3, [r0, #70] @ movhi
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5685 .loc 1 3819 3 is_stmt 1 view .LVU1930
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5686 .loc 1 3819 11 is_stmt 0 view .LVU1931
5687 001e B0F84630 ldrh r3, [r0, #70]
5688 0022 9BB2 uxth r3, r3
3819:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5689 .loc 1 3819 6 view .LVU1932
5690 0024 03B1 cbz r3, .L391
5691 .LVL364:
5692 .L388:
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5693 .loc 1 3830 1 view .LVU1933
5694 0026 08BD pop {r3, pc}
5695 .LVL365:
5696 .L391:
3828:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5697 .loc 1 3828 5 is_stmt 1 view .LVU1934
5698 0028 FFF7FEFF bl SPI_CloseRx_ISR
5699 .LVL366:
3830:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5700 .loc 1 3830 1 is_stmt 0 view .LVU1935
5701 002c FBE7 b .L388
5702 .cfi_endproc
5703 .LFE173:
5705 .section .text.SPI_RxISR_16BIT,"ax",%progbits
5706 .align 1
5707 .syntax unified
5708 .thumb
5709 .thumb_func
5711 SPI_RxISR_16BIT:
5712 .LVL367:
5713 .LFB174:
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
5714 .loc 1 3862 1 is_stmt 1 view -0
5715 .cfi_startproc
5716 @ args = 0, pretend = 0, frame = 0
5717 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/ccZ0BHQJ.s page 209
3862:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
5718 .loc 1 3862 1 is_stmt 0 view .LVU1937
5719 0000 08B5 push {r3, lr}
5720 .cfi_def_cfa_offset 8
5721 .cfi_offset 3, -8
5722 .cfi_offset 14, -4
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5723 .loc 1 3863 3 is_stmt 1 view .LVU1938
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5724 .loc 1 3863 52 is_stmt 0 view .LVU1939
5725 0002 0368 ldr r3, [r0]
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5726 .loc 1 3863 62 view .LVU1940
5727 0004 DA68 ldr r2, [r3, #12]
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5728 .loc 1 3863 21 view .LVU1941
5729 0006 036C ldr r3, [r0, #64]
3863:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5730 .loc 1 3863 35 view .LVU1942
5731 0008 1A80 strh r2, [r3] @ movhi
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5732 .loc 1 3864 3 is_stmt 1 view .LVU1943
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5733 .loc 1 3864 7 is_stmt 0 view .LVU1944
5734 000a 036C ldr r3, [r0, #64]
3864:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
5735 .loc 1 3864 20 view .LVU1945
5736 000c 0233 adds r3, r3, #2
5737 000e 0364 str r3, [r0, #64]
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5738 .loc 1 3865 3 is_stmt 1 view .LVU1946
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5739 .loc 1 3865 7 is_stmt 0 view .LVU1947
5740 0010 B0F84630 ldrh r3, [r0, #70]
5741 0014 9BB2 uxth r3, r3
3865:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5742 .loc 1 3865 20 view .LVU1948
5743 0016 013B subs r3, r3, #1
5744 0018 9BB2 uxth r3, r3
5745 001a A0F84630 strh r3, [r0, #70] @ movhi
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5746 .loc 1 3875 3 is_stmt 1 view .LVU1949
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5747 .loc 1 3875 11 is_stmt 0 view .LVU1950
5748 001e B0F84630 ldrh r3, [r0, #70]
5749 0022 9BB2 uxth r3, r3
3875:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5750 .loc 1 3875 6 view .LVU1951
5751 0024 03B1 cbz r3, .L395
5752 .LVL368:
5753 .L392:
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5754 .loc 1 3886 1 view .LVU1952
5755 0026 08BD pop {r3, pc}
5756 .LVL369:
5757 .L395:
3884:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
ARM GAS /tmp/ccZ0BHQJ.s page 210
5758 .loc 1 3884 5 is_stmt 1 view .LVU1953
5759 0028 FFF7FEFF bl SPI_CloseRx_ISR
5760 .LVL370:
3886:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5761 .loc 1 3886 1 is_stmt 0 view .LVU1954
5762 002c FBE7 b .L392
5763 .cfi_endproc
5764 .LFE174:
5766 .section .text.SPI_CloseRxTx_ISR,"ax",%progbits
5767 .align 1
5768 .syntax unified
5769 .thumb
5770 .thumb_func
5772 SPI_CloseRxTx_ISR:
5773 .LVL371:
5774 .LFB181:
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5775 .loc 1 4167 1 is_stmt 1 view -0
5776 .cfi_startproc
5777 @ args = 0, pretend = 0, frame = 0
5778 @ frame_needed = 0, uses_anonymous_args = 0
4167:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
5779 .loc 1 4167 1 is_stmt 0 view .LVU1956
5780 0000 10B5 push {r4, lr}
5781 .cfi_def_cfa_offset 8
5782 .cfi_offset 4, -8
5783 .cfi_offset 14, -4
5784 0002 0446 mov r4, r0
4168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5785 .loc 1 4168 3 is_stmt 1 view .LVU1957
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5786 .loc 1 4171 3 view .LVU1958
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5787 .loc 1 4171 15 is_stmt 0 view .LVU1959
5788 0004 FFF7FEFF bl HAL_GetTick
5789 .LVL372:
4171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5790 .loc 1 4171 15 view .LVU1960
5791 0008 0246 mov r2, r0
5792 .LVL373:
4174:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5793 .loc 1 4174 3 is_stmt 1 view .LVU1961
5794 000a 2168 ldr r1, [r4]
5795 000c 4B68 ldr r3, [r1, #4]
5796 000e 23F02003 bic r3, r3, #32
5797 0012 4B60 str r3, [r1, #4]
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5798 .loc 1 4177 3 view .LVU1962
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5799 .loc 1 4177 7 is_stmt 0 view .LVU1963
5800 0014 6421 movs r1, #100
5801 0016 2046 mov r0, r4
5802 .LVL374:
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5803 .loc 1 4177 7 view .LVU1964
5804 0018 FFF7FEFF bl SPI_EndRxTxTransaction
5805 .LVL375:
ARM GAS /tmp/ccZ0BHQJ.s page 211
4177:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5806 .loc 1 4177 6 discriminator 1 view .LVU1965
5807 001c 18B1 cbz r0, .L397
4179:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5808 .loc 1 4179 5 is_stmt 1 view .LVU1966
5809 001e 236E ldr r3, [r4, #96]
5810 0020 43F02003 orr r3, r3, #32
5811 0024 2366 str r3, [r4, #96]
5812 .L397:
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5813 .loc 1 4199 5 view .LVU1967
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5814 .loc 1 4199 13 is_stmt 0 view .LVU1968
5815 0026 236E ldr r3, [r4, #96]
4199:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5816 .loc 1 4199 8 view .LVU1969
5817 0028 93B9 cbnz r3, .L398
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5818 .loc 1 4201 7 is_stmt 1 view .LVU1970
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5819 .loc 1 4201 15 is_stmt 0 view .LVU1971
5820 002a 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
5821 002e DBB2 uxtb r3, r3
4201:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5822 .loc 1 4201 10 view .LVU1972
5823 0030 042B cmp r3, #4
5824 0032 06D0 beq .L402
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
5825 .loc 1 4213 9 is_stmt 1 view .LVU1973
4213:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user TxRx complete callback */
5826 .loc 1 4213 21 is_stmt 0 view .LVU1974
5827 0034 0123 movs r3, #1
5828 0036 84F85D30 strb r3, [r4, #93]
4218:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5829 .loc 1 4218 9 is_stmt 1 view .LVU1975
5830 003a 2046 mov r0, r4
5831 003c FFF7FEFF bl HAL_SPI_TxRxCpltCallback
5832 .LVL376:
5833 .L396:
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5834 .loc 1 4235 1 is_stmt 0 view .LVU1976
5835 0040 10BD pop {r4, pc}
5836 .LVL377:
5837 .L402:
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
5838 .loc 1 4203 9 is_stmt 1 view .LVU1977
4203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user Rx complete callback */
5839 .loc 1 4203 21 is_stmt 0 view .LVU1978
5840 0042 0123 movs r3, #1
5841 0044 84F85D30 strb r3, [r4, #93]
4208:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5842 .loc 1 4208 9 is_stmt 1 view .LVU1979
5843 0048 2046 mov r0, r4
5844 004a FFF7FEFF bl HAL_SPI_RxCpltCallback
5845 .LVL378:
5846 004e F7E7 b .L396
5847 .L398:
ARM GAS /tmp/ccZ0BHQJ.s page 212
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
5848 .loc 1 4224 7 view .LVU1980
4224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
5849 .loc 1 4224 19 is_stmt 0 view .LVU1981
5850 0050 0123 movs r3, #1
5851 0052 84F85D30 strb r3, [r4, #93]
4229:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5852 .loc 1 4229 7 is_stmt 1 view .LVU1982
5853 0056 2046 mov r0, r4
5854 0058 FFF7FEFF bl HAL_SPI_ErrorCallback
5855 .LVL379:
4235:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5856 .loc 1 4235 1 is_stmt 0 view .LVU1983
5857 005c F0E7 b .L396
5858 .cfi_endproc
5859 .LFE181:
5861 .section .text.SPI_2linesTxISR_8BIT,"ax",%progbits
5862 .align 1
5863 .syntax unified
5864 .thumb
5865 .thumb_func
5867 SPI_2linesTxISR_8BIT:
5868 .LVL380:
5869 .LFB170:
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
5870 .loc 1 3638 1 is_stmt 1 view -0
5871 .cfi_startproc
5872 @ args = 0, pretend = 0, frame = 0
5873 @ frame_needed = 0, uses_anonymous_args = 0
3638:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in packing Bit mode */
5874 .loc 1 3638 1 is_stmt 0 view .LVU1985
5875 0000 08B5 push {r3, lr}
5876 .cfi_def_cfa_offset 8
5877 .cfi_offset 3, -8
5878 .cfi_offset 14, -4
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5879 .loc 1 3640 3 is_stmt 1 view .LVU1986
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5880 .loc 1 3640 11 is_stmt 0 view .LVU1987
5881 0002 C38F ldrh r3, [r0, #62]
5882 0004 9BB2 uxth r3, r3
3640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5883 .loc 1 3640 6 view .LVU1988
5884 0006 012B cmp r3, #1
5885 0008 18D9 bls .L404
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5886 .loc 1 3642 5 is_stmt 1 view .LVU1989
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5887 .loc 1 3642 44 is_stmt 0 view .LVU1990
5888 000a 826B ldr r2, [r0, #56]
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5889 .loc 1 3642 9 view .LVU1991
5890 000c 0368 ldr r3, [r0]
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5891 .loc 1 3642 26 view .LVU1992
5892 000e 1288 ldrh r2, [r2]
3642:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
ARM GAS /tmp/ccZ0BHQJ.s page 213
5893 .loc 1 3642 24 view .LVU1993
5894 0010 DA60 str r2, [r3, #12]
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5895 .loc 1 3643 5 is_stmt 1 view .LVU1994
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5896 .loc 1 3643 9 is_stmt 0 view .LVU1995
5897 0012 836B ldr r3, [r0, #56]
3643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount -= 2U;
5898 .loc 1 3643 22 view .LVU1996
5899 0014 0233 adds r3, r3, #2
5900 0016 8363 str r3, [r0, #56]
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5901 .loc 1 3644 5 is_stmt 1 view .LVU1997
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5902 .loc 1 3644 9 is_stmt 0 view .LVU1998
5903 0018 C38F ldrh r3, [r0, #62]
5904 001a 9BB2 uxth r3, r3
3644:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5905 .loc 1 3644 23 view .LVU1999
5906 001c 023B subs r3, r3, #2
5907 001e 9BB2 uxth r3, r3
5908 0020 C387 strh r3, [r0, #62] @ movhi
5909 .L405:
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5910 .loc 1 3655 3 is_stmt 1 view .LVU2000
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5911 .loc 1 3655 11 is_stmt 0 view .LVU2001
5912 0022 C38F ldrh r3, [r0, #62]
5913 0024 9BB2 uxth r3, r3
3655:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5914 .loc 1 3655 6 view .LVU2002
5915 0026 43B9 cbnz r3, .L403
3669:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5916 .loc 1 3669 5 is_stmt 1 view .LVU2003
5917 0028 0268 ldr r2, [r0]
5918 002a 5368 ldr r3, [r2, #4]
5919 002c 23F08003 bic r3, r3, #128
5920 0030 5360 str r3, [r2, #4]
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5921 .loc 1 3671 5 view .LVU2004
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5922 .loc 1 3671 13 is_stmt 0 view .LVU2005
5923 0032 B0F84630 ldrh r3, [r0, #70]
5924 0036 9BB2 uxth r3, r3
3671:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5925 .loc 1 3671 8 view .LVU2006
5926 0038 6BB1 cbz r3, .L408
5927 .LVL381:
5928 .L403:
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5929 .loc 1 3676 1 view .LVU2007
5930 003a 08BD pop {r3, pc}
5931 .LVL382:
5932 .L404:
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5933 .loc 1 3649 5 is_stmt 1 view .LVU2008
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
ARM GAS /tmp/ccZ0BHQJ.s page 214
5934 .loc 1 3649 50 is_stmt 0 view .LVU2009
5935 003c 826B ldr r2, [r0, #56]
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5936 .loc 1 3649 27 view .LVU2010
5937 003e 0368 ldr r3, [r0]
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5938 .loc 1 3649 45 view .LVU2011
5939 0040 1278 ldrb r2, [r2] @ zero_extendqisi2
3649:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr++;
5940 .loc 1 3649 42 view .LVU2012
5941 0042 1A73 strb r2, [r3, #12]
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5942 .loc 1 3650 5 is_stmt 1 view .LVU2013
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5943 .loc 1 3650 9 is_stmt 0 view .LVU2014
5944 0044 836B ldr r3, [r0, #56]
3650:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
5945 .loc 1 3650 21 view .LVU2015
5946 0046 0133 adds r3, r3, #1
5947 0048 8363 str r3, [r0, #56]
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5948 .loc 1 3651 5 is_stmt 1 view .LVU2016
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5949 .loc 1 3651 9 is_stmt 0 view .LVU2017
5950 004a C38F ldrh r3, [r0, #62]
5951 004c 9BB2 uxth r3, r3
3651:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5952 .loc 1 3651 22 view .LVU2018
5953 004e 013B subs r3, r3, #1
5954 0050 9BB2 uxth r3, r3
5955 0052 C387 strh r3, [r0, #62] @ movhi
5956 0054 E5E7 b .L405
5957 .L408:
3673:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
5958 .loc 1 3673 7 is_stmt 1 view .LVU2019
5959 0056 FFF7FEFF bl SPI_CloseRxTx_ISR
5960 .LVL383:
3676:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
5961 .loc 1 3676 1 is_stmt 0 view .LVU2020
5962 005a EEE7 b .L403
5963 .cfi_endproc
5964 .LFE170:
5966 .section .text.SPI_2linesRxISR_8BIT,"ax",%progbits
5967 .align 1
5968 .syntax unified
5969 .thumb
5970 .thumb_func
5972 SPI_2linesRxISR_8BIT:
5973 .LVL384:
5974 .LFB169:
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
5975 .loc 1 3553 1 is_stmt 1 view -0
5976 .cfi_startproc
5977 @ args = 0, pretend = 0, frame = 0
5978 @ frame_needed = 0, uses_anonymous_args = 0
3553:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in packing mode */
5979 .loc 1 3553 1 is_stmt 0 view .LVU2022
ARM GAS /tmp/ccZ0BHQJ.s page 215
5980 0000 08B5 push {r3, lr}
5981 .cfi_def_cfa_offset 8
5982 .cfi_offset 3, -8
5983 .cfi_offset 14, -4
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5984 .loc 1 3555 3 is_stmt 1 view .LVU2023
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5985 .loc 1 3555 11 is_stmt 0 view .LVU2024
5986 0002 B0F84630 ldrh r3, [r0, #70]
5987 0006 9BB2 uxth r3, r3
3555:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
5988 .loc 1 3555 6 view .LVU2025
5989 0008 012B cmp r3, #1
5990 000a 18D9 bls .L410
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5991 .loc 1 3557 5 is_stmt 1 view .LVU2026
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5992 .loc 1 3557 54 is_stmt 0 view .LVU2027
5993 000c 0368 ldr r3, [r0]
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5994 .loc 1 3557 64 view .LVU2028
5995 000e DA68 ldr r2, [r3, #12]
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5996 .loc 1 3557 23 view .LVU2029
5997 0010 036C ldr r3, [r0, #64]
3557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5998 .loc 1 3557 37 view .LVU2030
5999 0012 1A80 strh r2, [r3] @ movhi
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
6000 .loc 1 3558 5 is_stmt 1 view .LVU2031
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
6001 .loc 1 3558 9 is_stmt 0 view .LVU2032
6002 0014 036C ldr r3, [r0, #64]
3558:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount -= 2U;
6003 .loc 1 3558 22 view .LVU2033
6004 0016 0233 adds r3, r3, #2
6005 0018 0364 str r3, [r0, #64]
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
6006 .loc 1 3559 5 is_stmt 1 view .LVU2034
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
6007 .loc 1 3559 9 is_stmt 0 view .LVU2035
6008 001a B0F84630 ldrh r3, [r0, #70]
6009 001e 9BB2 uxth r3, r3
3559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (hspi->RxXferCount == 1U)
6010 .loc 1 3559 23 view .LVU2036
6011 0020 023B subs r3, r3, #2
6012 0022 9BB2 uxth r3, r3
6013 0024 A0F84630 strh r3, [r0, #70] @ movhi
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6014 .loc 1 3560 5 is_stmt 1 view .LVU2037
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6015 .loc 1 3560 13 is_stmt 0 view .LVU2038
6016 0028 B0F84630 ldrh r3, [r0, #70]
6017 002c 9BB2 uxth r3, r3
3560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6018 .loc 1 3560 8 view .LVU2039
6019 002e 012B cmp r3, #1
ARM GAS /tmp/ccZ0BHQJ.s page 216
6020 0030 13D1 bne .L411
3563:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6021 .loc 1 3563 7 is_stmt 1 view .LVU2040
6022 0032 0268 ldr r2, [r0]
6023 0034 5368 ldr r3, [r2, #4]
6024 0036 43F48053 orr r3, r3, #4096
6025 003a 5360 str r3, [r2, #4]
6026 003c 0DE0 b .L411
6027 .L410:
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
6028 .loc 1 3569 5 view .LVU2041
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
6029 .loc 1 3569 48 is_stmt 0 view .LVU2042
6030 003e 0268 ldr r2, [r0]
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
6031 .loc 1 3569 10 view .LVU2043
6032 0040 036C ldr r3, [r0, #64]
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
6033 .loc 1 3569 25 view .LVU2044
6034 0042 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3569:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr++;
6035 .loc 1 3569 23 view .LVU2045
6036 0044 1A70 strb r2, [r3]
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6037 .loc 1 3570 5 is_stmt 1 view .LVU2046
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6038 .loc 1 3570 9 is_stmt 0 view .LVU2047
6039 0046 036C ldr r3, [r0, #64]
3570:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6040 .loc 1 3570 21 view .LVU2048
6041 0048 0133 adds r3, r3, #1
6042 004a 0364 str r3, [r0, #64]
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6043 .loc 1 3571 5 is_stmt 1 view .LVU2049
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6044 .loc 1 3571 9 is_stmt 0 view .LVU2050
6045 004c B0F84630 ldrh r3, [r0, #70]
6046 0050 9BB2 uxth r3, r3
3571:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6047 .loc 1 3571 22 view .LVU2051
6048 0052 013B subs r3, r3, #1
6049 0054 9BB2 uxth r3, r3
6050 0056 A0F84630 strh r3, [r0, #70] @ movhi
6051 .L411:
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6052 .loc 1 3575 3 is_stmt 1 view .LVU2052
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6053 .loc 1 3575 11 is_stmt 0 view .LVU2053
6054 005a B0F84630 ldrh r3, [r0, #70]
6055 005e 9BB2 uxth r3, r3
3575:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6056 .loc 1 3575 6 view .LVU2054
6057 0060 3BB9 cbnz r3, .L409
3587:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6058 .loc 1 3587 5 is_stmt 1 view .LVU2055
6059 0062 0268 ldr r2, [r0]
6060 0064 5368 ldr r3, [r2, #4]
ARM GAS /tmp/ccZ0BHQJ.s page 217
6061 0066 23F06003 bic r3, r3, #96
6062 006a 5360 str r3, [r2, #4]
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6063 .loc 1 3589 5 view .LVU2056
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6064 .loc 1 3589 13 is_stmt 0 view .LVU2057
6065 006c C38F ldrh r3, [r0, #62]
6066 006e 9BB2 uxth r3, r3
3589:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6067 .loc 1 3589 8 view .LVU2058
6068 0070 03B1 cbz r3, .L414
6069 .LVL385:
6070 .L409:
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6071 .loc 1 3594 1 view .LVU2059
6072 0072 08BD pop {r3, pc}
6073 .LVL386:
6074 .L414:
3591:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6075 .loc 1 3591 7 is_stmt 1 view .LVU2060
6076 0074 FFF7FEFF bl SPI_CloseRxTx_ISR
6077 .LVL387:
3594:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6078 .loc 1 3594 1 is_stmt 0 view .LVU2061
6079 0078 FBE7 b .L409
6080 .cfi_endproc
6081 .LFE169:
6083 .section .text.SPI_2linesTxISR_16BIT,"ax",%progbits
6084 .align 1
6085 .syntax unified
6086 .thumb
6087 .thumb_func
6089 SPI_2linesTxISR_16BIT:
6090 .LVL388:
6091 .LFB172:
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
6092 .loc 1 3741 1 is_stmt 1 view -0
6093 .cfi_startproc
6094 @ args = 0, pretend = 0, frame = 0
6095 @ frame_needed = 0, uses_anonymous_args = 0
3741:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
6096 .loc 1 3741 1 is_stmt 0 view .LVU2063
6097 0000 08B5 push {r3, lr}
6098 .cfi_def_cfa_offset 8
6099 .cfi_offset 3, -8
6100 .cfi_offset 14, -4
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6101 .loc 1 3743 3 is_stmt 1 view .LVU2064
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6102 .loc 1 3743 42 is_stmt 0 view .LVU2065
6103 0002 826B ldr r2, [r0, #56]
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6104 .loc 1 3743 7 view .LVU2066
6105 0004 0368 ldr r3, [r0]
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6106 .loc 1 3743 24 view .LVU2067
6107 0006 1288 ldrh r2, [r2]
ARM GAS /tmp/ccZ0BHQJ.s page 218
3743:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
6108 .loc 1 3743 22 view .LVU2068
6109 0008 DA60 str r2, [r3, #12]
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6110 .loc 1 3744 3 is_stmt 1 view .LVU2069
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6111 .loc 1 3744 7 is_stmt 0 view .LVU2070
6112 000a 836B ldr r3, [r0, #56]
3744:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount--;
6113 .loc 1 3744 20 view .LVU2071
6114 000c 0233 adds r3, r3, #2
6115 000e 8363 str r3, [r0, #56]
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6116 .loc 1 3745 3 is_stmt 1 view .LVU2072
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6117 .loc 1 3745 7 is_stmt 0 view .LVU2073
6118 0010 C38F ldrh r3, [r0, #62]
6119 0012 9BB2 uxth r3, r3
3745:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6120 .loc 1 3745 20 view .LVU2074
6121 0014 013B subs r3, r3, #1
6122 0016 9BB2 uxth r3, r3
6123 0018 C387 strh r3, [r0, #62] @ movhi
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6124 .loc 1 3748 3 is_stmt 1 view .LVU2075
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6125 .loc 1 3748 11 is_stmt 0 view .LVU2076
6126 001a C38F ldrh r3, [r0, #62]
6127 001c 9BB2 uxth r3, r3
3748:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6128 .loc 1 3748 6 view .LVU2077
6129 001e 43B9 cbnz r3, .L415
3762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6130 .loc 1 3762 5 is_stmt 1 view .LVU2078
6131 0020 0268 ldr r2, [r0]
6132 0022 5368 ldr r3, [r2, #4]
6133 0024 23F08003 bic r3, r3, #128
6134 0028 5360 str r3, [r2, #4]
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6135 .loc 1 3764 5 view .LVU2079
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6136 .loc 1 3764 13 is_stmt 0 view .LVU2080
6137 002a B0F84630 ldrh r3, [r0, #70]
6138 002e 9BB2 uxth r3, r3
3764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6139 .loc 1 3764 8 view .LVU2081
6140 0030 03B1 cbz r3, .L418
6141 .LVL389:
6142 .L415:
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6143 .loc 1 3769 1 view .LVU2082
6144 0032 08BD pop {r3, pc}
6145 .LVL390:
6146 .L418:
3766:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6147 .loc 1 3766 7 is_stmt 1 view .LVU2083
6148 0034 FFF7FEFF bl SPI_CloseRxTx_ISR
ARM GAS /tmp/ccZ0BHQJ.s page 219
6149 .LVL391:
3769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6150 .loc 1 3769 1 is_stmt 0 view .LVU2084
6151 0038 FBE7 b .L415
6152 .cfi_endproc
6153 .LFE172:
6155 .section .text.SPI_2linesRxISR_16BIT,"ax",%progbits
6156 .align 1
6157 .syntax unified
6158 .thumb
6159 .thumb_func
6161 SPI_2linesRxISR_16BIT:
6162 .LVL392:
6163 .LFB171:
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
6164 .loc 1 3685 1 is_stmt 1 view -0
6165 .cfi_startproc
6166 @ args = 0, pretend = 0, frame = 0
6167 @ frame_needed = 0, uses_anonymous_args = 0
3685:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Receive data in 16 Bit mode */
6168 .loc 1 3685 1 is_stmt 0 view .LVU2086
6169 0000 08B5 push {r3, lr}
6170 .cfi_def_cfa_offset 8
6171 .cfi_offset 3, -8
6172 .cfi_offset 14, -4
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6173 .loc 1 3687 3 is_stmt 1 view .LVU2087
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6174 .loc 1 3687 52 is_stmt 0 view .LVU2088
6175 0002 0368 ldr r3, [r0]
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6176 .loc 1 3687 62 view .LVU2089
6177 0004 DA68 ldr r2, [r3, #12]
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6178 .loc 1 3687 21 view .LVU2090
6179 0006 036C ldr r3, [r0, #64]
3687:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
6180 .loc 1 3687 35 view .LVU2091
6181 0008 1A80 strh r2, [r3] @ movhi
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6182 .loc 1 3688 3 is_stmt 1 view .LVU2092
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6183 .loc 1 3688 7 is_stmt 0 view .LVU2093
6184 000a 036C ldr r3, [r0, #64]
3688:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount--;
6185 .loc 1 3688 20 view .LVU2094
6186 000c 0233 adds r3, r3, #2
6187 000e 0364 str r3, [r0, #64]
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6188 .loc 1 3689 3 is_stmt 1 view .LVU2095
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6189 .loc 1 3689 7 is_stmt 0 view .LVU2096
6190 0010 B0F84630 ldrh r3, [r0, #70]
6191 0014 9BB2 uxth r3, r3
3689:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6192 .loc 1 3689 20 view .LVU2097
6193 0016 013B subs r3, r3, #1
ARM GAS /tmp/ccZ0BHQJ.s page 220
6194 0018 9BB2 uxth r3, r3
6195 001a A0F84630 strh r3, [r0, #70] @ movhi
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6196 .loc 1 3691 3 is_stmt 1 view .LVU2098
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6197 .loc 1 3691 11 is_stmt 0 view .LVU2099
6198 001e B0F84630 ldrh r3, [r0, #70]
6199 0022 9BB2 uxth r3, r3
3691:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6200 .loc 1 3691 6 view .LVU2100
6201 0024 3BB9 cbnz r3, .L419
3702:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6202 .loc 1 3702 5 is_stmt 1 view .LVU2101
6203 0026 0268 ldr r2, [r0]
6204 0028 5368 ldr r3, [r2, #4]
6205 002a 23F04003 bic r3, r3, #64
6206 002e 5360 str r3, [r2, #4]
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6207 .loc 1 3704 5 view .LVU2102
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6208 .loc 1 3704 13 is_stmt 0 view .LVU2103
6209 0030 C38F ldrh r3, [r0, #62]
6210 0032 9BB2 uxth r3, r3
3704:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6211 .loc 1 3704 8 view .LVU2104
6212 0034 03B1 cbz r3, .L422
6213 .LVL393:
6214 .L419:
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6215 .loc 1 3709 1 view .LVU2105
6216 0036 08BD pop {r3, pc}
6217 .LVL394:
6218 .L422:
3706:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6219 .loc 1 3706 7 is_stmt 1 view .LVU2106
6220 0038 FFF7FEFF bl SPI_CloseRxTx_ISR
6221 .LVL395:
3709:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6222 .loc 1 3709 1 is_stmt 0 view .LVU2107
6223 003c FBE7 b .L419
6224 .cfi_endproc
6225 .LFE171:
6227 .section .text.SPI_DMAError,"ax",%progbits
6228 .align 1
6229 .syntax unified
6230 .thumb
6231 .thumb_func
6233 SPI_DMAError:
6234 .LVL396:
6235 .LFB165:
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6236 .loc 1 3377 1 is_stmt 1 view -0
6237 .cfi_startproc
6238 @ args = 0, pretend = 0, frame = 0
6239 @ frame_needed = 0, uses_anonymous_args = 0
3377:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6240 .loc 1 3377 1 is_stmt 0 view .LVU2109
ARM GAS /tmp/ccZ0BHQJ.s page 221
6241 0000 08B5 push {r3, lr}
6242 .cfi_def_cfa_offset 8
6243 .cfi_offset 3, -8
6244 .cfi_offset 14, -4
3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6245 .loc 1 3378 3 is_stmt 1 view .LVU2110
3378:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6246 .loc 1 3378 22 is_stmt 0 view .LVU2111
6247 0002 406A ldr r0, [r0, #36]
6248 .LVL397:
3381:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6249 .loc 1 3381 3 is_stmt 1 view .LVU2112
6250 0004 0268 ldr r2, [r0]
6251 0006 5368 ldr r3, [r2, #4]
6252 0008 23F00303 bic r3, r3, #3
6253 000c 5360 str r3, [r2, #4]
3383:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6254 .loc 1 3383 3 view .LVU2113
6255 000e 036E ldr r3, [r0, #96]
6256 0010 43F01003 orr r3, r3, #16
6257 0014 0366 str r3, [r0, #96]
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
6258 .loc 1 3384 3 view .LVU2114
3384:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Call user error callback */
6259 .loc 1 3384 15 is_stmt 0 view .LVU2115
6260 0016 0123 movs r3, #1
6261 0018 80F85D30 strb r3, [r0, #93]
3389:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6262 .loc 1 3389 3 is_stmt 1 view .LVU2116
6263 001c FFF7FEFF bl HAL_SPI_ErrorCallback
6264 .LVL398:
3391:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6265 .loc 1 3391 1 is_stmt 0 view .LVU2117
6266 0020 08BD pop {r3, pc}
6267 .cfi_endproc
6268 .LFE165:
6270 .section .text.SPI_DMATransmitCplt,"ax",%progbits
6271 .align 1
6272 .syntax unified
6273 .thumb
6274 .thumb_func
6276 SPI_DMATransmitCplt:
6277 .LVL399:
6278 .LFB159:
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6279 .loc 1 3049 1 is_stmt 1 view -0
6280 .cfi_startproc
6281 @ args = 0, pretend = 0, frame = 8
6282 @ frame_needed = 0, uses_anonymous_args = 0
3049:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6283 .loc 1 3049 1 is_stmt 0 view .LVU2119
6284 0000 30B5 push {r4, r5, lr}
6285 .cfi_def_cfa_offset 12
6286 .cfi_offset 4, -12
6287 .cfi_offset 5, -8
6288 .cfi_offset 14, -4
6289 0002 83B0 sub sp, sp, #12
ARM GAS /tmp/ccZ0BHQJ.s page 222
6290 .cfi_def_cfa_offset 24
6291 0004 0546 mov r5, r0
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6292 .loc 1 3050 3 is_stmt 1 view .LVU2120
3050:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6293 .loc 1 3050 22 is_stmt 0 view .LVU2121
6294 0006 446A ldr r4, [r0, #36]
6295 .LVL400:
3051:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6296 .loc 1 3051 3 is_stmt 1 view .LVU2122
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6297 .loc 1 3054 3 view .LVU2123
3054:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6298 .loc 1 3054 15 is_stmt 0 view .LVU2124
6299 0008 FFF7FEFF bl HAL_GetTick
6300 .LVL401:
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6301 .loc 1 3057 3 is_stmt 1 view .LVU2125
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6302 .loc 1 3057 12 is_stmt 0 view .LVU2126
6303 000c 2B68 ldr r3, [r5]
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6304 .loc 1 3057 22 view .LVU2127
6305 000e 1B68 ldr r3, [r3]
3057:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6306 .loc 1 3057 6 view .LVU2128
6307 0010 13F0200F tst r3, #32
6308 0014 23D1 bne .L426
6309 0016 0246 mov r2, r0
3060:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6310 .loc 1 3060 5 is_stmt 1 view .LVU2129
6311 0018 2168 ldr r1, [r4]
6312 001a 4B68 ldr r3, [r1, #4]
6313 001c 23F02003 bic r3, r3, #32
6314 0020 4B60 str r3, [r1, #4]
3063:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6315 .loc 1 3063 5 view .LVU2130
6316 0022 2168 ldr r1, [r4]
6317 0024 4B68 ldr r3, [r1, #4]
6318 0026 23F00203 bic r3, r3, #2
6319 002a 4B60 str r3, [r1, #4]
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6320 .loc 1 3066 5 view .LVU2131
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6321 .loc 1 3066 9 is_stmt 0 view .LVU2132
6322 002c 6421 movs r1, #100
6323 002e 2046 mov r0, r4
6324 .LVL402:
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6325 .loc 1 3066 9 view .LVU2133
6326 0030 FFF7FEFF bl SPI_EndRxTxTransaction
6327 .LVL403:
3066:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6328 .loc 1 3066 8 discriminator 1 view .LVU2134
6329 0034 18B1 cbz r0, .L427
3068:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6330 .loc 1 3068 7 is_stmt 1 view .LVU2135
ARM GAS /tmp/ccZ0BHQJ.s page 223
6331 0036 236E ldr r3, [r4, #96]
6332 0038 43F02003 orr r3, r3, #32
6333 003c 2366 str r3, [r4, #96]
6334 .L427:
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6335 .loc 1 3072 5 view .LVU2136
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6336 .loc 1 3072 19 is_stmt 0 view .LVU2137
6337 003e A368 ldr r3, [r4, #8]
3072:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6338 .loc 1 3072 8 view .LVU2138
6339 0040 33B9 cbnz r3, .L428
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6340 .loc 1 3074 7 is_stmt 1 view .LVU2139
6341 .LBB6:
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6342 .loc 1 3074 7 view .LVU2140
6343 0042 0193 str r3, [sp, #4]
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6344 .loc 1 3074 7 view .LVU2141
6345 0044 2368 ldr r3, [r4]
6346 0046 DA68 ldr r2, [r3, #12]
6347 0048 0192 str r2, [sp, #4]
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6348 .loc 1 3074 7 view .LVU2142
6349 004a 9B68 ldr r3, [r3, #8]
6350 004c 0193 str r3, [sp, #4]
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6351 .loc 1 3074 7 view .LVU2143
6352 004e 019B ldr r3, [sp, #4]
6353 .L428:
6354 .LBE6:
3074:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6355 .loc 1 3074 7 discriminator 1 view .LVU2144
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6356 .loc 1 3077 5 view .LVU2145
3077:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6357 .loc 1 3077 23 is_stmt 0 view .LVU2146
6358 0050 0023 movs r3, #0
6359 0052 E387 strh r3, [r4, #62] @ movhi
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6360 .loc 1 3078 5 is_stmt 1 view .LVU2147
3078:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6361 .loc 1 3078 17 is_stmt 0 view .LVU2148
6362 0054 0123 movs r3, #1
6363 0056 84F85D30 strb r3, [r4, #93]
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6364 .loc 1 3080 5 is_stmt 1 view .LVU2149
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6365 .loc 1 3080 13 is_stmt 0 view .LVU2150
6366 005a 236E ldr r3, [r4, #96]
3080:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6367 .loc 1 3080 8 view .LVU2151
6368 005c 23B9 cbnz r3, .L431
6369 .L426:
3095:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6370 .loc 1 3095 3 is_stmt 1 view .LVU2152
ARM GAS /tmp/ccZ0BHQJ.s page 224
6371 005e 2046 mov r0, r4
6372 0060 FFF7FEFF bl HAL_SPI_TxCpltCallback
6373 .LVL404:
6374 .L425:
3097:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6375 .loc 1 3097 1 is_stmt 0 view .LVU2153
6376 0064 03B0 add sp, sp, #12
6377 .cfi_remember_state
6378 .cfi_def_cfa_offset 12
6379 @ sp needed
6380 0066 30BD pop {r4, r5, pc}
6381 .LVL405:
6382 .L431:
6383 .cfi_restore_state
3086:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6384 .loc 1 3086 7 is_stmt 1 view .LVU2154
6385 0068 2046 mov r0, r4
6386 006a FFF7FEFF bl HAL_SPI_ErrorCallback
6387 .LVL406:
3088:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6388 .loc 1 3088 7 view .LVU2155
6389 006e F9E7 b .L425
6390 .cfi_endproc
6391 .LFE159:
6393 .section .text.SPI_DMAReceiveCplt,"ax",%progbits
6394 .align 1
6395 .syntax unified
6396 .thumb
6397 .thumb_func
6399 SPI_DMAReceiveCplt:
6400 .LVL407:
6401 .LFB160:
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6402 .loc 1 3106 1 view -0
6403 .cfi_startproc
6404 @ args = 0, pretend = 0, frame = 0
6405 @ frame_needed = 0, uses_anonymous_args = 0
3106:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6406 .loc 1 3106 1 is_stmt 0 view .LVU2157
6407 0000 38B5 push {r3, r4, r5, lr}
6408 .cfi_def_cfa_offset 16
6409 .cfi_offset 3, -16
6410 .cfi_offset 4, -12
6411 .cfi_offset 5, -8
6412 .cfi_offset 14, -4
6413 0002 0546 mov r5, r0
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6414 .loc 1 3107 3 is_stmt 1 view .LVU2158
3107:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6415 .loc 1 3107 22 is_stmt 0 view .LVU2159
6416 0004 446A ldr r4, [r0, #36]
6417 .LVL408:
3108:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
6418 .loc 1 3108 3 is_stmt 1 view .LVU2160
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6419 .loc 1 3116 3 view .LVU2161
3116:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 225
6420 .loc 1 3116 15 is_stmt 0 view .LVU2162
6421 0006 FFF7FEFF bl HAL_GetTick
6422 .LVL409:
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6423 .loc 1 3119 3 is_stmt 1 view .LVU2163
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6424 .loc 1 3119 12 is_stmt 0 view .LVU2164
6425 000a 2B68 ldr r3, [r5]
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6426 .loc 1 3119 22 view .LVU2165
6427 000c 1B68 ldr r3, [r3]
3119:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6428 .loc 1 3119 6 view .LVU2166
6429 000e 13F0200F tst r3, #32
6430 0012 1FD1 bne .L433
6431 0014 0246 mov r2, r0
3122:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6432 .loc 1 3122 5 is_stmt 1 view .LVU2167
6433 0016 2168 ldr r1, [r4]
6434 0018 4B68 ldr r3, [r1, #4]
6435 001a 23F02003 bic r3, r3, #32
6436 001e 4B60 str r3, [r1, #4]
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6437 .loc 1 3168 5 view .LVU2168
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6438 .loc 1 3168 20 is_stmt 0 view .LVU2169
6439 0020 A368 ldr r3, [r4, #8]
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6440 .loc 1 3168 8 view .LVU2170
6441 0022 1BB9 cbnz r3, .L434
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6442 .loc 1 3168 70 discriminator 1 view .LVU2171
6443 0024 6368 ldr r3, [r4, #4]
3168:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6444 .loc 1 3168 56 discriminator 1 view .LVU2172
6445 0026 B3F5827F cmp r3, #260
6446 002a 17D0 beq .L439
6447 .L434:
3176:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6448 .loc 1 3176 7 is_stmt 1 view .LVU2173
6449 002c 2168 ldr r1, [r4]
6450 002e 4B68 ldr r3, [r1, #4]
6451 0030 23F00103 bic r3, r3, #1
6452 0034 4B60 str r3, [r1, #4]
6453 .L435:
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6454 .loc 1 3180 5 view .LVU2174
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6455 .loc 1 3180 9 is_stmt 0 view .LVU2175
6456 0036 6421 movs r1, #100
6457 0038 2046 mov r0, r4
6458 .LVL410:
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6459 .loc 1 3180 9 view .LVU2176
6460 003a FFF7FEFF bl SPI_EndRxTransaction
6461 .LVL411:
3180:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 226
6462 .loc 1 3180 8 discriminator 1 view .LVU2177
6463 003e 08B1 cbz r0, .L436
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6464 .loc 1 3182 7 is_stmt 1 view .LVU2178
3182:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6465 .loc 1 3182 23 is_stmt 0 view .LVU2179
6466 0040 2023 movs r3, #32
6467 0042 2366 str r3, [r4, #96]
6468 .L436:
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6469 .loc 1 3185 5 is_stmt 1 view .LVU2180
3185:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6470 .loc 1 3185 23 is_stmt 0 view .LVU2181
6471 0044 0023 movs r3, #0
6472 0046 A4F84630 strh r3, [r4, #70] @ movhi
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6473 .loc 1 3186 5 is_stmt 1 view .LVU2182
3186:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6474 .loc 1 3186 17 is_stmt 0 view .LVU2183
6475 004a 0123 movs r3, #1
6476 004c 84F85D30 strb r3, [r4, #93]
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6477 .loc 1 3197 5 is_stmt 1 view .LVU2184
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6478 .loc 1 3197 13 is_stmt 0 view .LVU2185
6479 0050 236E ldr r3, [r4, #96]
3197:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6480 .loc 1 3197 8 view .LVU2186
6481 0052 4BB9 cbnz r3, .L440
6482 .L433:
3212:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6483 .loc 1 3212 3 is_stmt 1 view .LVU2187
6484 0054 2046 mov r0, r4
6485 0056 FFF7FEFF bl HAL_SPI_RxCpltCallback
6486 .LVL412:
6487 .L432:
3214:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6488 .loc 1 3214 1 is_stmt 0 view .LVU2188
6489 005a 38BD pop {r3, r4, r5, pc}
6490 .LVL413:
6491 .L439:
3171:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6492 .loc 1 3171 7 is_stmt 1 view .LVU2189
6493 005c 2168 ldr r1, [r4]
6494 005e 4B68 ldr r3, [r1, #4]
6495 0060 23F00303 bic r3, r3, #3
6496 0064 4B60 str r3, [r1, #4]
6497 0066 E6E7 b .L435
6498 .LVL414:
6499 .L440:
3203:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6500 .loc 1 3203 7 view .LVU2190
6501 0068 2046 mov r0, r4
6502 006a FFF7FEFF bl HAL_SPI_ErrorCallback
6503 .LVL415:
3205:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6504 .loc 1 3205 7 view .LVU2191
ARM GAS /tmp/ccZ0BHQJ.s page 227
6505 006e F4E7 b .L432
6506 .cfi_endproc
6507 .LFE160:
6509 .section .text.SPI_DMATransmitReceiveCplt,"ax",%progbits
6510 .align 1
6511 .syntax unified
6512 .thumb
6513 .thumb_func
6515 SPI_DMATransmitReceiveCplt:
6516 .LVL416:
6517 .LFB161:
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6518 .loc 1 3223 1 view -0
6519 .cfi_startproc
6520 @ args = 0, pretend = 0, frame = 0
6521 @ frame_needed = 0, uses_anonymous_args = 0
3223:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6522 .loc 1 3223 1 is_stmt 0 view .LVU2193
6523 0000 38B5 push {r3, r4, r5, lr}
6524 .cfi_def_cfa_offset 16
6525 .cfi_offset 3, -16
6526 .cfi_offset 4, -12
6527 .cfi_offset 5, -8
6528 .cfi_offset 14, -4
6529 0002 0546 mov r5, r0
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6530 .loc 1 3224 3 is_stmt 1 view .LVU2194
3224:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t tickstart;
6531 .loc 1 3224 22 is_stmt 0 view .LVU2195
6532 0004 446A ldr r4, [r0, #36]
6533 .LVL417:
3225:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
6534 .loc 1 3225 3 is_stmt 1 view .LVU2196
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6535 .loc 1 3233 3 view .LVU2197
3233:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6536 .loc 1 3233 15 is_stmt 0 view .LVU2198
6537 0006 FFF7FEFF bl HAL_GetTick
6538 .LVL418:
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6539 .loc 1 3236 3 is_stmt 1 view .LVU2199
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6540 .loc 1 3236 12 is_stmt 0 view .LVU2200
6541 000a 2B68 ldr r3, [r5]
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6542 .loc 1 3236 22 view .LVU2201
6543 000c 1B68 ldr r3, [r3]
3236:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6544 .loc 1 3236 6 view .LVU2202
6545 000e 13F0200F tst r3, #32
6546 0012 1CD1 bne .L442
6547 0014 0246 mov r2, r0
3239:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6548 .loc 1 3239 5 is_stmt 1 view .LVU2203
6549 0016 2168 ldr r1, [r4]
6550 0018 4B68 ldr r3, [r1, #4]
6551 001a 23F02003 bic r3, r3, #32
ARM GAS /tmp/ccZ0BHQJ.s page 228
6552 001e 4B60 str r3, [r1, #4]
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6553 .loc 1 3276 5 view .LVU2204
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6554 .loc 1 3276 9 is_stmt 0 view .LVU2205
6555 0020 6421 movs r1, #100
6556 0022 2046 mov r0, r4
6557 .LVL419:
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6558 .loc 1 3276 9 view .LVU2206
6559 0024 FFF7FEFF bl SPI_EndRxTxTransaction
6560 .LVL420:
3276:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6561 .loc 1 3276 8 discriminator 1 view .LVU2207
6562 0028 18B1 cbz r0, .L443
3278:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6563 .loc 1 3278 7 is_stmt 1 view .LVU2208
6564 002a 236E ldr r3, [r4, #96]
6565 002c 43F02003 orr r3, r3, #32
6566 0030 2366 str r3, [r4, #96]
6567 .L443:
3282:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6568 .loc 1 3282 5 view .LVU2209
6569 0032 2268 ldr r2, [r4]
6570 0034 5368 ldr r3, [r2, #4]
6571 0036 23F00303 bic r3, r3, #3
6572 003a 5360 str r3, [r2, #4]
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6573 .loc 1 3284 5 view .LVU2210
3284:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6574 .loc 1 3284 23 is_stmt 0 view .LVU2211
6575 003c 0023 movs r3, #0
6576 003e E387 strh r3, [r4, #62] @ movhi
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6577 .loc 1 3285 5 is_stmt 1 view .LVU2212
3285:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
6578 .loc 1 3285 23 is_stmt 0 view .LVU2213
6579 0040 A4F84630 strh r3, [r4, #70] @ movhi
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6580 .loc 1 3286 5 is_stmt 1 view .LVU2214
3286:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6581 .loc 1 3286 17 is_stmt 0 view .LVU2215
6582 0044 0123 movs r3, #1
6583 0046 84F85D30 strb r3, [r4, #93]
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6584 .loc 1 3297 5 is_stmt 1 view .LVU2216
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6585 .loc 1 3297 13 is_stmt 0 view .LVU2217
6586 004a 236E ldr r3, [r4, #96]
3297:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6587 .loc 1 3297 8 view .LVU2218
6588 004c 1BB9 cbnz r3, .L446
6589 .L442:
3312:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6590 .loc 1 3312 3 is_stmt 1 view .LVU2219
6591 004e 2046 mov r0, r4
6592 0050 FFF7FEFF bl HAL_SPI_TxRxCpltCallback
ARM GAS /tmp/ccZ0BHQJ.s page 229
6593 .LVL421:
6594 .L441:
3314:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6595 .loc 1 3314 1 is_stmt 0 view .LVU2220
6596 0054 38BD pop {r3, r4, r5, pc}
6597 .LVL422:
6598 .L446:
3303:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6599 .loc 1 3303 7 is_stmt 1 view .LVU2221
6600 0056 2046 mov r0, r4
6601 0058 FFF7FEFF bl HAL_SPI_ErrorCallback
6602 .LVL423:
3305:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6603 .loc 1 3305 7 view .LVU2222
6604 005c FAE7 b .L441
6605 .cfi_endproc
6606 .LFE161:
6608 .section .text.HAL_SPI_IRQHandler,"ax",%progbits
6609 .align 1
6610 .global HAL_SPI_IRQHandler
6611 .syntax unified
6612 .thumb
6613 .thumb_func
6615 HAL_SPI_IRQHandler:
6616 .LVL424:
6617 .LFB148:
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
6618 .loc 1 2756 1 view -0
6619 .cfi_startproc
6620 @ args = 0, pretend = 0, frame = 16
6621 @ frame_needed = 0, uses_anonymous_args = 0
2756:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
6622 .loc 1 2756 1 is_stmt 0 view .LVU2224
6623 0000 30B5 push {r4, r5, lr}
6624 .cfi_def_cfa_offset 12
6625 .cfi_offset 4, -12
6626 .cfi_offset 5, -8
6627 .cfi_offset 14, -4
6628 0002 85B0 sub sp, sp, #20
6629 .cfi_def_cfa_offset 32
6630 0004 0446 mov r4, r0
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6631 .loc 1 2757 3 is_stmt 1 view .LVU2225
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6632 .loc 1 2757 27 is_stmt 0 view .LVU2226
6633 0006 0268 ldr r2, [r0]
2757:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6634 .loc 1 2757 12 view .LVU2227
6635 0008 5168 ldr r1, [r2, #4]
6636 .LVL425:
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6637 .loc 1 2758 3 is_stmt 1 view .LVU2228
2758:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6638 .loc 1 2758 12 is_stmt 0 view .LVU2229
6639 000a 9368 ldr r3, [r2, #8]
6640 .LVL426:
2761: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
ARM GAS /tmp/ccZ0BHQJ.s page 230
6641 .loc 1 2761 3 is_stmt 1 view .LVU2230
6642 000c C3F38010 ubfx r0, r3, #6, #1
6643 .LVL427:
2761: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
6644 .loc 1 2761 6 is_stmt 0 view .LVU2231
6645 0010 13F0400F tst r3, #64
6646 0014 05D1 bne .L448
2761: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
6647 .loc 1 2761 55 discriminator 1 view .LVU2232
6648 0016 13F0010F tst r3, #1
6649 001a 02D0 beq .L448
2762:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6650 .loc 1 2762 56 view .LVU2233
6651 001c 11F0400F tst r1, #64
6652 0020 69D1 bne .L460
6653 .L448:
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6654 .loc 1 2769 3 is_stmt 1 view .LVU2234
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6655 .loc 1 2769 6 is_stmt 0 view .LVU2235
6656 0022 13F0020F tst r3, #2
6657 0026 02D0 beq .L450
2769:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6658 .loc 1 2769 55 discriminator 1 view .LVU2236
6659 0028 11F0800F tst r1, #128
6660 002c 67D1 bne .L461
6661 .L450:
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
6662 .loc 1 2776 3 is_stmt 1 view .LVU2237
6663 002e C3F34015 ubfx r5, r3, #5, #1
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
6664 .loc 1 2776 6 is_stmt 0 view .LVU2238
6665 0032 13F0200F tst r3, #32
6666 0036 03D1 bne .L451
2776:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT
6667 .loc 1 2776 57 discriminator 1 view .LVU2239
6668 0038 10B9 cbnz r0, .L451
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6669 .loc 1 2777 8 view .LVU2240
6670 003a 13F4807F tst r3, #256
6671 003e 61D0 beq .L447
6672 .L451:
2777:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6673 .loc 1 2777 60 discriminator 1 view .LVU2241
6674 0040 11F0200F tst r1, #32
6675 0044 5ED0 beq .L447
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6676 .loc 1 2780 5 is_stmt 1 view .LVU2242
2780:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6677 .loc 1 2780 8 is_stmt 0 view .LVU2243
6678 0046 78B1 cbz r0, .L452
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6679 .loc 1 2782 7 is_stmt 1 view .LVU2244
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6680 .loc 1 2782 15 is_stmt 0 view .LVU2245
6681 0048 94F85D00 ldrb r0, [r4, #93] @ zero_extendqisi2
6682 004c C0B2 uxtb r0, r0
ARM GAS /tmp/ccZ0BHQJ.s page 231
2782:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6683 .loc 1 2782 10 view .LVU2246
6684 004e 0328 cmp r0, #3
6685 0050 5AD0 beq .L453
2784:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
6686 .loc 1 2784 9 is_stmt 1 view .LVU2247
6687 0052 206E ldr r0, [r4, #96]
6688 0054 40F00400 orr r0, r0, #4
6689 0058 2066 str r0, [r4, #96]
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6690 .loc 1 2785 9 view .LVU2248
6691 .LBB7:
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6692 .loc 1 2785 9 view .LVU2249
6693 005a 0020 movs r0, #0
6694 005c 0090 str r0, [sp]
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6695 .loc 1 2785 9 view .LVU2250
6696 005e D068 ldr r0, [r2, #12]
6697 0060 0090 str r0, [sp]
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6698 .loc 1 2785 9 view .LVU2251
6699 0062 9068 ldr r0, [r2, #8]
6700 0064 0090 str r0, [sp]
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6701 .loc 1 2785 9 view .LVU2252
6702 0066 0098 ldr r0, [sp]
6703 .LBE7:
2785:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6704 .loc 1 2785 9 view .LVU2253
6705 .L452:
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6706 .loc 1 2795 5 view .LVU2254
2795:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6707 .loc 1 2795 8 is_stmt 0 view .LVU2255
6708 0068 65B1 cbz r5, .L454
2797:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
6709 .loc 1 2797 7 is_stmt 1 view .LVU2256
6710 006a 206E ldr r0, [r4, #96]
6711 006c 40F00100 orr r0, r0, #1
6712 0070 2066 str r0, [r4, #96]
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6713 .loc 1 2798 7 view .LVU2257
6714 .LBB8:
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6715 .loc 1 2798 7 view .LVU2258
6716 0072 0020 movs r0, #0
6717 0074 0290 str r0, [sp, #8]
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6718 .loc 1 2798 7 view .LVU2259
6719 0076 9068 ldr r0, [r2, #8]
6720 0078 0290 str r0, [sp, #8]
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6721 .loc 1 2798 7 view .LVU2260
6722 007a 1068 ldr r0, [r2]
6723 007c 20F04000 bic r0, r0, #64
6724 0080 1060 str r0, [r2]
ARM GAS /tmp/ccZ0BHQJ.s page 232
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6725 .loc 1 2798 7 view .LVU2261
6726 0082 029A ldr r2, [sp, #8]
6727 .L454:
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6728 .loc 1 2798 7 is_stmt 0 view .LVU2262
6729 .LBE8:
2798:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6730 .loc 1 2798 7 is_stmt 1 discriminator 1 view .LVU2263
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6731 .loc 1 2802 5 view .LVU2264
2802:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6732 .loc 1 2802 8 is_stmt 0 view .LVU2265
6733 0084 13F4807F tst r3, #256
6734 0088 09D0 beq .L455
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
6735 .loc 1 2804 7 is_stmt 1 view .LVU2266
6736 008a 236E ldr r3, [r4, #96]
6737 .LVL428:
2804:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
6738 .loc 1 2804 7 is_stmt 0 view .LVU2267
6739 008c 43F00803 orr r3, r3, #8
6740 0090 2366 str r3, [r4, #96]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6741 .loc 1 2805 7 is_stmt 1 view .LVU2268
6742 .LBB9:
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6743 .loc 1 2805 7 view .LVU2269
6744 0092 0023 movs r3, #0
6745 0094 0393 str r3, [sp, #12]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6746 .loc 1 2805 7 view .LVU2270
6747 0096 2368 ldr r3, [r4]
6748 0098 9B68 ldr r3, [r3, #8]
6749 009a 0393 str r3, [sp, #12]
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6750 .loc 1 2805 7 view .LVU2271
6751 009c 039B ldr r3, [sp, #12]
6752 .L455:
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6753 .loc 1 2805 7 is_stmt 0 view .LVU2272
6754 .LBE9:
2805:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6755 .loc 1 2805 7 is_stmt 1 discriminator 1 view .LVU2273
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6756 .loc 1 2808 5 view .LVU2274
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6757 .loc 1 2808 13 is_stmt 0 view .LVU2275
6758 009e 236E ldr r3, [r4, #96]
2808:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6759 .loc 1 2808 8 view .LVU2276
6760 00a0 002B cmp r3, #0
6761 00a2 2FD0 beq .L447
2811:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6762 .loc 1 2811 7 is_stmt 1 view .LVU2277
6763 00a4 2268 ldr r2, [r4]
6764 00a6 5368 ldr r3, [r2, #4]
ARM GAS /tmp/ccZ0BHQJ.s page 233
6765 00a8 23F0E003 bic r3, r3, #224
6766 00ac 5360 str r3, [r2, #4]
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
6767 .loc 1 2813 7 view .LVU2278
2813:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
6768 .loc 1 2813 19 is_stmt 0 view .LVU2279
6769 00ae 0123 movs r3, #1
6770 00b0 84F85D30 strb r3, [r4, #93]
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6771 .loc 1 2815 7 is_stmt 1 view .LVU2280
2815:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6772 .loc 1 2815 10 is_stmt 0 view .LVU2281
6773 00b4 11F0030F tst r1, #3
6774 00b8 2ED0 beq .L457
2817:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6775 .loc 1 2817 9 is_stmt 1 view .LVU2282
6776 00ba 2268 ldr r2, [r4]
6777 00bc 5368 ldr r3, [r2, #4]
6778 00be 23F00303 bic r3, r3, #3
6779 00c2 5360 str r3, [r2, #4]
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6780 .loc 1 2820 9 view .LVU2283
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6781 .loc 1 2820 17 is_stmt 0 view .LVU2284
6782 00c4 A36D ldr r3, [r4, #88]
2820:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6783 .loc 1 2820 12 view .LVU2285
6784 00c6 4BB1 cbz r3, .L458
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
6785 .loc 1 2824 11 is_stmt 1 view .LVU2286
2824:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
6786 .loc 1 2824 43 is_stmt 0 view .LVU2287
6787 00c8 154A ldr r2, .L462
6788 00ca 5A63 str r2, [r3, #52]
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6789 .loc 1 2825 11 is_stmt 1 view .LVU2288
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6790 .loc 1 2825 25 is_stmt 0 view .LVU2289
6791 00cc A06D ldr r0, [r4, #88]
6792 00ce FFF7FEFF bl HAL_DMA_Abort_IT
6793 .LVL429:
2825:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6794 .loc 1 2825 14 discriminator 1 view .LVU2290
6795 00d2 18B1 cbz r0, .L458
2827:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6796 .loc 1 2827 13 is_stmt 1 view .LVU2291
6797 00d4 236E ldr r3, [r4, #96]
6798 00d6 43F04003 orr r3, r3, #64
6799 00da 2366 str r3, [r4, #96]
6800 .L458:
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6801 .loc 1 2831 9 view .LVU2292
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6802 .loc 1 2831 17 is_stmt 0 view .LVU2293
6803 00dc 636D ldr r3, [r4, #84]
2831:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6804 .loc 1 2831 12 view .LVU2294
ARM GAS /tmp/ccZ0BHQJ.s page 234
6805 00de 8BB1 cbz r3, .L447
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6806 .loc 1 2835 11 is_stmt 1 view .LVU2295
2835:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6807 .loc 1 2835 43 is_stmt 0 view .LVU2296
6808 00e0 0F4A ldr r2, .L462
6809 00e2 5A63 str r2, [r3, #52]
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6810 .loc 1 2836 11 is_stmt 1 view .LVU2297
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6811 .loc 1 2836 25 is_stmt 0 view .LVU2298
6812 00e4 606D ldr r0, [r4, #84]
6813 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
6814 .LVL430:
2836:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6815 .loc 1 2836 14 discriminator 1 view .LVU2299
6816 00ea 58B1 cbz r0, .L447
2838:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6817 .loc 1 2838 13 is_stmt 1 view .LVU2300
6818 00ec 236E ldr r3, [r4, #96]
6819 00ee 43F04003 orr r3, r3, #64
6820 00f2 2366 str r3, [r4, #96]
6821 00f4 06E0 b .L447
6822 .LVL431:
6823 .L460:
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6824 .loc 1 2764 5 view .LVU2301
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6825 .loc 1 2764 9 is_stmt 0 view .LVU2302
6826 00f6 E36C ldr r3, [r4, #76]
6827 .LVL432:
2764:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6828 .loc 1 2764 5 view .LVU2303
6829 00f8 2046 mov r0, r4
6830 00fa 9847 blx r3
6831 .LVL433:
2765:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6832 .loc 1 2765 5 is_stmt 1 view .LVU2304
6833 00fc 02E0 b .L447
6834 .LVL434:
6835 .L461:
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6836 .loc 1 2771 5 view .LVU2305
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6837 .loc 1 2771 9 is_stmt 0 view .LVU2306
6838 00fe 236D ldr r3, [r4, #80]
6839 .LVL435:
2771:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6840 .loc 1 2771 5 view .LVU2307
6841 0100 2046 mov r0, r4
6842 0102 9847 blx r3
6843 .LVL436:
2772:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6844 .loc 1 2772 5 is_stmt 1 view .LVU2308
6845 .L447:
2854:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6846 .loc 1 2854 1 is_stmt 0 view .LVU2309
ARM GAS /tmp/ccZ0BHQJ.s page 235
6847 0104 05B0 add sp, sp, #20
6848 .cfi_remember_state
6849 .cfi_def_cfa_offset 12
6850 @ sp needed
6851 0106 30BD pop {r4, r5, pc}
6852 .LVL437:
6853 .L453:
6854 .cfi_restore_state
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6855 .loc 1 2789 9 is_stmt 1 view .LVU2310
6856 .LBB10:
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6857 .loc 1 2789 9 view .LVU2311
6858 0108 0023 movs r3, #0
6859 .LVL438:
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6860 .loc 1 2789 9 is_stmt 0 view .LVU2312
6861 010a 0193 str r3, [sp, #4]
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6862 .loc 1 2789 9 is_stmt 1 view .LVU2313
6863 010c D368 ldr r3, [r2, #12]
6864 010e 0193 str r3, [sp, #4]
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6865 .loc 1 2789 9 view .LVU2314
6866 0110 9368 ldr r3, [r2, #8]
6867 0112 0193 str r3, [sp, #4]
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6868 .loc 1 2789 9 view .LVU2315
6869 0114 019B ldr r3, [sp, #4]
6870 .LBE10:
2789:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** return;
6871 .loc 1 2789 9 view .LVU2316
2790:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6872 .loc 1 2790 9 view .LVU2317
6873 0116 F5E7 b .L447
6874 .L457:
2848:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6875 .loc 1 2848 9 view .LVU2318
6876 0118 2046 mov r0, r4
6877 011a FFF7FEFF bl HAL_SPI_ErrorCallback
6878 .LVL439:
2852:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
6879 .loc 1 2852 5 view .LVU2319
6880 011e F1E7 b .L447
6881 .L463:
6882 .align 2
6883 .L462:
6884 0120 00000000 .word SPI_DMAAbortOnError
6885 .cfi_endproc
6886 .LFE148:
6888 .section .text.SPI_DMAAbortOnError,"ax",%progbits
6889 .align 1
6890 .syntax unified
6891 .thumb
6892 .thumb_func
6894 SPI_DMAAbortOnError:
6895 .LVL440:
ARM GAS /tmp/ccZ0BHQJ.s page 236
6896 .LFB166:
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6897 .loc 1 3400 1 view -0
6898 .cfi_startproc
6899 @ args = 0, pretend = 0, frame = 0
6900 @ frame_needed = 0, uses_anonymous_args = 0
3400:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6901 .loc 1 3400 1 is_stmt 0 view .LVU2321
6902 0000 08B5 push {r3, lr}
6903 .cfi_def_cfa_offset 8
6904 .cfi_offset 3, -8
6905 .cfi_offset 14, -4
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6906 .loc 1 3401 3 is_stmt 1 view .LVU2322
3401:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->RxXferCount = 0U;
6907 .loc 1 3401 22 is_stmt 0 view .LVU2323
6908 0002 406A ldr r0, [r0, #36]
6909 .LVL441:
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
6910 .loc 1 3402 3 is_stmt 1 view .LVU2324
3402:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
6911 .loc 1 3402 21 is_stmt 0 view .LVU2325
6912 0004 0023 movs r3, #0
6913 0006 A0F84630 strh r3, [r0, #70] @ movhi
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6914 .loc 1 3403 3 is_stmt 1 view .LVU2326
3403:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6915 .loc 1 3403 21 is_stmt 0 view .LVU2327
6916 000a C387 strh r3, [r0, #62] @ movhi
3409:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6917 .loc 1 3409 3 is_stmt 1 view .LVU2328
6918 000c FFF7FEFF bl HAL_SPI_ErrorCallback
6919 .LVL442:
3411:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6920 .loc 1 3411 1 is_stmt 0 view .LVU2329
6921 0010 08BD pop {r3, pc}
6922 .cfi_endproc
6923 .LFE166:
6925 .section .text.HAL_SPI_AbortCpltCallback,"ax",%progbits
6926 .align 1
6927 .weak HAL_SPI_AbortCpltCallback
6928 .syntax unified
6929 .thumb
6930 .thumb_func
6932 HAL_SPI_AbortCpltCallback:
6933 .LVL443:
6934 .LFB156:
2977:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
6935 .loc 1 2977 1 is_stmt 1 view -0
6936 .cfi_startproc
6937 @ args = 0, pretend = 0, frame = 0
6938 @ frame_needed = 0, uses_anonymous_args = 0
6939 @ link register save eliminated.
2979:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6940 .loc 1 2979 3 view .LVU2331
2984:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6941 .loc 1 2984 1 is_stmt 0 view .LVU2332
ARM GAS /tmp/ccZ0BHQJ.s page 237
6942 0000 7047 bx lr
6943 .cfi_endproc
6944 .LFE156:
6946 .section .text.HAL_SPI_Abort_IT,"ax",%progbits
6947 .align 1
6948 .global HAL_SPI_Abort_IT
6949 .syntax unified
6950 .thumb
6951 .thumb_func
6953 HAL_SPI_Abort_IT:
6954 .LVL444:
6955 .LFB144:
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6956 .loc 1 2515 1 is_stmt 1 view -0
6957 .cfi_startproc
6958 @ args = 0, pretend = 0, frame = 16
6959 @ frame_needed = 0, uses_anonymous_args = 0
2515:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6960 .loc 1 2515 1 is_stmt 0 view .LVU2334
6961 0000 70B5 push {r4, r5, r6, lr}
6962 .cfi_def_cfa_offset 16
6963 .cfi_offset 4, -16
6964 .cfi_offset 5, -12
6965 .cfi_offset 6, -8
6966 .cfi_offset 14, -4
6967 0002 84B0 sub sp, sp, #16
6968 .cfi_def_cfa_offset 32
6969 0004 0446 mov r4, r0
2516:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** uint32_t abortcplt ;
6970 .loc 1 2516 3 is_stmt 1 view .LVU2335
2517:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t count;
6971 .loc 1 2517 3 view .LVU2336
2518:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __IO uint32_t resetcount;
6972 .loc 1 2518 3 view .LVU2337
2519:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6973 .loc 1 2519 3 view .LVU2338
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
6974 .loc 1 2522 3 view .LVU2339
6975 .LVL445:
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6976 .loc 1 2523 3 view .LVU2340
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6977 .loc 1 2524 3 view .LVU2341
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6978 .loc 1 2524 61 is_stmt 0 view .LVU2342
6979 0006 504B ldr r3, .L493
6980 0008 1B68 ldr r3, [r3]
6981 000a 504A ldr r2, .L493+4
6982 000c A2FB0323 umull r2, r3, r2, r3
6983 0010 5B0A lsrs r3, r3, #9
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6984 .loc 1 2524 36 view .LVU2343
6985 0012 6422 movs r2, #100
6986 0014 02FB03F3 mul r3, r2, r3
2524:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** count = resetcount;
6987 .loc 1 2524 14 view .LVU2344
6988 0018 0293 str r3, [sp, #8]
ARM GAS /tmp/ccZ0BHQJ.s page 238
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6989 .loc 1 2525 3 is_stmt 1 view .LVU2345
2525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6990 .loc 1 2525 9 is_stmt 0 view .LVU2346
6991 001a 029B ldr r3, [sp, #8]
6992 001c 0393 str r3, [sp, #12]
2528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
6993 .loc 1 2528 3 is_stmt 1 view .LVU2347
6994 001e 0268 ldr r2, [r0]
6995 0020 5368 ldr r3, [r2, #4]
6996 0022 23F02003 bic r3, r3, #32
6997 0026 5360 str r3, [r2, #4]
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6998 .loc 1 2531 3 view .LVU2348
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
6999 .loc 1 2531 7 is_stmt 0 view .LVU2349
7000 0028 0268 ldr r2, [r0]
7001 002a 5368 ldr r3, [r2, #4]
2531:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7002 .loc 1 2531 6 view .LVU2350
7003 002c 13F0800F tst r3, #128
7004 0030 12D0 beq .L468
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7005 .loc 1 2533 5 is_stmt 1 view .LVU2351
2533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7006 .loc 1 2533 17 is_stmt 0 view .LVU2352
7007 0032 474B ldr r3, .L493+8
7008 0034 0365 str r3, [r0, #80]
7009 .L471:
2535:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7010 .loc 1 2535 5 is_stmt 1 view .LVU2353
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7011 .loc 1 2537 7 view .LVU2354
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7012 .loc 1 2537 17 is_stmt 0 view .LVU2355
7013 0036 039B ldr r3, [sp, #12]
2537:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7014 .loc 1 2537 10 view .LVU2356
7015 0038 43B1 cbz r3, .L490
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7016 .loc 1 2542 7 is_stmt 1 view .LVU2357
2542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7017 .loc 1 2542 12 is_stmt 0 view .LVU2358
7018 003a 039B ldr r3, [sp, #12]
7019 003c 013B subs r3, r3, #1
7020 003e 0393 str r3, [sp, #12]
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7021 .loc 1 2543 26 is_stmt 1 view .LVU2359
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7022 .loc 1 2543 18 is_stmt 0 view .LVU2360
7023 0040 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
7024 0044 DBB2 uxtb r3, r3
2543:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7025 .loc 1 2543 26 view .LVU2361
7026 0046 072B cmp r3, #7
7027 0048 F5D1 bne .L471
7028 004a 03E0 b .L470
ARM GAS /tmp/ccZ0BHQJ.s page 239
7029 .L490:
2539:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
7030 .loc 1 2539 9 is_stmt 1 view .LVU2362
7031 004c 236E ldr r3, [r4, #96]
7032 004e 43F04003 orr r3, r3, #64
7033 0052 2366 str r3, [r4, #96]
2540:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7034 .loc 1 2540 9 view .LVU2363
7035 .L470:
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7036 .loc 1 2545 5 view .LVU2364
2545:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7037 .loc 1 2545 11 is_stmt 0 view .LVU2365
7038 0054 029B ldr r3, [sp, #8]
7039 0056 0393 str r3, [sp, #12]
7040 .L468:
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7041 .loc 1 2548 3 is_stmt 1 view .LVU2366
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7042 .loc 1 2548 7 is_stmt 0 view .LVU2367
7043 0058 5368 ldr r3, [r2, #4]
2548:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7044 .loc 1 2548 6 view .LVU2368
7045 005a 13F0400F tst r3, #64
7046 005e 12D0 beq .L472
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7047 .loc 1 2550 5 is_stmt 1 view .LVU2369
2550:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
7048 .loc 1 2550 17 is_stmt 0 view .LVU2370
7049 0060 3C4B ldr r3, .L493+12
7050 0062 E364 str r3, [r4, #76]
7051 .L475:
2552:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7052 .loc 1 2552 5 is_stmt 1 view .LVU2371
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7053 .loc 1 2554 7 view .LVU2372
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7054 .loc 1 2554 17 is_stmt 0 view .LVU2373
7055 0064 039B ldr r3, [sp, #12]
2554:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7056 .loc 1 2554 10 view .LVU2374
7057 0066 43B1 cbz r3, .L491
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7058 .loc 1 2559 7 is_stmt 1 view .LVU2375
2559:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
7059 .loc 1 2559 12 is_stmt 0 view .LVU2376
7060 0068 039B ldr r3, [sp, #12]
7061 006a 013B subs r3, r3, #1
7062 006c 0393 str r3, [sp, #12]
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7063 .loc 1 2560 26 is_stmt 1 view .LVU2377
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7064 .loc 1 2560 18 is_stmt 0 view .LVU2378
7065 006e 94F85D30 ldrb r3, [r4, #93] @ zero_extendqisi2
7066 0072 DBB2 uxtb r3, r3
2560:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Reset Timeout Counter */
7067 .loc 1 2560 26 view .LVU2379
ARM GAS /tmp/ccZ0BHQJ.s page 240
7068 0074 072B cmp r3, #7
7069 0076 F5D1 bne .L475
7070 0078 03E0 b .L474
7071 .L491:
2556:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** break;
7072 .loc 1 2556 9 is_stmt 1 view .LVU2380
7073 007a 236E ldr r3, [r4, #96]
7074 007c 43F04003 orr r3, r3, #64
7075 0080 2366 str r3, [r4, #96]
2557:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7076 .loc 1 2557 9 view .LVU2381
7077 .L474:
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7078 .loc 1 2562 5 view .LVU2382
2562:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7079 .loc 1 2562 11 is_stmt 0 view .LVU2383
7080 0082 029B ldr r3, [sp, #8]
7081 0084 0393 str r3, [sp, #12]
7082 .L472:
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7083 .loc 1 2568 3 is_stmt 1 view .LVU2384
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7084 .loc 1 2568 11 is_stmt 0 view .LVU2385
7085 0086 636D ldr r3, [r4, #84]
2568:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7086 .loc 1 2568 6 view .LVU2386
7087 0088 2BB1 cbz r3, .L476
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7088 .loc 1 2572 5 is_stmt 1 view .LVU2387
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7089 .loc 1 2572 9 is_stmt 0 view .LVU2388
7090 008a 5268 ldr r2, [r2, #4]
2572:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7091 .loc 1 2572 8 view .LVU2389
7092 008c 12F0020F tst r2, #2
7093 0090 1BD0 beq .L477
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7094 .loc 1 2574 7 is_stmt 1 view .LVU2390
2574:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7095 .loc 1 2574 39 is_stmt 0 view .LVU2391
7096 0092 314A ldr r2, .L493+16
7097 0094 5A63 str r2, [r3, #52]
7098 .L476:
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7099 .loc 1 2582 3 is_stmt 1 view .LVU2392
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7100 .loc 1 2582 11 is_stmt 0 view .LVU2393
7101 0096 A36D ldr r3, [r4, #88]
2582:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7102 .loc 1 2582 6 view .LVU2394
7103 0098 33B1 cbz r3, .L478
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7104 .loc 1 2586 5 is_stmt 1 view .LVU2395
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7105 .loc 1 2586 9 is_stmt 0 view .LVU2396
7106 009a 2268 ldr r2, [r4]
7107 009c 5268 ldr r2, [r2, #4]
ARM GAS /tmp/ccZ0BHQJ.s page 241
2586:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7108 .loc 1 2586 8 view .LVU2397
7109 009e 12F0010F tst r2, #1
7110 00a2 15D0 beq .L479
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7111 .loc 1 2588 7 is_stmt 1 view .LVU2398
2588:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7112 .loc 1 2588 39 is_stmt 0 view .LVU2399
7113 00a4 2D4A ldr r2, .L493+20
7114 00a6 5A63 str r2, [r3, #52]
7115 .L478:
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7116 .loc 1 2597 3 is_stmt 1 view .LVU2400
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7117 .loc 1 2597 7 is_stmt 0 view .LVU2401
7118 00a8 2368 ldr r3, [r4]
7119 00aa 5B68 ldr r3, [r3, #4]
2597:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7120 .loc 1 2597 6 view .LVU2402
7121 00ac 13F0020F tst r3, #2
7122 00b0 11D0 beq .L484
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7123 .loc 1 2600 5 is_stmt 1 view .LVU2403
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7124 .loc 1 2600 13 is_stmt 0 view .LVU2404
7125 00b2 606D ldr r0, [r4, #84]
7126 .LVL446:
2600:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7127 .loc 1 2600 8 view .LVU2405
7128 00b4 28B3 cbz r0, .L485
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7129 .loc 1 2603 7 is_stmt 1 view .LVU2406
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7130 .loc 1 2603 11 is_stmt 0 view .LVU2407
7131 00b6 FFF7FEFF bl HAL_DMA_Abort_IT
7132 .LVL447:
2603:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7133 .loc 1 2603 10 discriminator 1 view .LVU2408
7134 00ba 20B3 cbz r0, .L486
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7135 .loc 1 2605 9 is_stmt 1 view .LVU2409
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7136 .loc 1 2605 13 is_stmt 0 view .LVU2410
7137 00bc 636D ldr r3, [r4, #84]
2605:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7138 .loc 1 2605 41 view .LVU2411
7139 00be 0022 movs r2, #0
7140 00c0 5A63 str r2, [r3, #52]
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7141 .loc 1 2606 9 is_stmt 1 view .LVU2412
2606:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7142 .loc 1 2606 25 is_stmt 0 view .LVU2413
7143 00c2 4023 movs r3, #64
7144 00c4 2366 str r3, [r4, #96]
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7145 .loc 1 2523 13 view .LVU2414
7146 00c6 0126 movs r6, #1
ARM GAS /tmp/ccZ0BHQJ.s page 242
7147 00c8 06E0 b .L480
7148 .LVL448:
7149 .L477:
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7150 .loc 1 2578 7 is_stmt 1 view .LVU2415
2578:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7151 .loc 1 2578 39 is_stmt 0 view .LVU2416
7152 00ca 0022 movs r2, #0
7153 00cc 5A63 str r2, [r3, #52]
7154 00ce E2E7 b .L476
7155 .L479:
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7156 .loc 1 2592 7 is_stmt 1 view .LVU2417
2592:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7157 .loc 1 2592 39 is_stmt 0 view .LVU2418
7158 00d0 0022 movs r2, #0
7159 00d2 5A63 str r2, [r3, #52]
7160 00d4 E8E7 b .L478
7161 .L484:
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7162 .loc 1 2523 13 view .LVU2419
7163 00d6 0126 movs r6, #1
7164 .LVL449:
7165 .L480:
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7166 .loc 1 2615 3 is_stmt 1 view .LVU2420
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7167 .loc 1 2615 7 is_stmt 0 view .LVU2421
7168 00d8 2368 ldr r3, [r4]
7169 00da 5B68 ldr r3, [r3, #4]
2615:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7170 .loc 1 2615 6 view .LVU2422
7171 00dc 13F0010F tst r3, #1
7172 00e0 0AD0 beq .L481
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7173 .loc 1 2618 5 is_stmt 1 view .LVU2423
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7174 .loc 1 2618 13 is_stmt 0 view .LVU2424
7175 00e2 A06D ldr r0, [r4, #88]
2618:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7176 .loc 1 2618 8 view .LVU2425
7177 00e4 40B1 cbz r0, .L481
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7178 .loc 1 2621 7 is_stmt 1 view .LVU2426
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7179 .loc 1 2621 11 is_stmt 0 view .LVU2427
7180 00e6 FFF7FEFF bl HAL_DMA_Abort_IT
7181 .LVL450:
2621:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7182 .loc 1 2621 10 discriminator 1 view .LVU2428
7183 00ea 0546 mov r5, r0
7184 00ec 30B1 cbz r0, .L482
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7185 .loc 1 2623 9 is_stmt 1 view .LVU2429
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7186 .loc 1 2623 13 is_stmt 0 view .LVU2430
7187 00ee A36D ldr r3, [r4, #88]
ARM GAS /tmp/ccZ0BHQJ.s page 243
2623:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
7188 .loc 1 2623 41 view .LVU2431
7189 00f0 0022 movs r2, #0
7190 00f2 5A63 str r2, [r3, #52]
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7191 .loc 1 2624 9 is_stmt 1 view .LVU2432
2624:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7192 .loc 1 2624 25 is_stmt 0 view .LVU2433
7193 00f4 4023 movs r3, #64
7194 00f6 2366 str r3, [r4, #96]
7195 .L481:
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7196 .loc 1 2633 3 is_stmt 1 view .LVU2434
2633:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7197 .loc 1 2633 6 is_stmt 0 view .LVU2435
7198 00f8 3EB9 cbnz r6, .L492
2522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** abortcplt = 1U;
7199 .loc 1 2522 13 view .LVU2436
7200 00fa 0025 movs r5, #0
7201 .LVL451:
7202 .L482:
2666:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7203 .loc 1 2666 3 is_stmt 1 view .LVU2437
2667:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7204 .loc 1 2667 1 is_stmt 0 view .LVU2438
7205 00fc 2846 mov r0, r5
7206 00fe 04B0 add sp, sp, #16
7207 .cfi_remember_state
7208 .cfi_def_cfa_offset 16
7209 @ sp needed
7210 0100 70BD pop {r4, r5, r6, pc}
7211 .LVL452:
7212 .L485:
7213 .cfi_restore_state
2523:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
7214 .loc 1 2523 13 view .LVU2439
7215 0102 0126 movs r6, #1
7216 0104 E8E7 b .L480
7217 .L486:
2610:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7218 .loc 1 2610 19 view .LVU2440
7219 0106 0026 movs r6, #0
7220 0108 E6E7 b .L480
7221 .LVL453:
7222 .L492:
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7223 .loc 1 2636 5 is_stmt 1 view .LVU2441
2636:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7224 .loc 1 2636 23 is_stmt 0 view .LVU2442
7225 010a 0023 movs r3, #0
7226 010c A4F84630 strh r3, [r4, #70] @ movhi
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7227 .loc 1 2637 5 is_stmt 1 view .LVU2443
2637:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7228 .loc 1 2637 23 is_stmt 0 view .LVU2444
7229 0110 E387 strh r3, [r4, #62] @ movhi
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
ARM GAS /tmp/ccZ0BHQJ.s page 244
7230 .loc 1 2640 5 is_stmt 1 view .LVU2445
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7231 .loc 1 2640 13 is_stmt 0 view .LVU2446
7232 0112 236E ldr r3, [r4, #96]
2640:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7233 .loc 1 2640 8 view .LVU2447
7234 0114 402B cmp r3, #64
7235 0116 14D0 beq .L488
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7236 .loc 1 2648 7 is_stmt 1 view .LVU2448
2648:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7237 .loc 1 2648 23 is_stmt 0 view .LVU2449
7238 0118 0025 movs r5, #0
7239 011a 2566 str r5, [r4, #96]
7240 .L483:
7241 .LVL454:
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7242 .loc 1 2652 5 is_stmt 1 view .LVU2450
7243 .LBB11:
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7244 .loc 1 2652 5 view .LVU2451
7245 011c 0022 movs r2, #0
7246 011e 0092 str r2, [sp]
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7247 .loc 1 2652 5 view .LVU2452
7248 0120 2368 ldr r3, [r4]
7249 0122 D968 ldr r1, [r3, #12]
7250 0124 0091 str r1, [sp]
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7251 .loc 1 2652 5 view .LVU2453
7252 0126 9968 ldr r1, [r3, #8]
7253 0128 0091 str r1, [sp]
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7254 .loc 1 2652 5 view .LVU2454
7255 012a 0099 ldr r1, [sp]
7256 .LBE11:
2652:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7257 .loc 1 2652 5 view .LVU2455
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7258 .loc 1 2653 5 view .LVU2456
7259 .LBB12:
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7260 .loc 1 2653 5 view .LVU2457
7261 012c 0192 str r2, [sp, #4]
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7262 .loc 1 2653 5 view .LVU2458
7263 012e 9B68 ldr r3, [r3, #8]
7264 0130 0193 str r3, [sp, #4]
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7265 .loc 1 2653 5 view .LVU2459
7266 0132 019B ldr r3, [sp, #4]
7267 .LBE12:
2653:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7268 .loc 1 2653 5 view .LVU2460
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7269 .loc 1 2656 5 view .LVU2461
2656:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
ARM GAS /tmp/ccZ0BHQJ.s page 245
7270 .loc 1 2656 17 is_stmt 0 view .LVU2462
7271 0134 0123 movs r3, #1
7272 0136 84F85D30 strb r3, [r4, #93]
2662:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7273 .loc 1 2662 5 is_stmt 1 view .LVU2463
7274 013a 2046 mov r0, r4
7275 013c FFF7FEFF bl HAL_SPI_AbortCpltCallback
7276 .LVL455:
7277 0140 DCE7 b .L482
7278 .LVL456:
7279 .L488:
2643:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7280 .loc 1 2643 17 is_stmt 0 view .LVU2464
7281 0142 0125 movs r5, #1
7282 0144 EAE7 b .L483
7283 .L494:
7284 0146 00BF .align 2
7285 .L493:
7286 0148 00000000 .word SystemCoreClock
7287 014c F1197605 .word 91625969
7288 0150 00000000 .word SPI_AbortTx_ISR
7289 0154 00000000 .word SPI_AbortRx_ISR
7290 0158 00000000 .word SPI_DMATxAbortCallback
7291 015c 00000000 .word SPI_DMARxAbortCallback
7292 .cfi_endproc
7293 .LFE144:
7295 .section .text.SPI_DMARxAbortCallback,"ax",%progbits
7296 .align 1
7297 .syntax unified
7298 .thumb
7299 .thumb_func
7301 SPI_DMARxAbortCallback:
7302 .LVL457:
7303 .LFB168:
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7304 .loc 1 3488 1 is_stmt 1 view -0
7305 .cfi_startproc
7306 @ args = 0, pretend = 0, frame = 8
7307 @ frame_needed = 0, uses_anonymous_args = 0
3488:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7308 .loc 1 3488 1 is_stmt 0 view .LVU2466
7309 0000 30B5 push {r4, r5, lr}
7310 .cfi_def_cfa_offset 12
7311 .cfi_offset 4, -12
7312 .cfi_offset 5, -8
7313 .cfi_offset 14, -4
7314 0002 85B0 sub sp, sp, #20
7315 .cfi_def_cfa_offset 32
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7316 .loc 1 3489 3 is_stmt 1 view .LVU2467
3489:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7317 .loc 1 3489 22 is_stmt 0 view .LVU2468
7318 0004 446A ldr r4, [r0, #36]
7319 .LVL458:
3492:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7320 .loc 1 3492 3 is_stmt 1 view .LVU2469
7321 0006 2268 ldr r2, [r4]
ARM GAS /tmp/ccZ0BHQJ.s page 246
7322 0008 1368 ldr r3, [r2]
7323 000a 23F04003 bic r3, r3, #64
7324 000e 1360 str r3, [r2]
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7325 .loc 1 3494 3 view .LVU2470
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7326 .loc 1 3494 7 is_stmt 0 view .LVU2471
7327 0010 A36D ldr r3, [r4, #88]
3494:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7328 .loc 1 3494 35 view .LVU2472
7329 0012 0025 movs r5, #0
7330 0014 5D63 str r5, [r3, #52]
3497:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7331 .loc 1 3497 3 is_stmt 1 view .LVU2473
7332 0016 2268 ldr r2, [r4]
7333 0018 5368 ldr r3, [r2, #4]
7334 001a 23F00103 bic r3, r3, #1
7335 001e 5360 str r3, [r2, #4]
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7336 .loc 1 3500 3 view .LVU2474
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7337 .loc 1 3500 7 is_stmt 0 view .LVU2475
7338 0020 FFF7FEFF bl HAL_GetTick
7339 .LVL459:
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7340 .loc 1 3500 7 discriminator 1 view .LVU2476
7341 0024 0090 str r0, [sp]
7342 0026 6423 movs r3, #100
7343 0028 2A46 mov r2, r5
7344 002a 8021 movs r1, #128
7345 002c 2046 mov r0, r4
7346 002e FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
7347 .LVL460:
3500:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7348 .loc 1 3500 6 discriminator 2 view .LVU2477
7349 0032 08B1 cbz r0, .L496
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7350 .loc 1 3502 5 is_stmt 1 view .LVU2478
3502:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7351 .loc 1 3502 21 is_stmt 0 view .LVU2479
7352 0034 4023 movs r3, #64
7353 0036 2366 str r3, [r4, #96]
7354 .L496:
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7355 .loc 1 3506 3 is_stmt 1 view .LVU2480
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7356 .loc 1 3506 7 is_stmt 0 view .LVU2481
7357 0038 FFF7FEFF bl HAL_GetTick
7358 .LVL461:
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7359 .loc 1 3506 7 discriminator 1 view .LVU2482
7360 003c 0090 str r0, [sp]
7361 003e 6423 movs r3, #100
7362 0040 0022 movs r2, #0
7363 0042 4FF4C061 mov r1, #1536
7364 0046 2046 mov r0, r4
7365 0048 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
ARM GAS /tmp/ccZ0BHQJ.s page 247
7366 .LVL462:
3506:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7367 .loc 1 3506 6 discriminator 2 view .LVU2483
7368 004c 08B1 cbz r0, .L497
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7369 .loc 1 3508 5 is_stmt 1 view .LVU2484
3508:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7370 .loc 1 3508 21 is_stmt 0 view .LVU2485
7371 004e 4023 movs r3, #64
7372 0050 2366 str r3, [r4, #96]
7373 .L497:
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7374 .loc 1 3512 3 is_stmt 1 view .LVU2486
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7375 .loc 1 3512 11 is_stmt 0 view .LVU2487
7376 0052 636D ldr r3, [r4, #84]
3512:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7377 .loc 1 3512 6 view .LVU2488
7378 0054 0BB1 cbz r3, .L498
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7379 .loc 1 3514 5 is_stmt 1 view .LVU2489
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7380 .loc 1 3514 21 is_stmt 0 view .LVU2490
7381 0056 5B6B ldr r3, [r3, #52]
3514:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7382 .loc 1 3514 8 view .LVU2491
7383 0058 D3B9 cbnz r3, .L495
7384 .L498:
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7385 .loc 1 3521 3 is_stmt 1 view .LVU2492
3521:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7386 .loc 1 3521 21 is_stmt 0 view .LVU2493
7387 005a 0023 movs r3, #0
7388 005c A4F84630 strh r3, [r4, #70] @ movhi
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7389 .loc 1 3522 3 is_stmt 1 view .LVU2494
3522:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7390 .loc 1 3522 21 is_stmt 0 view .LVU2495
7391 0060 E387 strh r3, [r4, #62] @ movhi
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7392 .loc 1 3525 3 is_stmt 1 view .LVU2496
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7393 .loc 1 3525 11 is_stmt 0 view .LVU2497
7394 0062 236E ldr r3, [r4, #96]
3525:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7395 .loc 1 3525 6 view .LVU2498
7396 0064 402B cmp r3, #64
7397 0066 01D0 beq .L500
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7398 .loc 1 3528 5 is_stmt 1 view .LVU2499
3528:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7399 .loc 1 3528 21 is_stmt 0 view .LVU2500
7400 0068 0023 movs r3, #0
7401 006a 2366 str r3, [r4, #96]
7402 .L500:
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7403 .loc 1 3532 3 is_stmt 1 view .LVU2501
ARM GAS /tmp/ccZ0BHQJ.s page 248
7404 .LBB13:
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7405 .loc 1 3532 3 view .LVU2502
7406 006c 0022 movs r2, #0
7407 006e 0292 str r2, [sp, #8]
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7408 .loc 1 3532 3 view .LVU2503
7409 0070 2368 ldr r3, [r4]
7410 0072 D968 ldr r1, [r3, #12]
7411 0074 0291 str r1, [sp, #8]
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7412 .loc 1 3532 3 view .LVU2504
7413 0076 9968 ldr r1, [r3, #8]
7414 0078 0291 str r1, [sp, #8]
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7415 .loc 1 3532 3 view .LVU2505
7416 007a 0299 ldr r1, [sp, #8]
7417 .LBE13:
3532:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7418 .loc 1 3532 3 view .LVU2506
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7419 .loc 1 3533 3 view .LVU2507
7420 .LBB14:
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7421 .loc 1 3533 3 view .LVU2508
7422 007c 0392 str r2, [sp, #12]
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7423 .loc 1 3533 3 view .LVU2509
7424 007e 9B68 ldr r3, [r3, #8]
7425 0080 0393 str r3, [sp, #12]
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7426 .loc 1 3533 3 view .LVU2510
7427 0082 039B ldr r3, [sp, #12]
7428 .LBE14:
3533:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7429 .loc 1 3533 3 view .LVU2511
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7430 .loc 1 3536 3 view .LVU2512
3536:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7431 .loc 1 3536 16 is_stmt 0 view .LVU2513
7432 0084 0123 movs r3, #1
7433 0086 84F85D30 strb r3, [r4, #93]
3542:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7434 .loc 1 3542 3 is_stmt 1 view .LVU2514
7435 008a 2046 mov r0, r4
7436 008c FFF7FEFF bl HAL_SPI_AbortCpltCallback
7437 .LVL463:
7438 .L495:
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7439 .loc 1 3544 1 is_stmt 0 view .LVU2515
7440 0090 05B0 add sp, sp, #20
7441 .cfi_def_cfa_offset 12
7442 @ sp needed
7443 0092 30BD pop {r4, r5, pc}
3544:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7444 .loc 1 3544 1 view .LVU2516
7445 .cfi_endproc
ARM GAS /tmp/ccZ0BHQJ.s page 249
7446 .LFE168:
7448 .section .text.SPI_DMATxAbortCallback,"ax",%progbits
7449 .align 1
7450 .syntax unified
7451 .thumb
7452 .thumb_func
7454 SPI_DMATxAbortCallback:
7455 .LVL464:
7456 .LFB167:
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7457 .loc 1 3422 1 is_stmt 1 view -0
7458 .cfi_startproc
7459 @ args = 0, pretend = 0, frame = 8
7460 @ frame_needed = 0, uses_anonymous_args = 0
3422:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
7461 .loc 1 3422 1 is_stmt 0 view .LVU2518
7462 0000 10B5 push {r4, lr}
7463 .cfi_def_cfa_offset 8
7464 .cfi_offset 4, -8
7465 .cfi_offset 14, -4
7466 0002 84B0 sub sp, sp, #16
7467 .cfi_def_cfa_offset 24
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7468 .loc 1 3423 3 is_stmt 1 view .LVU2519
3423:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7469 .loc 1 3423 22 is_stmt 0 view .LVU2520
7470 0004 446A ldr r4, [r0, #36]
7471 .LVL465:
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7472 .loc 1 3425 3 is_stmt 1 view .LVU2521
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7473 .loc 1 3425 7 is_stmt 0 view .LVU2522
7474 0006 636D ldr r3, [r4, #84]
3425:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7475 .loc 1 3425 35 view .LVU2523
7476 0008 0022 movs r2, #0
7477 000a 5A63 str r2, [r3, #52]
3428:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7478 .loc 1 3428 3 is_stmt 1 view .LVU2524
7479 000c 2268 ldr r2, [r4]
7480 000e 5368 ldr r3, [r2, #4]
7481 0010 23F00203 bic r3, r3, #2
7482 0014 5360 str r3, [r2, #4]
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7483 .loc 1 3430 3 view .LVU2525
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7484 .loc 1 3430 7 is_stmt 0 view .LVU2526
7485 0016 FFF7FEFF bl HAL_GetTick
7486 .LVL466:
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7487 .loc 1 3430 7 view .LVU2527
7488 001a 0246 mov r2, r0
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7489 .loc 1 3430 7 discriminator 1 view .LVU2528
7490 001c 6421 movs r1, #100
7491 001e 2046 mov r0, r4
7492 0020 FFF7FEFF bl SPI_EndRxTxTransaction
ARM GAS /tmp/ccZ0BHQJ.s page 250
7493 .LVL467:
3430:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7494 .loc 1 3430 6 discriminator 2 view .LVU2529
7495 0024 08B1 cbz r0, .L503
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7496 .loc 1 3432 5 is_stmt 1 view .LVU2530
3432:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7497 .loc 1 3432 21 is_stmt 0 view .LVU2531
7498 0026 4023 movs r3, #64
7499 0028 2366 str r3, [r4, #96]
7500 .L503:
3436:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7501 .loc 1 3436 3 is_stmt 1 view .LVU2532
7502 002a 2268 ldr r2, [r4]
7503 002c 1368 ldr r3, [r2]
7504 002e 23F04003 bic r3, r3, #64
7505 0032 1360 str r3, [r2]
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7506 .loc 1 3439 3 view .LVU2533
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7507 .loc 1 3439 7 is_stmt 0 view .LVU2534
7508 0034 FFF7FEFF bl HAL_GetTick
7509 .LVL468:
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7510 .loc 1 3439 7 discriminator 1 view .LVU2535
7511 0038 0090 str r0, [sp]
7512 003a 6423 movs r3, #100
7513 003c 0022 movs r2, #0
7514 003e 4FF4C061 mov r1, #1536
7515 0042 2046 mov r0, r4
7516 0044 FFF7FEFF bl SPI_WaitFifoStateUntilTimeout
7517 .LVL469:
3439:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7518 .loc 1 3439 6 discriminator 2 view .LVU2536
7519 0048 08B1 cbz r0, .L504
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7520 .loc 1 3441 5 is_stmt 1 view .LVU2537
3441:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7521 .loc 1 3441 21 is_stmt 0 view .LVU2538
7522 004a 4023 movs r3, #64
7523 004c 2366 str r3, [r4, #96]
7524 .L504:
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7525 .loc 1 3445 3 is_stmt 1 view .LVU2539
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7526 .loc 1 3445 11 is_stmt 0 view .LVU2540
7527 004e A36D ldr r3, [r4, #88]
3445:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7528 .loc 1 3445 6 view .LVU2541
7529 0050 0BB1 cbz r3, .L505
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7530 .loc 1 3447 5 is_stmt 1 view .LVU2542
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7531 .loc 1 3447 21 is_stmt 0 view .LVU2543
7532 0052 5B6B ldr r3, [r3, #52]
3447:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7533 .loc 1 3447 8 view .LVU2544
ARM GAS /tmp/ccZ0BHQJ.s page 251
7534 0054 D3B9 cbnz r3, .L502
7535 .L505:
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7536 .loc 1 3454 3 is_stmt 1 view .LVU2545
3454:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** hspi->TxXferCount = 0U;
7537 .loc 1 3454 21 is_stmt 0 view .LVU2546
7538 0056 0023 movs r3, #0
7539 0058 A4F84630 strh r3, [r4, #70] @ movhi
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7540 .loc 1 3455 3 is_stmt 1 view .LVU2547
3455:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7541 .loc 1 3455 21 is_stmt 0 view .LVU2548
7542 005c E387 strh r3, [r4, #62] @ movhi
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7543 .loc 1 3458 3 is_stmt 1 view .LVU2549
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7544 .loc 1 3458 11 is_stmt 0 view .LVU2550
7545 005e 236E ldr r3, [r4, #96]
3458:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** {
7546 .loc 1 3458 6 view .LVU2551
7547 0060 402B cmp r3, #64
7548 0062 01D0 beq .L507
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7549 .loc 1 3461 5 is_stmt 1 view .LVU2552
3461:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7550 .loc 1 3461 21 is_stmt 0 view .LVU2553
7551 0064 0023 movs r3, #0
7552 0066 2366 str r3, [r4, #96]
7553 .L507:
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7554 .loc 1 3465 3 is_stmt 1 view .LVU2554
7555 .LBB15:
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7556 .loc 1 3465 3 view .LVU2555
7557 0068 0022 movs r2, #0
7558 006a 0292 str r2, [sp, #8]
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7559 .loc 1 3465 3 view .LVU2556
7560 006c 2368 ldr r3, [r4]
7561 006e D968 ldr r1, [r3, #12]
7562 0070 0291 str r1, [sp, #8]
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7563 .loc 1 3465 3 view .LVU2557
7564 0072 9968 ldr r1, [r3, #8]
7565 0074 0291 str r1, [sp, #8]
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7566 .loc 1 3465 3 view .LVU2558
7567 0076 0299 ldr r1, [sp, #8]
7568 .LBE15:
3465:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
7569 .loc 1 3465 3 view .LVU2559
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7570 .loc 1 3466 3 view .LVU2560
7571 .LBB16:
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7572 .loc 1 3466 3 view .LVU2561
7573 0078 0392 str r2, [sp, #12]
ARM GAS /tmp/ccZ0BHQJ.s page 252
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7574 .loc 1 3466 3 view .LVU2562
7575 007a 9B68 ldr r3, [r3, #8]
7576 007c 0393 str r3, [sp, #12]
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7577 .loc 1 3466 3 view .LVU2563
7578 007e 039B ldr r3, [sp, #12]
7579 .LBE16:
3466:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7580 .loc 1 3466 3 view .LVU2564
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7581 .loc 1 3469 3 view .LVU2565
3469:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7582 .loc 1 3469 16 is_stmt 0 view .LVU2566
7583 0080 0123 movs r3, #1
7584 0082 84F85D30 strb r3, [r4, #93]
3475:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7585 .loc 1 3475 3 is_stmt 1 view .LVU2567
7586 0086 2046 mov r0, r4
7587 0088 FFF7FEFF bl HAL_SPI_AbortCpltCallback
7588 .LVL470:
7589 .L502:
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7590 .loc 1 3477 1 is_stmt 0 view .LVU2568
7591 008c 04B0 add sp, sp, #16
7592 .cfi_def_cfa_offset 8
7593 @ sp needed
7594 008e 10BD pop {r4, pc}
3477:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7595 .loc 1 3477 1 view .LVU2569
7596 .cfi_endproc
7597 .LFE167:
7599 .section .text.HAL_SPI_GetState,"ax",%progbits
7600 .align 1
7601 .global HAL_SPI_GetState
7602 .syntax unified
7603 .thumb
7604 .thumb_func
7606 HAL_SPI_GetState:
7607 .LVL471:
7608 .LFB157:
3012:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI handle state */
7609 .loc 1 3012 1 is_stmt 1 view -0
7610 .cfi_startproc
7611 @ args = 0, pretend = 0, frame = 0
7612 @ frame_needed = 0, uses_anonymous_args = 0
7613 @ link register save eliminated.
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7614 .loc 1 3014 3 view .LVU2571
3014:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7615 .loc 1 3014 14 is_stmt 0 view .LVU2572
7616 0000 90F85D00 ldrb r0, [r0, #93] @ zero_extendqisi2
7617 .LVL472:
3015:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7618 .loc 1 3015 1 view .LVU2573
7619 0004 7047 bx lr
7620 .cfi_endproc
ARM GAS /tmp/ccZ0BHQJ.s page 253
7621 .LFE157:
7623 .section .text.HAL_SPI_GetError,"ax",%progbits
7624 .align 1
7625 .global HAL_SPI_GetError
7626 .syntax unified
7627 .thumb
7628 .thumb_func
7630 HAL_SPI_GetError:
7631 .LVL473:
7632 .LFB158:
3024:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** /* Return SPI ErrorCode */
7633 .loc 1 3024 1 is_stmt 1 view -0
7634 .cfi_startproc
7635 @ args = 0, pretend = 0, frame = 0
7636 @ frame_needed = 0, uses_anonymous_args = 0
7637 @ link register save eliminated.
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7638 .loc 1 3026 3 view .LVU2575
3026:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c **** }
7639 .loc 1 3026 14 is_stmt 0 view .LVU2576
7640 0000 006E ldr r0, [r0, #96]
7641 .LVL474:
3027:Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_spi.c ****
7642 .loc 1 3027 1 view .LVU2577
7643 0002 7047 bx lr
7644 .cfi_endproc
7645 .LFE158:
7647 .text
7648 .Letext0:
7649 .file 2 "/home/h/.var/app/com.visualstudio.code/config/Code/User/globalStorage/bmd.stm32-for-vscod
7650 .file 3 "/home/h/.var/app/com.visualstudio.code/config/Code/User/globalStorage/bmd.stm32-for-vscod
7651 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
7652 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
7653 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
7654 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_dma.h"
7655 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_spi.h"
7656 .file 9 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/system_stm32f3xx.h"
7657 .file 10 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal.h"
ARM GAS /tmp/ccZ0BHQJ.s page 254
DEFINED SYMBOLS
*ABS*:00000000 stm32f3xx_hal_spi.c
/tmp/ccZ0BHQJ.s:21 .text.SPI_WaitFlagStateUntilTimeout:00000000 $t
/tmp/ccZ0BHQJ.s:26 .text.SPI_WaitFlagStateUntilTimeout:00000000 SPI_WaitFlagStateUntilTimeout
/tmp/ccZ0BHQJ.s:200 .text.SPI_WaitFlagStateUntilTimeout:000000c4 $d
/tmp/ccZ0BHQJ.s:205 .text.SPI_WaitFifoStateUntilTimeout:00000000 $t
/tmp/ccZ0BHQJ.s:210 .text.SPI_WaitFifoStateUntilTimeout:00000000 SPI_WaitFifoStateUntilTimeout
/tmp/ccZ0BHQJ.s:415 .text.SPI_WaitFifoStateUntilTimeout:000000ec $d
/tmp/ccZ0BHQJ.s:420 .text.SPI_EndRxTxTransaction:00000000 $t
/tmp/ccZ0BHQJ.s:425 .text.SPI_EndRxTxTransaction:00000000 SPI_EndRxTxTransaction
/tmp/ccZ0BHQJ.s:518 .text.SPI_EndRxTransaction:00000000 $t
/tmp/ccZ0BHQJ.s:523 .text.SPI_EndRxTransaction:00000000 SPI_EndRxTransaction
/tmp/ccZ0BHQJ.s:642 .text.SPI_AbortRx_ISR:00000000 $t
/tmp/ccZ0BHQJ.s:647 .text.SPI_AbortRx_ISR:00000000 SPI_AbortRx_ISR
/tmp/ccZ0BHQJ.s:762 .text.SPI_AbortRx_ISR:00000088 $d
/tmp/ccZ0BHQJ.s:768 .text.SPI_AbortTx_ISR:00000000 $t
/tmp/ccZ0BHQJ.s:773 .text.SPI_AbortTx_ISR:00000000 SPI_AbortTx_ISR
/tmp/ccZ0BHQJ.s:961 .text.SPI_AbortTx_ISR:000000e8 $d
/tmp/ccZ0BHQJ.s:967 .text.HAL_SPI_MspInit:00000000 $t
/tmp/ccZ0BHQJ.s:973 .text.HAL_SPI_MspInit:00000000 HAL_SPI_MspInit
/tmp/ccZ0BHQJ.s:988 .text.HAL_SPI_Init:00000000 $t
/tmp/ccZ0BHQJ.s:994 .text.HAL_SPI_Init:00000000 HAL_SPI_Init
/tmp/ccZ0BHQJ.s:1181 .text.HAL_SPI_MspDeInit:00000000 $t
/tmp/ccZ0BHQJ.s:1187 .text.HAL_SPI_MspDeInit:00000000 HAL_SPI_MspDeInit
/tmp/ccZ0BHQJ.s:1202 .text.HAL_SPI_DeInit:00000000 $t
/tmp/ccZ0BHQJ.s:1208 .text.HAL_SPI_DeInit:00000000 HAL_SPI_DeInit
/tmp/ccZ0BHQJ.s:1265 .text.HAL_SPI_Transmit:00000000 $t
/tmp/ccZ0BHQJ.s:1271 .text.HAL_SPI_Transmit:00000000 HAL_SPI_Transmit
/tmp/ccZ0BHQJ.s:1743 .text.HAL_SPI_TransmitReceive:00000000 $t
/tmp/ccZ0BHQJ.s:1749 .text.HAL_SPI_TransmitReceive:00000000 HAL_SPI_TransmitReceive
/tmp/ccZ0BHQJ.s:2475 .text.HAL_SPI_Receive:00000000 $t
/tmp/ccZ0BHQJ.s:2481 .text.HAL_SPI_Receive:00000000 HAL_SPI_Receive
/tmp/ccZ0BHQJ.s:2849 .text.HAL_SPI_Transmit_IT:00000000 $t
/tmp/ccZ0BHQJ.s:2855 .text.HAL_SPI_Transmit_IT:00000000 HAL_SPI_Transmit_IT
/tmp/ccZ0BHQJ.s:3020 .text.HAL_SPI_Transmit_IT:000000a8 $d
/tmp/ccZ0BHQJ.s:5520 .text.SPI_TxISR_16BIT:00000000 SPI_TxISR_16BIT
/tmp/ccZ0BHQJ.s:5459 .text.SPI_TxISR_8BIT:00000000 SPI_TxISR_8BIT
/tmp/ccZ0BHQJ.s:3026 .text.HAL_SPI_TransmitReceive_IT:00000000 $t
/tmp/ccZ0BHQJ.s:3032 .text.HAL_SPI_TransmitReceive_IT:00000000 HAL_SPI_TransmitReceive_IT
/tmp/ccZ0BHQJ.s:3283 .text.HAL_SPI_TransmitReceive_IT:00000104 $d
/tmp/ccZ0BHQJ.s:6161 .text.SPI_2linesRxISR_16BIT:00000000 SPI_2linesRxISR_16BIT
/tmp/ccZ0BHQJ.s:6089 .text.SPI_2linesTxISR_16BIT:00000000 SPI_2linesTxISR_16BIT
/tmp/ccZ0BHQJ.s:5972 .text.SPI_2linesRxISR_8BIT:00000000 SPI_2linesRxISR_8BIT
/tmp/ccZ0BHQJ.s:5867 .text.SPI_2linesTxISR_8BIT:00000000 SPI_2linesTxISR_8BIT
/tmp/ccZ0BHQJ.s:3291 .text.HAL_SPI_Receive_IT:00000000 $t
/tmp/ccZ0BHQJ.s:3297 .text.HAL_SPI_Receive_IT:00000000 HAL_SPI_Receive_IT
/tmp/ccZ0BHQJ.s:3496 .text.HAL_SPI_Receive_IT:000000f8 $d
/tmp/ccZ0BHQJ.s:5711 .text.SPI_RxISR_16BIT:00000000 SPI_RxISR_16BIT
/tmp/ccZ0BHQJ.s:5650 .text.SPI_RxISR_8BIT:00000000 SPI_RxISR_8BIT
/tmp/ccZ0BHQJ.s:3502 .text.HAL_SPI_Transmit_DMA:00000000 $t
/tmp/ccZ0BHQJ.s:3508 .text.HAL_SPI_Transmit_DMA:00000000 HAL_SPI_Transmit_DMA
/tmp/ccZ0BHQJ.s:3764 .text.HAL_SPI_Transmit_DMA:00000124 $d
/tmp/ccZ0BHQJ.s:5201 .text.SPI_DMAHalfTransmitCplt:00000000 SPI_DMAHalfTransmitCplt
/tmp/ccZ0BHQJ.s:6276 .text.SPI_DMATransmitCplt:00000000 SPI_DMATransmitCplt
/tmp/ccZ0BHQJ.s:6233 .text.SPI_DMAError:00000000 SPI_DMAError
/tmp/ccZ0BHQJ.s:3771 .text.HAL_SPI_TransmitReceive_DMA:00000000 $t
/tmp/ccZ0BHQJ.s:3777 .text.HAL_SPI_TransmitReceive_DMA:00000000 HAL_SPI_TransmitReceive_DMA
ARM GAS /tmp/ccZ0BHQJ.s page 255
/tmp/ccZ0BHQJ.s:4234 .text.HAL_SPI_TransmitReceive_DMA:00000210 $d
/tmp/ccZ0BHQJ.s:5305 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 SPI_DMAHalfTransmitReceiveCplt
/tmp/ccZ0BHQJ.s:6515 .text.SPI_DMATransmitReceiveCplt:00000000 SPI_DMATransmitReceiveCplt
/tmp/ccZ0BHQJ.s:5253 .text.SPI_DMAHalfReceiveCplt:00000000 SPI_DMAHalfReceiveCplt
/tmp/ccZ0BHQJ.s:6399 .text.SPI_DMAReceiveCplt:00000000 SPI_DMAReceiveCplt
/tmp/ccZ0BHQJ.s:4243 .text.HAL_SPI_Receive_DMA:00000000 $t
/tmp/ccZ0BHQJ.s:4249 .text.HAL_SPI_Receive_DMA:00000000 HAL_SPI_Receive_DMA
/tmp/ccZ0BHQJ.s:4557 .text.HAL_SPI_Receive_DMA:00000184 $d
/tmp/ccZ0BHQJ.s:4564 .text.HAL_SPI_Abort:00000000 $t
/tmp/ccZ0BHQJ.s:4570 .text.HAL_SPI_Abort:00000000 HAL_SPI_Abort
/tmp/ccZ0BHQJ.s:4914 .text.HAL_SPI_Abort:00000180 $d
/tmp/ccZ0BHQJ.s:4922 .text.HAL_SPI_DMAPause:00000000 $t
/tmp/ccZ0BHQJ.s:4928 .text.HAL_SPI_DMAPause:00000000 HAL_SPI_DMAPause
/tmp/ccZ0BHQJ.s:4972 .text.HAL_SPI_DMAResume:00000000 $t
/tmp/ccZ0BHQJ.s:4978 .text.HAL_SPI_DMAResume:00000000 HAL_SPI_DMAResume
/tmp/ccZ0BHQJ.s:5022 .text.HAL_SPI_DMAStop:00000000 $t
/tmp/ccZ0BHQJ.s:5028 .text.HAL_SPI_DMAStop:00000000 HAL_SPI_DMAStop
/tmp/ccZ0BHQJ.s:5112 .text.HAL_SPI_TxCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5118 .text.HAL_SPI_TxCpltCallback:00000000 HAL_SPI_TxCpltCallback
/tmp/ccZ0BHQJ.s:5133 .text.HAL_SPI_RxCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5139 .text.HAL_SPI_RxCpltCallback:00000000 HAL_SPI_RxCpltCallback
/tmp/ccZ0BHQJ.s:5154 .text.HAL_SPI_TxRxCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5160 .text.HAL_SPI_TxRxCpltCallback:00000000 HAL_SPI_TxRxCpltCallback
/tmp/ccZ0BHQJ.s:5175 .text.HAL_SPI_TxHalfCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5181 .text.HAL_SPI_TxHalfCpltCallback:00000000 HAL_SPI_TxHalfCpltCallback
/tmp/ccZ0BHQJ.s:5196 .text.SPI_DMAHalfTransmitCplt:00000000 $t
/tmp/ccZ0BHQJ.s:5227 .text.HAL_SPI_RxHalfCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5233 .text.HAL_SPI_RxHalfCpltCallback:00000000 HAL_SPI_RxHalfCpltCallback
/tmp/ccZ0BHQJ.s:5248 .text.SPI_DMAHalfReceiveCplt:00000000 $t
/tmp/ccZ0BHQJ.s:5279 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5285 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 HAL_SPI_TxRxHalfCpltCallback
/tmp/ccZ0BHQJ.s:5300 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 $t
/tmp/ccZ0BHQJ.s:5331 .text.HAL_SPI_ErrorCallback:00000000 $t
/tmp/ccZ0BHQJ.s:5337 .text.HAL_SPI_ErrorCallback:00000000 HAL_SPI_ErrorCallback
/tmp/ccZ0BHQJ.s:5352 .text.SPI_CloseTx_ISR:00000000 $t
/tmp/ccZ0BHQJ.s:5357 .text.SPI_CloseTx_ISR:00000000 SPI_CloseTx_ISR
/tmp/ccZ0BHQJ.s:5454 .text.SPI_TxISR_8BIT:00000000 $t
/tmp/ccZ0BHQJ.s:5515 .text.SPI_TxISR_16BIT:00000000 $t
/tmp/ccZ0BHQJ.s:5576 .text.SPI_CloseRx_ISR:00000000 $t
/tmp/ccZ0BHQJ.s:5581 .text.SPI_CloseRx_ISR:00000000 SPI_CloseRx_ISR
/tmp/ccZ0BHQJ.s:5645 .text.SPI_RxISR_8BIT:00000000 $t
/tmp/ccZ0BHQJ.s:5706 .text.SPI_RxISR_16BIT:00000000 $t
/tmp/ccZ0BHQJ.s:5767 .text.SPI_CloseRxTx_ISR:00000000 $t
/tmp/ccZ0BHQJ.s:5772 .text.SPI_CloseRxTx_ISR:00000000 SPI_CloseRxTx_ISR
/tmp/ccZ0BHQJ.s:5862 .text.SPI_2linesTxISR_8BIT:00000000 $t
/tmp/ccZ0BHQJ.s:5967 .text.SPI_2linesRxISR_8BIT:00000000 $t
/tmp/ccZ0BHQJ.s:6084 .text.SPI_2linesTxISR_16BIT:00000000 $t
/tmp/ccZ0BHQJ.s:6156 .text.SPI_2linesRxISR_16BIT:00000000 $t
/tmp/ccZ0BHQJ.s:6228 .text.SPI_DMAError:00000000 $t
/tmp/ccZ0BHQJ.s:6271 .text.SPI_DMATransmitCplt:00000000 $t
/tmp/ccZ0BHQJ.s:6394 .text.SPI_DMAReceiveCplt:00000000 $t
/tmp/ccZ0BHQJ.s:6510 .text.SPI_DMATransmitReceiveCplt:00000000 $t
/tmp/ccZ0BHQJ.s:6609 .text.HAL_SPI_IRQHandler:00000000 $t
/tmp/ccZ0BHQJ.s:6615 .text.HAL_SPI_IRQHandler:00000000 HAL_SPI_IRQHandler
/tmp/ccZ0BHQJ.s:6884 .text.HAL_SPI_IRQHandler:00000120 $d
/tmp/ccZ0BHQJ.s:6894 .text.SPI_DMAAbortOnError:00000000 SPI_DMAAbortOnError
/tmp/ccZ0BHQJ.s:6889 .text.SPI_DMAAbortOnError:00000000 $t
ARM GAS /tmp/ccZ0BHQJ.s page 256
/tmp/ccZ0BHQJ.s:6926 .text.HAL_SPI_AbortCpltCallback:00000000 $t
/tmp/ccZ0BHQJ.s:6932 .text.HAL_SPI_AbortCpltCallback:00000000 HAL_SPI_AbortCpltCallback
/tmp/ccZ0BHQJ.s:6947 .text.HAL_SPI_Abort_IT:00000000 $t
/tmp/ccZ0BHQJ.s:6953 .text.HAL_SPI_Abort_IT:00000000 HAL_SPI_Abort_IT
/tmp/ccZ0BHQJ.s:7286 .text.HAL_SPI_Abort_IT:00000148 $d
/tmp/ccZ0BHQJ.s:7454 .text.SPI_DMATxAbortCallback:00000000 SPI_DMATxAbortCallback
/tmp/ccZ0BHQJ.s:7301 .text.SPI_DMARxAbortCallback:00000000 SPI_DMARxAbortCallback
/tmp/ccZ0BHQJ.s:7296 .text.SPI_DMARxAbortCallback:00000000 $t
/tmp/ccZ0BHQJ.s:7449 .text.SPI_DMATxAbortCallback:00000000 $t
/tmp/ccZ0BHQJ.s:7600 .text.HAL_SPI_GetState:00000000 $t
/tmp/ccZ0BHQJ.s:7606 .text.HAL_SPI_GetState:00000000 HAL_SPI_GetState
/tmp/ccZ0BHQJ.s:7624 .text.HAL_SPI_GetError:00000000 $t
/tmp/ccZ0BHQJ.s:7630 .text.HAL_SPI_GetError:00000000 HAL_SPI_GetError
UNDEFINED SYMBOLS
HAL_GetTick
SystemCoreClock
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_Abort_IT