Rev 19 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 1
1 .cpu cortex-m3
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "stm32f1xx_hal_spi.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.SPI_AbortRx_ISR,"ax",%progbits
16 .align 1
17 .arch armv7-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 SPI_AbortRx_ISR:
24 .LVL0:
25 .LFB118:
26 .file 1 "Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c"
1:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ******************************************************************************
3:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @file stm32f1xx_hal_spi.c
4:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @author MCD Application Team
5:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief SPI HAL module driver.
6:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * functionalities of the Serial Peripheral Interface (SPI) peripheral:
8:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + IO operation functions
10:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + Peripheral Control functions
11:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + Peripheral State functions
12:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
13:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @verbatim
14:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ==============================================================================
15:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ##### How to use this driver #####
16:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ==============================================================================
17:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
18:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** The SPI HAL driver can be used as follows:
19:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
20:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) Declare a SPI_HandleTypeDef handle structure, for example:
21:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef hspi;
22:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
23:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API:
24:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) Enable the SPIx interface clock
25:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) SPI pins configuration
26:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Enable the clock for the SPI GPIOs
27:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Configure these SPI pins as alternate function push-pull
28:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) NVIC configuration if you need to use interrupt process
29:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Configure the SPIx interrupt priority
30:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Enable the NVIC SPI IRQ handle
31:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) DMA Configuration if you need to use DMA process
32:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 2
33:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Enable the DMAx clock
34:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Configure the DMA handle parameters
35:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Configure the DMA Tx or Rx Stream/Channel
36:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Associate the initialized hdma_tx(or _rx) handle to the hspi DMA Tx or Rx hand
37:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt
38:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
39:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS
40:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str
41:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
42:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) Initialize the SPI registers by calling the HAL_SPI_Init() API:
43:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc)
44:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** by calling the customized HAL_SPI_MspInit() API.
45:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
46:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Circular mode restriction:
47:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) The DMA circular mode cannot be used when the SPI is configured in these modes:
48:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) Master 2Lines RxOnly
49:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) Master 1Line Rx
50:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) The CRC feature is not managed when the DMA circular mode is enabled
51:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) When the SPI DMA Pause/Stop features are used, we must use the following APIs
52:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_DMAPause()/ HAL_SPI_DMAStop() only under the SPI callbacks
53:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
54:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Master Receive mode restriction:
55:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=1) or
56:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI
57:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** does not initiate a new transfer the following procedure has to be respected:
58:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) HAL_SPI_DeInit()
59:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (##) HAL_SPI_Init()
60:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
61:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Callback registration:
62:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
63:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1U
64:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** allows the user to configure dynamically the driver callbacks.
65:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback.
66:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
67:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Function HAL_SPI_RegisterCallback() allows to register following callbacks:
68:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
69:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
70:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
71:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
72:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
73:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
74:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
75:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
76:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
77:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
78:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
79:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and a pointer to the user callback function.
80:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
81:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
82:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default
83:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** weak function.
84:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle,
85:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and the Callback ID.
86:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** This function allows to reset following callbacks:
87:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback
88:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback
89:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 3
90:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback
91:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback
92:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
93:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback
94:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback
95:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback
96:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback
97:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
98:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
99:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET
100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** all callbacks are set to the corresponding weak functions:
101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback().
102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Exception done for MspInit and MspDeInit functions that are
103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** reset to the legacy weak functions in the HAL_SPI_Init()/ HAL_SPI_DeInit() only when
104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** these callbacks are null (not registered beforehand).
105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit()
106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state
107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only.
110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state,
112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit()
115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** or HAL_SPI_Init() function.
116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** When the compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or
119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** not defined, the callback registering feature is not available
120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and weak (surcharged) callbacks are used.
121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Using the HAL it is not possible to reach all supported SPI frequency with the different SPI
124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the following table resume the max SPI frequency reached with data size 8bits/16bits,
125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** according to frequency of the APBx Peripheral Clock (fPCLK) used by the SPI instance.
126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @endverbatim
128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Additional table :
130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** DataSize = SPI_DATASIZE_8BIT:
132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | Process | Tranfert mode |---------------------|----------------------|-------------------
135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |===========================================================================================
137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | T | Polling | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA
140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/
144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/8 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/
146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 4
147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/128 | Fpclk/
148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/2 | Fpclk/
150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/2 | Fpclk/
152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/
154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** DataSize = SPI_DATASIZE_16BIT:
157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line
159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | Process | Tranfert mode |---------------------|----------------------|-------------------
160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave
161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |===========================================================================================
162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | T | Polling | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/4 | NA | NA | NA | NA
165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|-------
166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA
167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/32 | Fpclk/
169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | R | Interrupt | Fpclk/4 | Fpclk/4 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/
171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/128 | Fpclk/
173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|=======
174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/
175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|-------
176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/
177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|-------
178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/
179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** +-------------------------------------------------------------------------------------------
180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @note The max SPI frequency depend on SPI data size (8bits, 16bits),
181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI mode(2 Lines fullduplex, 2 lines RxOnly, 1 line TX/RX) and Process mode (Polling,
182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @note
183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) TX/RX processes are HAL_SPI_TransmitReceive(), HAL_SPI_TransmitReceive_IT() and HAL
184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) RX processes are HAL_SPI_Receive(), HAL_SPI_Receive_IT() and HAL_SPI_Receive_DMA()
185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) TX processes are HAL_SPI_Transmit(), HAL_SPI_Transmit_IT() and HAL_SPI_Transmit_DMA
186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ******************************************************************************
188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @attention
189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * <h2><center>© Copyright (c) 2016 STMicroelectronics.
191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * All rights reserved.</center></h2>
192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * This software component is licensed by ST under BSD 3-Clause license,
194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the "License"; You may not use this file except in compliance with the
195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * License. You may obtain a copy of the License at:
196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * opensource.org/licenses/BSD-3-Clause
197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ******************************************************************************
199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Includes ------------------------------------------------------------------*/
202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #include "stm32f1xx_hal.h"
203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 5
204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @addtogroup STM32F1xx_HAL_Driver
205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI SPI
209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief SPI HAL module driver
210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED
213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/
215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/
216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) && defined(SPI_CRC_ERROR_WORKAROUND_FEATURE)
217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* CRC WORKAOUND FEATURE: Variable used to determine if device is impacted by implementation
218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * of workaround related to wrong CRC errors detection on SPI2. Conditions in which this workaround
219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * has to be applied, are:
220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - STM32F101CDE/STM32F103CDE
221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Revision ID : Z
222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - SPI2
223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - In receive only mode, with CRC calculation enabled, at the end of the CRC reception,
224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the software needs to check the CRCERR flag. If it is found set, read back the SPI_RXCRC:
225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + If the value is 0, the complete data transfer is successful.
226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * + Otherwise, one or more errors have been detected during the data transfer by CPU or DMA.
227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * If CRCERR is found reset, the complete data transfer is considered successful.
228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * Check RevisionID value for identifying if Device is Rev Z (0x0001) in order to enable workaround
230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * CRC errors wrongly detected
231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Pb is that ES_STM32F10xxCDE also identify an issue in Debug registers access while not in Debug
233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * Revision ID information is only available in Debug mode, so Workaround could not be implemented
234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * to distinguish Rev Z devices (issue present) from more recent version (issue fixed).
235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * So, in case of Revison Z F101 or F103 devices, below define should be assigned to 1.
236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #define USE_SPI_CRC_ERROR_WORKAROUND 0U
238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif
239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants
240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100U
243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Private macros ------------------------------------------------------------*/
248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/
249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/
250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions
251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma);
256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma);
257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma);
258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma);
259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma);
260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 6
261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart);
265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi);
271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi);
273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi);
277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi);
278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi);
280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi);
281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi);
282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi);
283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi);
284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t T
285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Exported functions --------------------------------------------------------*/
291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions
292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Initialization and Configuration functions
297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @verbatim
299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ===============================================================================
300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ##### Initialization and de-initialization functions #####
301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ===============================================================================
302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..] This subsection provides a set of functions allowing to initialize and
303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** de-initialize the SPIx peripheral:
304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+) User must implement HAL_SPI_MspInit() function in which he configures
306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+) Call the function HAL_SPI_Init() to configure the selected device with
309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the selected configuration:
310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) Mode
311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) Direction
312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) Data Size
313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) Clock Polarity and Phase
314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) NSS Management
315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) BaudRate Prescaler
316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) FirstBit
317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) TIMode
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 7
318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) CRC Calculation
319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) CRC Polynomial if CRC enabled
320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+) Call the function HAL_SPI_DeInit() to restore the default configuration
322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** of the selected SPIx peripheral.
323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @endverbatim
325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Initialize the SPI according to the specified parameters
330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * in the SPI_InitTypeDef and initialize the associated handle.
331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi == NULL)
339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_ERROR;
341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the parameters */
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* TI mode is not supported on this device.
352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** TIMode parameter is mandatory equal to SPI_TIMODE_DISABLE */
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity));
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation));
361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial));
364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_RESET)
370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Allocate lock resource and initialize it */
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Lock = HAL_UNLOCKED;
373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 8
375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init the SPI Callback settings */
376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback
380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback
381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback
382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->MspInitCallback == NULL)
386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit */
388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback(hspi);
392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_MspInit(hspi);
395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the selected SPI peripheral */
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/
404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure : SPI Mode, Communication Mode, Data size, Clock polarity and phase, NSS management,
405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Communication speed, First bit and CRC calculation state */
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR1, (hspi->Init.Mode | hspi->Init.Direction | hspi->Init.DataSize |
407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Init.CLKPolarity | hspi->Init.CLKPhase | (hspi->Init.NSS &
408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Init.BaudRatePrescaler | hspi->Init.FirstBit | hspi->Init.
409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure : NSS management */
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR2, ((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE));
412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration ------------------*/
415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure : CRC Polynomial */
416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPR, hspi->Init.CRCPolynomial);
419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD)
423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD);
425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 9
432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief De-Initialize the SPI peripheral.
435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi == NULL)
443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_ERROR;
445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check SPI Instance parameter */
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI Peripheral Clock */
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->MspDeInitCallback == NULL)
457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit */
459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback(hspi);
463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_MspDeInit(hspi);
466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Release Lock */
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Initialize the SPI MSP.
479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 10
489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_MspInit should be implemented in the user file
490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief De-Initialize the SPI MSP.
495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_MspDeInit should be implemented in the user file
506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Register a User SPI Callback
512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * To be used instead of the weak predefined callback
513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI.
515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param CallbackID ID of the callback to be registered
516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pCallback pointer to the Callback function
517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb
520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** pSPI_CallbackTypeDef pCallback)
521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (pCallback == NULL)
525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK;
528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_ERROR;
530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process locked */
532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** switch (CallbackID)
537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxCpltCallback = pCallback;
540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback = pCallback;
544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 11
546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxCpltCallback = pCallback;
548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxHalfCpltCallback = pCallback;
552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxHalfCpltCallback = pCallback;
556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = pCallback;
560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback = pCallback;
564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback = pCallback;
568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** default :
579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** switch (CallbackID)
590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** default :
600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 12
603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Release Lock */
618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return status;
620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Unregister an SPI Callback
624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * SPI callback is redirected to the weak predefined callback
625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI.
627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param CallbackID ID of the callback to be unregistered
628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal
631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process locked */
635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** switch (CallbackID)
640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallbac
655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallbac
659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 13
660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb
663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** default :
682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** switch (CallbackID)
693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** default :
703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update the error code */
714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return error status */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 14
717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** status = HAL_ERROR;
718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Release Lock */
721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return status;
723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions
730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Data transfers functions
731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @verbatim
733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ==============================================================================
734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ##### IO operation functions #####
735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ===============================================================================
736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** This subsection provides a set of functions allowing to manage the SPI
738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** data transfers.
739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..] The SPI supports master and slave mode :
741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) There are two modes of transfer:
743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) Blocking mode: The communication is performed in polling mode.
744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** The HAL status of all data processing is returned by the same function
745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** after finishing transfer.
746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (++) No-Blocking mode: The communication is performed using Interrupts
747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** or DMA, These APIs return the HAL status.
748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** The end of the data processing will be indicated through the
749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when
750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** using DMA mode.
751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u
752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** will be executed respectively at the end of the transmit or Receive process
753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is
754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either I
756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** exist for 1Line (simplex) and 2Lines (full duplex) modes.
757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @endverbatim
759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit an amount of data in blocking mode.
764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 15
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*Init field not used in handle to zero */
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction : 1Line */
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_TX(hspi);
817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 16
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Timeout management */
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while (hspi->TxXferCount > 0U)
874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set to send data */
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE))
877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Timeout management */
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 17
888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error:
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Receive an amount of data in blocking mode.
927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be received
931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES))
940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout);
944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 18
945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*Init field not used in handle to zero */
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* this is done to handle the CRCNEXT before the latest data */
984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction: 1Line */
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_RX(hspi);
992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 8 Bit mode */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 19
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_8BIT)
1003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transfer loop */
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the RXNE flag */
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* read the received data */
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Timeout management */
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transfer loop */
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while (hspi->RxXferCount > 0U)
1030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the RXNE flag */
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE))
1033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Timeout management */
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Handle the CRC Transmission */
1052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* freeze the CRC before the latest data */
1055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRCNEXT is well reseted by hardware */
1058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (READ_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT))
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 20
1059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Workaround to force CRCNEXT bit to zero in case of CRCNEXT is not reset automatically by h
1061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read the latest data */
1064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* the latest data has not been received */
1067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive last data in 16 Bit mode */
1072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive last data in 8 Bit mode */
1077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR;
1080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait the CRC data */
1083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
1091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
1092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
1103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
1104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
1106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
1107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 21
1116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
1121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in blocking mode.
1133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent and received
1138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
1139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxDa
1142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t Timeout)
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
1148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Variable used to alternate Rx and Tx during transfer */
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t txallowed = 1U;
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
1161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init temporary variables */
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_state = hspi->State;
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
1166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 22
1173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*Init field not used in handle to zero */
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit and Receive data in 16 Bit mode */
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT)
1216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check TXE flag */
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 23
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** txallowed = 0U;
1233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
1236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check RXNE flag */
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR;
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** txallowed = 1U;
1251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY))
1253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit and Receive data in 8 Bit mode */
1260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U))
1263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = (*hspi->pTxBuffPtr);
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U))
1269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check TXE flag */
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)
1272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** txallowed = 0U;
1278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
1281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
1282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
1284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 24
1287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until RXNE flag is reset */
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U))
1290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = hspi->Instance->DR;
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** txallowed = 1U;
1296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout =
1298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC from DR to close CRC calculation process */
1307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag */
1310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK)
1311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Error on the CRC reception */
1313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_TIMEOUT;
1315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC */
1318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
1319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
1322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
1323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
1325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
1326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
1328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
1337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK)
1343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 25
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
1351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
1353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with Interrupt.
1363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
1366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
1367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init field not used in handle to zero */
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 26
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the function for IT treatment */
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
1408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
1412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction : 1Line */
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
1430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with Interrupt.
1446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
1449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
1450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
1457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 27
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size);
1461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init field not used in handle to zero */
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL;
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the function for IT treatment */
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
1495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
1499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction : 1Line */
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 28
1515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable TXE and ERR interrupt */
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
1517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Note : The SPI must be enabled after unlocking current process
1519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** to avoid the risk of SPI interrupt handle execution before current
1520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** process unlock */
1521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt.
1537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent and received
1542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pR
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process locked */
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init temporary variables */
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_state = hspi->State;
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 29
1572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the function for IT treatment */
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BIT;
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
1593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BIT;
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
1598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
1610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with DMA.
1626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 30
1629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
1630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check tx dma handle */
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction));
1641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init field not used in handle to zero */
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL;
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
1670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction : 1Line */
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI TxDMA Half transfer complete callback */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 31
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt;
1687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI TxDMA transfer complete callback */
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt;
1690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA error callback */
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError;
1693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
1696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
1700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update SPI error code */
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
1718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable Tx DMA Request */
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
1721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with DMA.
1730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note In case of MASTER mode and SPI_DIRECTION_2LINES direction, hdmatx shall be defined.
1731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pData pointer to data buffer
1734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note When the CRC feature is enabled the pData Length must be Size + 1.
1735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
1736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check rx dma handle */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 32
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
1744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER))
1746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check tx dma handle */
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size);
1754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U))
1766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /*Init field not used in handle to zero */
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
1783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Configure communication direction : 1Line */
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI RxDMA Half transfer complete callback */
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 33
1800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI Rx DMA transfer complete callback */
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
1803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA error callback */
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
1806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
1809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
1813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update SPI error code */
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
1831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable Rx DMA Request */
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
1834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error:
1836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with DMA.
1843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
1844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
1845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer
1846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param pRxData pointer to reception data buffer
1847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note When the CRC feature is enabled the pRxData Length must be Size + 1
1848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Size amount of data to be sent
1849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *p
1852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t Size)
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 34
1857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check rx & tx dma handles */
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx));
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
1861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Direction parameter */
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process locked */
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
1867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init temporary variables */
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_state = hspi->State;
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) ||
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_BUSY;
1876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U))
1880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
1887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the transaction information */
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init field not used in handle to zero */
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
1905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
1906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
1909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback *
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 35
1914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI Rx DMA Half transfer complete callback */
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
1918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
1920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI Tx/Rx DMA Half transfer complete callback */
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt;
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
1924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA error callback */
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
1928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
1931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
1935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update SPI error code */
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable Rx DMA Request */
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
1946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing
1948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** is performed in DMA reception complete callback */
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = NULL;
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
1953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
1957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Update SPI error code */
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
1961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if the SPI is already enabled */
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE)
1968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable SPI peripheral */
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 36
1971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR));
1974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable Tx DMA Request */
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
1977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** error :
1979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
1985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Abort ongoing transfer (blocking mode).
1986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi SPI handle.
1987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
1988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * started in Interrupt or DMA mode.
1989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * This procedure performs following operations :
1990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
1991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
1992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
1993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Set handle State to READY
1994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
1995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
1996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
1997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi)
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t resetcount;
2002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Initialized local variable */
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_OK;
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
2017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
2019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
2022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 37
2028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
2034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
2036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
2039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK)
2058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Tx DMA Request */
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN));
2064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set */
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
2067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
2069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
2072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
2075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 38
2085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK)
2090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable peripheral */
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
2096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Rx DMA Request */
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN));
2099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check error during Abort procedure */
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
2110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset errorCode */
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear the Error flags in the SR register */
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Restore hspi->state to ready */
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Abort ongoing transfer (Interrupt mode).
2128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi SPI handle.
2129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * started in Interrupt or DMA mode.
2131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * This procedure performs following operations :
2132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction)
2133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled)
2134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - Set handle State to READY
2136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * - At abort completion, call user abort complete callback
2137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * considered as completed only when user abort complete callback is executed (not when ex
2139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
2140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 39
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t abortcplt ;
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t resetcount;
2147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Initialized local variable */
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_OK;
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** abortcplt = 1U;
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE);
2156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Change Rx and Tx Irq Handler to Disable TXEIE, RXNEIE and ERRIE interrupts */
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE))
2159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR;
2161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
2163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
2165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
2168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE))
2176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR;
2178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
2180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
2182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
2185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
2188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
2190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks sho
2193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** before any call to DMA Abort functions */
2194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DMA Tx Handle is valid */
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled.
2198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Otherwise, set it to NULL */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 40
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback;
2202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DMA Rx Handle is valid */
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled.
2212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** Otherwise, set it to NULL */
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback;
2216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN))
2225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel */
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK)
2231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** abortcplt = 0U;
2238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN))
2243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel */
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK)
2249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** abortcplt = 0U;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 41
2256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (abortcplt == 1U)
2261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check error during Abort procedure */
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT)
2268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
2271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset errorCode */
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear the Error flags in the SR register */
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Restore hspi->State to Ready */
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* As no DMA to be aborted, call directly user Abort complete callback */
2285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
2287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
2289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Pause the DMA Transfer.
2297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI module.
2299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
2300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
2305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 42
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Resume the DMA Transfer.
2317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI module.
2319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
2320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_LOCK(hspi);
2325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable the SPI DMA Tx & Rx requests */
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Stop the DMA Transfer.
2337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI module.
2339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
2340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
2345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** to call the HAL SPI API under callbacks HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() o
2346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated
2347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and the correspond call back is executed HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback()
2348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA tx Stream/Channel */
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmatx))
2354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
2357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA rx Stream/Channel */
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmarx))
2363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
2366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 43
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle SPI interrupt request.
2377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified SPI module.
2379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
2385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI in mode Receiver ----------------------------------------------------*/
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) == RESET) &&
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
2389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR(hspi);
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI in mode Transmitter -------------------------------------------------*/
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_TXE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_TXE)
2396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR(hspi);
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI in Error Treatment --------------------------------------------------*/
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (((SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET) || (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) !=
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_ERR) != RESET))
2404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI Overrun error interrupt occurred ----------------------------------*/
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != RESET)
2407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_TX)
2409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET)
2422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
2425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 44
2427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/
2428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable all interrupts */
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_ERR);
2433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((HAL_IS_BIT_SET(itsource, SPI_CR2_TXDMAEN)) || (HAL_IS_BIT_SET(itsource, SPI_CR2_RXDMAEN)
2437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN));
2439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Rx channel */
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError;
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
2447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Abort the SPI DMA Tx channel */
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
2455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError;
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
2458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx Transfer completed callback.
2479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 45
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_TxCpltCallback should be implemented in the user file
2490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Rx Transfer completed callback.
2495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_RxCpltCallback should be implemented in the user file
2506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx and Rx Transfer completed callback.
2511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_TxRxCpltCallback should be implemented in the user file
2522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx Half Transfer completed callback.
2527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_TxHalfCpltCallback should be implemented in the user file
2538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 46
2541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Rx Half Transfer completed callback.
2543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file
2554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx and Rx Half Transfer callback.
2559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi)
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file
2570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief SPI error callback.
2575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
2580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_ErrorCallback should be implemented in the user file
2586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes
2588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and user can use HAL_SPI_GetError() API to check the latest error occurred
2589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief SPI Abort Complete callback.
2594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi SPI handle.
2595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 47
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** UNUSED(hspi);
2601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
2603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** the HAL_SPI_AbortCpltCallback can be implemented in the user file.
2604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
2609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
2612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief SPI control functions
2613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *
2614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @verbatim
2615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ===============================================================================
2616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ##### Peripheral State and Errors functions #####
2617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ===============================================================================
2618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** [..]
2619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** This subsection provides a set of functions allowing to control the SPI.
2620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral
2621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (+) HAL_SPI_GetError() check in run-time Errors occurring during communication
2622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** @endverbatim
2623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
2624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Return the SPI handle state.
2628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval SPI state
2631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi)
2633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return SPI handle state */
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return hspi->State;
2636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Return the SPI error code.
2640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
2641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
2642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval SPI error code in bitmap format
2643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi)
2645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return SPI ErrorCode */
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return hspi->ErrorCode;
2648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
2652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 48
2655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @}
2656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions
2659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Private functions
2660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @{
2661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI transmit process complete callback.
2665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma)
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
2673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
2676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DMA Normal Mode */
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
2679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable ERR interrupt */
2681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
2682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Tx DMA Request */
2684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
2685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
2688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
2690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received data is not read */
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
2694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
2696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 49
2712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Tx complete callback */
2713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
2715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
2717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI receive process complete callback.
2722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
2730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
2733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DMA Normal Mode */
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
2736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable ERR interrupt */
2738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
2739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* CRC handling */
2742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until RXNE flag */
2745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) !
2746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Error on the CRC reception */
2748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
2749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC */
2751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
2752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Rx/Tx DMA Request (done by default to handle the case master rx direction 2 lines) *
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
2760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
2762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 50
2769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
2770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
2772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
2773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
2775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
2777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
2782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
2798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
2800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
2802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI transmit receive process complete callback.
2807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma)
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
2815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
2818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* DMA Normal Mode */
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hdma->Instance->CCR & DMA_CCR_CIRC) != DMA_CCR_CIRC)
2821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable ERR interrupt */
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
2824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 51
2826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* CRC handling */
2827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
2828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait the CRC data */
2830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) !
2831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
2833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */
2835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
2836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
2841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
2843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Rx/Tx DMA Request */
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
2853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
2854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
2855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
2857:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
2858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
2860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2861:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
2862:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
2863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2864:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
2865:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
2867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2868:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
2870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
2872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2874:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
2880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2882:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user TxRx complete callback */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 52
2883:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2884:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
2885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
2887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2889:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2890:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2891:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI half transmit process complete callback.
2892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma)
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2899:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2900:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Tx half complete callback */
2901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxHalfCpltCallback(hspi);
2903:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxHalfCpltCallback(hspi);
2905:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2907:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2909:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI half receive process complete callback
2910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2911:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2912:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2914:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma)
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2918:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx half complete callback */
2919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2920:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxHalfCpltCallback(hspi);
2921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_RxHalfCpltCallback(hspi);
2923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2925:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2926:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI half transmit receive process complete callback.
2928:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2929:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2931:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2932:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma)
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user TxRx half complete callback */
2937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxHalfCpltCallback(hspi);
2939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 53
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxRxHalfCpltCallback(hspi);
2941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2944:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI communication error callback.
2946:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
2947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for the specified DMA module.
2948:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma)
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2953:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Stop the disable DMA transfer on SPI side */
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN);
2956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2961:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2964:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI communication abort callback, when initiated by HAL services on Error
2969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * (To be called at end of DMA Abort procedure following error occurrence).
2970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma DMA handle.
2971:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma)
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2978:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2979:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
2980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
2981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
2982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
2984:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2986:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2987:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
2988:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI Tx communication abort callback, when initiated by user
2989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
2990:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
2991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * Abort still ongoing for Rx DMA Handle.
2992:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma DMA handle.
2993:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
2994:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
2995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 54
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
2999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
3002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3003:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Tx DMA Request */
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN);
3005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set */
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
3008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
3010:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
3012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
3016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3017:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx != NULL)
3019:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmarx->XferAbortCallback != NULL)
3021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3022:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3025:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3030:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check no error during Abort procedure */
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset errorCode */
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear the Error flags in the SR register */
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3039:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Restore hspi->State to Ready */
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3042:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Abort complete callback */
3044:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3045:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3046:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3048:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3051:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3052:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief DMA SPI Rx communication abort callback, when initiated by user
3053:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 55
3054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3055:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * Abort still ongoing for Tx DMA Handle.
3056:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hdma DMA handle.
3057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3058:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
3062:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable SPI Peripheral */
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3065:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
3067:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable Rx DMA Request */
3069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN);
3070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check Busy flag */
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
3073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
3075:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3076:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3077:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx != NULL)
3079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->hdmatx->XferAbortCallback != NULL)
3081:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3083:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3084:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3085:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3090:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check no error during Abort procedure */
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT)
3092:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3093:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset errorCode */
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3097:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear the Error flags in the SR register */
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3099:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3100:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Restore hspi->State to Ready */
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Abort complete callback */
3104:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3105:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3108:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3110:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 56
3111:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3112:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3113:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3115:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3116:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3117:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3119:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 8bit mode */
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *hspi->pRxBuffPtr = *((__IO uint8_t *)&hspi->Instance->DR);
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
3123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check end of the reception */
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3130:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BITCRC;
3131:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3132:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3133:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3134:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3135:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3137:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3139:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3141:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode.
3148:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3153:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read 8bit CRC to flush Data Regsiter */
3155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(*(__IO uint8_t *)&hspi->Instance->DR);
3156:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3159:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3161:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 57
3168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx 8-bit handler for Transmit and Receive in Interrupt mode.
3169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3171:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3173:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
3178:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transmission */
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3182:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3185:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE interrupt */
3188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE interrupt */
3194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3200:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3202:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3203:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3204:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode.
3205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3206:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3207:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 16 Bit mode */
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
3215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3218:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BITCRC;
3222:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 58
3225:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE interrupt */
3227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3235:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3236:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3238:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive for Transmit and Receive in Interrupt mode.
3239:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3240:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3241:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3243:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read 16bit CRC to flush Data Regsiter */
3246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
3247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE interrupt */
3249:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE);
3250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3253:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3255:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3256:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode.
3257:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3258:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3259:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3261:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
3267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3272:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */
3275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3276:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE interrupt */
3277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3278:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3280:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3281:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 59
3282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE interrupt */
3283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE);
3284:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3286:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi);
3288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3294:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Manage the CRC 8-bit receive in Interrupt context.
3295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3296:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3298:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi)
3300:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3301:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */
3302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(*(__IO uint8_t *)&hspi->Instance->DR);
3303:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3305:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3306:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3308:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3309:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Manage the receive 8-bit in Interrupt context.
3310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3311:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3314:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
3319:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3320:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3321:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
3322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3323:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3325:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3326:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRCNEXT is well reseted by hardware */
3327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (READ_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT))
3328:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3329:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Workaround to force CRCNEXT bit to zero in case of CRCNEXT is not reset automatically by har
3330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3331:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3334:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3337:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 60
3339:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BITCRC;
3341:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive in Interrupt context.
3351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi)
3356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */
3358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
3359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
3361:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3363:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3367:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3368:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Manage the 16-bit receive in Interrupt context.
3369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
3376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
3378:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3380:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
3381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE))
3382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRCNEXT is well reseted by hardware */
3386:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (READ_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT))
3387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Workaround to force CRCNEXT bit to zero in case of CRCNEXT is not reset automatically by har
3389:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->RxXferCount == 0U)
3395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 61
3396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BITCRC;
3400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
3401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseRx_ISR(hspi);
3404:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the data 8-bit transmit in Interrupt mode.
3409:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3412:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3413:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi)
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
3418:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3420:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3422:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
3425:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3426:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the data 16-bit transmit in Interrupt mode.
3434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3435:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3437:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi)
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr);
3442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
3444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->TxXferCount == 0U)
3446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3447:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3449:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Enable CRC Transmission */
3451:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT);
3452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 62
3453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_CloseTx_ISR(hspi);
3455:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle SPI Communication Timeout.
3460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3461:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3462:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Flag SPI flag to check
3463:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param State flag state to check
3464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
3465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Tickstart tick start value
3466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
3467:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag
3469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
3470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
3472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY)
3474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (((HAL_GetTick() - Tickstart) >= Timeout) || (Timeout == 0U))
3476:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3477:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared
3478:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master
3479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** and slave for their respective CRC calculation */
3480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR));
3483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
3485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
3486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable SPI peripheral */
3488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3490:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3493:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
3495:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3496:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3499:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
3500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
3501:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
3503:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3505:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3506:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3509:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 63
3510:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3511:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the check of the RX transaction complete.
3512:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3513:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3514:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
3515:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Tickstart tick start value
3516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
3517:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
3521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
3522:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable SPI peripheral */
3524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3525:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY)
3528:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3529:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait the RXNE reset */
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, RESET, Timeout, Tickstart) != HAL_OK)
3531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
3534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3535:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3536:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3537:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3538:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Control the BSY flag */
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
3540:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
3543:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3544:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
3546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3549:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the check of the RXTX or TX transaction complete.
3550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi SPI handle
3551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Timeout Timeout duration
3552:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param Tickstart tick start value
3553:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval HAL status
3554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t
3556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Control the BSY flag */
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK)
3559:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
3562:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_OK;
3564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3565:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 64
3567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the end of the RXTX transaction.
3568:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3570:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3572:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi)
3573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
3576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3577:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout managment*/
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
3579:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable ERR interrupt */
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR);
3582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set */
3584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
3585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
3587:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
3593:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3594:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3599:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
3602:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3604:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3606:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3607:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
3608:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
3609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3610:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
3611:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
3612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3613:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3614:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3616:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
3617:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
3618:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3619:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
3620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3623:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 65
3624:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3625:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3626:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3627:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3628:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3629:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3630:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3631:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3632:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
3635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
3637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3639:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
3640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3641:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3642:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3644:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3646:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3649:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user TxRx complete callback */
3650:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
3652:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
3654:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3655:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3656:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3657:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
3661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3663:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3673:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the end of the RX transaction.
3674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3676:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3677:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi)
3679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3680:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 66
3681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR));
3682:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3683:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK)
3685:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3688:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
3691:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3696:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3697:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error occurred */
3698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET)
3699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3700:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check if CRC error is valid or not (workaround to be applied or not) */
3701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_ISCRCErrorValid(hspi) == SPI_VALID_CRC_ERROR)
3702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3704:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset CRC Calculation */
3706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_RESET_CRC(hspi);
3707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3708:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
3709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3711:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3712:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3714:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3715:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3719:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3721:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3722:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE)
3724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
3726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3730:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3731:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3733:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3734:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
3735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3736:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3737:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 67
3738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3741:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3742:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3746:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle the end of the TX transaction.
3748:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3749:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3751:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3752:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi)
3753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
3756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Init tickstart for timeout management*/
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tickstart = HAL_GetTick();
3759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3760:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set */
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
3762:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
3764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
3770:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3771:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXE and ERR interrupt */
3772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR));
3773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the end of the transaction */
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK)
3776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
3778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES)
3782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3788:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
3790:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3791:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 68
3795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3796:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** else
3797:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3798:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
3799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U)
3800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
3801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #else
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
3803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3806:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle abort a Rx transaction.
3809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi)
3814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
27 .loc 1 3814 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 8
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .loc 1 3814 1 is_stmt 0 view .LVU1
33 0000 82B0 sub sp, sp, #8
34 .LCFI0:
35 .cfi_def_cfa_offset 8
3815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
36 .loc 1 3815 3 is_stmt 1 view .LVU2
37 .loc 1 3815 70 is_stmt 0 view .LVU3
38 0002 154B ldr r3, .L7
39 0004 1B68 ldr r3, [r3]
40 0006 154A ldr r2, .L7+4
41 0008 A2FB0323 umull r2, r3, r2, r3
42 000c 5B0A lsrs r3, r3, #9
43 .loc 1 3815 45 view .LVU4
44 000e 6422 movs r2, #100
45 0010 02FB03F3 mul r3, r2, r3
46 .loc 1 3815 17 view .LVU5
47 0014 0193 str r3, [sp, #4]
48 .L4:
3816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait until TXE flag is set */
3818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** do
49 .loc 1 3818 3 is_stmt 1 view .LVU6
3819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (count == 0U)
50 .loc 1 3820 5 view .LVU7
51 .loc 1 3820 15 is_stmt 0 view .LVU8
52 0016 019B ldr r3, [sp, #4]
53 .loc 1 3820 8 view .LVU9
54 0018 43B1 cbz r3, .L6
3821:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
3823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 69
3824:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3825:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count--;
55 .loc 1 3825 5 is_stmt 1 view .LVU10
56 .loc 1 3825 10 is_stmt 0 view .LVU11
57 001a 019B ldr r3, [sp, #4]
58 001c 013B subs r3, r3, #1
59 001e 0193 str r3, [sp, #4]
3826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
60 .loc 1 3826 17 view .LVU12
61 0020 0368 ldr r3, [r0]
62 .loc 1 3826 27 view .LVU13
63 0022 9B68 ldr r3, [r3, #8]
64 .loc 1 3826 3 view .LVU14
65 0024 13F0020F tst r3, #2
66 0028 F5D0 beq .L4
67 002a 03E0 b .L3
68 .L6:
3822:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
69 .loc 1 3822 7 is_stmt 1 view .LVU15
70 002c 436D ldr r3, [r0, #84]
71 002e 43F04003 orr r3, r3, #64
72 0032 4365 str r3, [r0, #84]
3823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
73 .loc 1 3823 7 view .LVU16
74 .L3:
3827:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable SPI Peripheral */
3829:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
75 .loc 1 3829 3 view .LVU17
76 0034 0268 ldr r2, [r0]
77 0036 1368 ldr r3, [r2]
78 0038 23F04003 bic r3, r3, #64
79 003c 1360 str r3, [r2]
3830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */
3832:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE | SPI_CR2_RXNEIE | SPI_CR2_ERRIE));
80 .loc 1 3832 3 view .LVU18
81 003e 0268 ldr r2, [r0]
82 0040 5368 ldr r3, [r2, #4]
83 0042 23F0E003 bic r3, r3, #224
84 0046 5360 str r3, [r2, #4]
3833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3834:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Read CRC to flush Data Register */
3835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** READ_REG(hspi->Instance->DR);
85 .loc 1 3835 3 view .LVU19
86 0048 0368 ldr r3, [r0]
87 004a DB68 ldr r3, [r3, #12]
3836:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
88 .loc 1 3837 3 view .LVU20
89 .loc 1 3837 15 is_stmt 0 view .LVU21
90 004c 0723 movs r3, #7
91 004e 80F85130 strb r3, [r0, #81]
3838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
92 .loc 1 3838 1 view .LVU22
93 0052 02B0 add sp, sp, #8
94 .LCFI1:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 70
95 .cfi_def_cfa_offset 0
96 @ sp needed
97 0054 7047 bx lr
98 .L8:
99 0056 00BF .align 2
100 .L7:
101 0058 00000000 .word SystemCoreClock
102 005c F1197605 .word 91625969
103 .cfi_endproc
104 .LFE118:
106 .section .text.SPI_AbortTx_ISR,"ax",%progbits
107 .align 1
108 .syntax unified
109 .thumb
110 .thumb_func
111 .fpu softvfp
113 SPI_AbortTx_ISR:
114 .LVL1:
115 .LFB119:
3839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /**
3841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @brief Handle abort a Tx or Rx/Tx transaction.
3842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains
3843:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * the configuration information for SPI module.
3844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** * @retval None
3845:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** */
3846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi)
3847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
116 .loc 1 3847 1 is_stmt 1 view -0
117 .cfi_startproc
118 @ args = 0, pretend = 0, frame = 0
119 @ frame_needed = 0, uses_anonymous_args = 0
120 @ link register save eliminated.
3848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable TXEIE interrupt */
3849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE));
121 .loc 1 3849 3 view .LVU24
122 0000 0268 ldr r2, [r0]
123 0002 5368 ldr r3, [r2, #4]
124 0004 23F08003 bic r3, r3, #128
125 0008 5360 str r3, [r2, #4]
3850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable SPI Peripheral */
3852:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
126 .loc 1 3852 3 view .LVU25
127 000a 0268 ldr r2, [r0]
128 000c 1368 ldr r3, [r2]
129 000e 23F04003 bic r3, r3, #64
130 0012 1360 str r3, [r2]
3853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
131 .loc 1 3854 3 view .LVU26
132 .loc 1 3854 15 is_stmt 0 view .LVU27
133 0014 0723 movs r3, #7
134 0016 80F85130 strb r3, [r0, #81]
3855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
135 .loc 1 3855 1 view .LVU28
136 001a 7047 bx lr
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 71
137 .cfi_endproc
138 .LFE119:
140 .section .text.SPI_WaitFlagStateUntilTimeout,"ax",%progbits
141 .align 1
142 .syntax unified
143 .thumb
144 .thumb_func
145 .fpu softvfp
147 SPI_WaitFlagStateUntilTimeout:
148 .LVL2:
149 .LFB112:
3470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
150 .loc 1 3470 1 is_stmt 1 view -0
151 .cfi_startproc
152 @ args = 4, pretend = 0, frame = 0
153 @ frame_needed = 0, uses_anonymous_args = 0
3470:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State)
154 .loc 1 3470 1 is_stmt 0 view .LVU30
155 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
156 .LCFI2:
157 .cfi_def_cfa_offset 24
158 .cfi_offset 3, -24
159 .cfi_offset 4, -20
160 .cfi_offset 5, -16
161 .cfi_offset 6, -12
162 .cfi_offset 7, -8
163 .cfi_offset 14, -4
164 0002 0546 mov r5, r0
165 0004 0F46 mov r7, r1
166 0006 1646 mov r6, r2
167 0008 1C46 mov r4, r3
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
168 .loc 1 3471 3 is_stmt 1 view .LVU31
169 .LVL3:
170 .L12:
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
171 .loc 1 3471 11 is_stmt 0 view .LVU32
172 000a 2B68 ldr r3, [r5]
173 000c 9B68 ldr r3, [r3, #8]
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
174 .loc 1 3471 48 view .LVU33
175 000e 37EA0303 bics r3, r7, r3
176 0012 0CBF ite eq
177 0014 0123 moveq r3, #1
178 0016 0023 movne r3, #0
3471:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
179 .loc 1 3471 9 view .LVU34
180 0018 B342 cmp r3, r6
181 001a 37D0 beq .L20
3473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
182 .loc 1 3473 5 is_stmt 1 view .LVU35
3473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
183 .loc 1 3473 8 is_stmt 0 view .LVU36
184 001c B4F1FF3F cmp r4, #-1
185 0020 F3D0 beq .L12
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
186 .loc 1 3475 7 is_stmt 1 view .LVU37
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 72
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
187 .loc 1 3475 13 is_stmt 0 view .LVU38
188 0022 FFF7FEFF bl HAL_GetTick
189 .LVL4:
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
190 .loc 1 3475 27 view .LVU39
191 0026 069B ldr r3, [sp, #24]
192 0028 C01A subs r0, r0, r3
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
193 .loc 1 3475 10 view .LVU40
194 002a A042 cmp r0, r4
195 002c 01D2 bcs .L13
3475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
196 .loc 1 3475 52 discriminator 1 view .LVU41
197 002e 002C cmp r4, #0
198 0030 EBD1 bne .L12
199 .L13:
3482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
200 .loc 1 3482 9 is_stmt 1 view .LVU42
201 0032 2A68 ldr r2, [r5]
202 0034 5368 ldr r3, [r2, #4]
203 0036 23F0E003 bic r3, r3, #224
204 003a 5360 str r3, [r2, #4]
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
205 .loc 1 3484 9 view .LVU43
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
206 .loc 1 3484 24 is_stmt 0 view .LVU44
207 003c 6B68 ldr r3, [r5, #4]
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
208 .loc 1 3484 12 view .LVU45
209 003e B3F5827F cmp r3, #260
210 0042 0BD0 beq .L21
211 .L14:
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
212 .loc 1 3492 9 is_stmt 1 view .LVU46
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
213 .loc 1 3492 23 is_stmt 0 view .LVU47
214 0044 AB6A ldr r3, [r5, #40]
3492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
215 .loc 1 3492 12 view .LVU48
216 0046 B3F5005F cmp r3, #8192
217 004a 14D0 beq .L22
218 .L16:
3497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
219 .loc 1 3497 9 is_stmt 1 view .LVU49
3497:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
220 .loc 1 3497 21 is_stmt 0 view .LVU50
221 004c 0123 movs r3, #1
222 004e 85F85130 strb r3, [r5, #81]
3500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
223 .loc 1 3500 9 is_stmt 1 view .LVU51
3500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
224 .loc 1 3500 9 view .LVU52
225 0052 0023 movs r3, #0
226 0054 85F85030 strb r3, [r5, #80]
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
227 .loc 1 3502 9 view .LVU53
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 73
3502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
228 .loc 1 3502 16 is_stmt 0 view .LVU54
229 0058 0320 movs r0, #3
230 005a 18E0 b .L17
231 .L21:
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
232 .loc 1 3484 65 discriminator 1 view .LVU55
233 005c AB68 ldr r3, [r5, #8]
3484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN
234 .loc 1 3484 50 discriminator 1 view .LVU56
235 005e B3F5004F cmp r3, #32768
236 0062 02D0 beq .L15
3485:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
237 .loc 1 3485 54 view .LVU57
238 0064 B3F5806F cmp r3, #1024
239 0068 ECD1 bne .L14
240 .L15:
3488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
241 .loc 1 3488 11 is_stmt 1 view .LVU58
242 006a 2A68 ldr r2, [r5]
243 006c 1368 ldr r3, [r2]
244 006e 23F04003 bic r3, r3, #64
245 0072 1360 str r3, [r2]
246 0074 E6E7 b .L14
247 .L22:
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
248 .loc 1 3494 11 view .LVU59
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
249 .loc 1 3494 11 view .LVU60
250 0076 2A68 ldr r2, [r5]
251 0078 1368 ldr r3, [r2]
252 007a 23F40053 bic r3, r3, #8192
253 007e 1360 str r3, [r2]
3494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
254 .loc 1 3494 11 view .LVU61
255 0080 2A68 ldr r2, [r5]
256 0082 1368 ldr r3, [r2]
257 0084 43F40053 orr r3, r3, #8192
258 0088 1360 str r3, [r2]
259 008a DFE7 b .L16
260 .L20:
3507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
261 .loc 1 3507 10 is_stmt 0 view .LVU62
262 008c 0020 movs r0, #0
263 .L17:
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
264 .loc 1 3508 1 view .LVU63
265 008e F8BD pop {r3, r4, r5, r6, r7, pc}
3508:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
266 .loc 1 3508 1 view .LVU64
267 .cfi_endproc
268 .LFE112:
270 .section .text.SPI_EndRxTxTransaction,"ax",%progbits
271 .align 1
272 .syntax unified
273 .thumb
274 .thumb_func
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 74
275 .fpu softvfp
277 SPI_EndRxTxTransaction:
278 .LVL5:
279 .LFB114:
3556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Control the BSY flag */
280 .loc 1 3556 1 is_stmt 1 view -0
281 .cfi_startproc
282 @ args = 0, pretend = 0, frame = 0
283 @ frame_needed = 0, uses_anonymous_args = 0
3556:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Control the BSY flag */
284 .loc 1 3556 1 is_stmt 0 view .LVU66
285 0000 10B5 push {r4, lr}
286 .LCFI3:
287 .cfi_def_cfa_offset 8
288 .cfi_offset 4, -8
289 .cfi_offset 14, -4
290 0002 82B0 sub sp, sp, #8
291 .LCFI4:
292 .cfi_def_cfa_offset 16
293 0004 0446 mov r4, r0
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
294 .loc 1 3558 3 is_stmt 1 view .LVU67
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
295 .loc 1 3558 7 is_stmt 0 view .LVU68
296 0006 0092 str r2, [sp]
297 0008 0B46 mov r3, r1
298 000a 0022 movs r2, #0
299 .LVL6:
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
300 .loc 1 3558 7 view .LVU69
301 000c 8021 movs r1, #128
302 .LVL7:
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
303 .loc 1 3558 7 view .LVU70
304 000e FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
305 .LVL8:
3558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
306 .loc 1 3558 6 view .LVU71
307 0012 0346 mov r3, r0
308 0014 10B9 cbnz r0, .L26
309 .L24:
3564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
310 .loc 1 3564 1 view .LVU72
311 0016 1846 mov r0, r3
312 0018 02B0 add sp, sp, #8
313 .LCFI5:
314 .cfi_remember_state
315 .cfi_def_cfa_offset 8
316 @ sp needed
317 001a 10BD pop {r4, pc}
318 .LVL9:
319 .L26:
320 .LCFI6:
321 .cfi_restore_state
3560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
322 .loc 1 3560 5 is_stmt 1 view .LVU73
323 001c 636D ldr r3, [r4, #84]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 75
324 001e 43F02003 orr r3, r3, #32
325 0022 6365 str r3, [r4, #84]
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
326 .loc 1 3561 5 view .LVU74
3561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
327 .loc 1 3561 12 is_stmt 0 view .LVU75
328 0024 0323 movs r3, #3
329 0026 F6E7 b .L24
330 .cfi_endproc
331 .LFE114:
333 .section .text.SPI_EndRxTransaction,"ax",%progbits
334 .align 1
335 .syntax unified
336 .thumb
337 .thumb_func
338 .fpu softvfp
340 SPI_EndRxTransaction:
341 .LVL10:
342 .LFB113:
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
343 .loc 1 3519 1 is_stmt 1 view -0
344 .cfi_startproc
345 @ args = 0, pretend = 0, frame = 0
346 @ frame_needed = 0, uses_anonymous_args = 0
3519:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE)
347 .loc 1 3519 1 is_stmt 0 view .LVU77
348 0000 10B5 push {r4, lr}
349 .LCFI7:
350 .cfi_def_cfa_offset 8
351 .cfi_offset 4, -8
352 .cfi_offset 14, -4
353 0002 82B0 sub sp, sp, #8
354 .LCFI8:
355 .cfi_def_cfa_offset 16
356 0004 0446 mov r4, r0
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
357 .loc 1 3520 3 is_stmt 1 view .LVU78
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
358 .loc 1 3520 18 is_stmt 0 view .LVU79
359 0006 4068 ldr r0, [r0, #4]
360 .LVL11:
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
361 .loc 1 3520 6 view .LVU80
362 0008 B0F5827F cmp r0, #260
363 000c 13D0 beq .L33
364 .L28:
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
365 .loc 1 3527 3 is_stmt 1 view .LVU81
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
366 .loc 1 3527 18 is_stmt 0 view .LVU82
367 000e 6068 ldr r0, [r4, #4]
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
368 .loc 1 3527 6 view .LVU83
369 0010 B0F5827F cmp r0, #260
370 0014 03D1 bne .L30
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
371 .loc 1 3527 58 discriminator 1 view .LVU84
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 76
372 0016 A368 ldr r3, [r4, #8]
3527:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
373 .loc 1 3527 44 discriminator 1 view .LVU85
374 0018 B3F5806F cmp r3, #1024
375 001c 18D0 beq .L34
376 .L30:
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
377 .loc 1 3539 5 is_stmt 1 view .LVU86
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
378 .loc 1 3539 9 is_stmt 0 view .LVU87
379 001e 0092 str r2, [sp]
380 0020 0B46 mov r3, r1
381 0022 0022 movs r2, #0
382 .LVL12:
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
383 .loc 1 3539 9 view .LVU88
384 0024 8021 movs r1, #128
385 .LVL13:
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
386 .loc 1 3539 9 view .LVU89
387 0026 2046 mov r0, r4
388 0028 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
389 .LVL14:
3539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
390 .loc 1 3539 8 view .LVU90
391 002c 0346 mov r3, r0
392 002e F8B9 cbnz r0, .L35
393 .L31:
3546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
394 .loc 1 3546 1 view .LVU91
395 0030 1846 mov r0, r3
396 0032 02B0 add sp, sp, #8
397 .LCFI9:
398 .cfi_remember_state
399 .cfi_def_cfa_offset 8
400 @ sp needed
401 0034 10BD pop {r4, pc}
402 .LVL15:
403 .L33:
404 .LCFI10:
405 .cfi_restore_state
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
406 .loc 1 3520 59 discriminator 1 view .LVU92
407 0036 A368 ldr r3, [r4, #8]
3520:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO
408 .loc 1 3520 44 discriminator 1 view .LVU93
409 0038 B3F5004F cmp r3, #32768
410 003c 02D0 beq .L29
3521:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
411 .loc 1 3521 48 view .LVU94
412 003e B3F5806F cmp r3, #1024
413 0042 E4D1 bne .L28
414 .L29:
3524:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
415 .loc 1 3524 5 is_stmt 1 view .LVU95
416 0044 2068 ldr r0, [r4]
417 0046 0368 ldr r3, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 77
418 0048 23F04003 bic r3, r3, #64
419 004c 0360 str r3, [r0]
420 004e DEE7 b .L28
421 .L34:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
422 .loc 1 3530 5 view .LVU96
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
423 .loc 1 3530 9 is_stmt 0 view .LVU97
424 0050 0092 str r2, [sp]
425 0052 0B46 mov r3, r1
426 0054 0022 movs r2, #0
427 .LVL16:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
428 .loc 1 3530 9 view .LVU98
429 0056 0121 movs r1, #1
430 .LVL17:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
431 .loc 1 3530 9 view .LVU99
432 0058 2046 mov r0, r4
433 005a FFF7FEFF bl SPI_WaitFlagStateUntilTimeout
434 .LVL18:
3530:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
435 .loc 1 3530 8 view .LVU100
436 005e 0346 mov r3, r0
437 0060 0028 cmp r0, #0
438 0062 E5D0 beq .L31
3532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
439 .loc 1 3532 7 is_stmt 1 view .LVU101
440 0064 636D ldr r3, [r4, #84]
441 0066 43F02003 orr r3, r3, #32
442 006a 6365 str r3, [r4, #84]
3533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
443 .loc 1 3533 7 view .LVU102
3533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
444 .loc 1 3533 14 is_stmt 0 view .LVU103
445 006c 0323 movs r3, #3
446 006e DFE7 b .L31
447 .L35:
3541:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return HAL_TIMEOUT;
448 .loc 1 3541 7 is_stmt 1 view .LVU104
449 0070 636D ldr r3, [r4, #84]
450 0072 43F02003 orr r3, r3, #32
451 0076 6365 str r3, [r4, #84]
3542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
452 .loc 1 3542 7 view .LVU105
3542:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
453 .loc 1 3542 14 is_stmt 0 view .LVU106
454 0078 0323 movs r3, #3
455 007a D9E7 b .L31
456 .cfi_endproc
457 .LFE113:
459 .section .text.HAL_SPI_MspInit,"ax",%progbits
460 .align 1
461 .weak HAL_SPI_MspInit
462 .syntax unified
463 .thumb
464 .thumb_func
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 78
465 .fpu softvfp
467 HAL_SPI_MspInit:
468 .LVL19:
469 .LFB67:
484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
470 .loc 1 484 1 is_stmt 1 view -0
471 .cfi_startproc
472 @ args = 0, pretend = 0, frame = 0
473 @ frame_needed = 0, uses_anonymous_args = 0
474 @ link register save eliminated.
486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
475 .loc 1 486 3 view .LVU108
491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
476 .loc 1 491 1 is_stmt 0 view .LVU109
477 0000 7047 bx lr
478 .cfi_endproc
479 .LFE67:
481 .section .text.HAL_SPI_Init,"ax",%progbits
482 .align 1
483 .global HAL_SPI_Init
484 .syntax unified
485 .thumb
486 .thumb_func
487 .fpu softvfp
489 HAL_SPI_Init:
490 .LVL20:
491 .LFB65:
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
492 .loc 1 336 1 is_stmt 1 view -0
493 .cfi_startproc
494 @ args = 0, pretend = 0, frame = 0
495 @ frame_needed = 0, uses_anonymous_args = 0
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
496 .loc 1 338 3 view .LVU111
338:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
497 .loc 1 338 6 is_stmt 0 view .LVU112
498 0000 0028 cmp r0, #0
499 0002 39D0 beq .L40
336:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
500 .loc 1 336 1 view .LVU113
501 0004 10B5 push {r4, lr}
502 .LCFI11:
503 .cfi_def_cfa_offset 8
504 .cfi_offset 4, -8
505 .cfi_offset 14, -4
506 0006 0446 mov r4, r0
344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
507 .loc 1 344 3 is_stmt 1 view .LVU114
345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
508 .loc 1 345 3 view .LVU115
346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
509 .loc 1 346 3 view .LVU116
347:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
510 .loc 1 347 3 view .LVU117
348:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
511 .loc 1 348 3 view .LVU118
349:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 79
512 .loc 1 349 3 view .LVU119
350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* TI mode is not supported on this device.
513 .loc 1 350 3 view .LVU120
353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
514 .loc 1 353 3 view .LVU121
354:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
515 .loc 1 354 3 view .LVU122
356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
516 .loc 1 356 5 view .LVU123
357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
517 .loc 1 357 5 view .LVU124
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
518 .loc 1 366 3 view .LVU125
366:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_SPI_CRC */
519 .loc 1 366 29 is_stmt 0 view .LVU126
520 0008 0023 movs r3, #0
521 000a 8362 str r3, [r0, #40]
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
522 .loc 1 369 3 is_stmt 1 view .LVU127
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
523 .loc 1 369 11 is_stmt 0 view .LVU128
524 000c 90F85130 ldrb r3, [r0, #81] @ zero_extendqisi2
369:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
525 .loc 1 369 6 view .LVU129
526 0010 002B cmp r3, #0
527 0012 2CD0 beq .L45
528 .LVL21:
529 .L39:
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
530 .loc 1 398 3 is_stmt 1 view .LVU130
398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
531 .loc 1 398 15 is_stmt 0 view .LVU131
532 0014 0223 movs r3, #2
533 0016 84F85130 strb r3, [r4, #81]
401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
534 .loc 1 401 3 is_stmt 1 view .LVU132
535 001a 2268 ldr r2, [r4]
536 001c 1368 ldr r3, [r2]
537 001e 23F04003 bic r3, r3, #64
538 0022 1360 str r3, [r2]
406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->Init.CLKPolarity | hspi->Init.CLKPhase | (hspi->Init.NSS &
539 .loc 1 406 3 view .LVU133
540 0024 6368 ldr r3, [r4, #4]
541 0026 A268 ldr r2, [r4, #8]
542 0028 1343 orrs r3, r3, r2
543 002a E268 ldr r2, [r4, #12]
544 002c 1343 orrs r3, r3, r2
545 002e 2269 ldr r2, [r4, #16]
546 0030 1343 orrs r3, r3, r2
547 0032 6269 ldr r2, [r4, #20]
548 0034 1343 orrs r3, r3, r2
549 0036 A269 ldr r2, [r4, #24]
550 0038 02F40072 and r2, r2, #512
551 003c 1343 orrs r3, r3, r2
552 003e E269 ldr r2, [r4, #28]
553 0040 1343 orrs r3, r3, r2
554 0042 226A ldr r2, [r4, #32]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 80
555 0044 1343 orrs r3, r3, r2
556 0046 A16A ldr r1, [r4, #40]
557 0048 2268 ldr r2, [r4]
558 004a 0B43 orrs r3, r3, r1
559 004c 1360 str r3, [r2]
411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
560 .loc 1 411 3 view .LVU134
561 004e 638B ldrh r3, [r4, #26]
562 0050 2268 ldr r2, [r4]
563 0052 03F00403 and r3, r3, #4
564 0056 5360 str r3, [r2, #4]
424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
565 .loc 1 424 3 view .LVU135
566 0058 2268 ldr r2, [r4]
567 005a D369 ldr r3, [r2, #28]
568 005c 23F40063 bic r3, r3, #2048
569 0060 D361 str r3, [r2, #28]
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
570 .loc 1 427 3 view .LVU136
427:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
571 .loc 1 427 19 is_stmt 0 view .LVU137
572 0062 0020 movs r0, #0
573 0064 6065 str r0, [r4, #84]
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
574 .loc 1 428 3 is_stmt 1 view .LVU138
428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
575 .loc 1 428 19 is_stmt 0 view .LVU139
576 0066 0123 movs r3, #1
577 0068 84F85130 strb r3, [r4, #81]
430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
578 .loc 1 430 3 is_stmt 1 view .LVU140
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
579 .loc 1 431 1 is_stmt 0 view .LVU141
580 006c 10BD pop {r4, pc}
581 .LVL22:
582 .L45:
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
583 .loc 1 372 5 is_stmt 1 view .LVU142
372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
584 .loc 1 372 16 is_stmt 0 view .LVU143
585 006e 80F85030 strb r3, [r0, #80]
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
586 .loc 1 394 5 is_stmt 1 view .LVU144
587 0072 FFF7FEFF bl HAL_SPI_MspInit
588 .LVL23:
394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
589 .loc 1 394 5 is_stmt 0 view .LVU145
590 0076 CDE7 b .L39
591 .LVL24:
592 .L40:
593 .LCFI12:
594 .cfi_def_cfa_offset 0
595 .cfi_restore 4
596 .cfi_restore 14
340:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
597 .loc 1 340 12 view .LVU146
598 0078 0120 movs r0, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 81
599 .LVL25:
431:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
600 .loc 1 431 1 view .LVU147
601 007a 7047 bx lr
602 .cfi_endproc
603 .LFE65:
605 .section .text.HAL_SPI_MspDeInit,"ax",%progbits
606 .align 1
607 .weak HAL_SPI_MspDeInit
608 .syntax unified
609 .thumb
610 .thumb_func
611 .fpu softvfp
613 HAL_SPI_MspDeInit:
614 .LVL26:
615 .LFB68:
500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
616 .loc 1 500 1 is_stmt 1 view -0
617 .cfi_startproc
618 @ args = 0, pretend = 0, frame = 0
619 @ frame_needed = 0, uses_anonymous_args = 0
620 @ link register save eliminated.
502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
621 .loc 1 502 3 view .LVU149
507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
622 .loc 1 507 1 is_stmt 0 view .LVU150
623 0000 7047 bx lr
624 .cfi_endproc
625 .LFE68:
627 .section .text.HAL_SPI_DeInit,"ax",%progbits
628 .align 1
629 .global HAL_SPI_DeInit
630 .syntax unified
631 .thumb
632 .thumb_func
633 .fpu softvfp
635 HAL_SPI_DeInit:
636 .LVL27:
637 .LFB66:
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
638 .loc 1 440 1 is_stmt 1 view -0
639 .cfi_startproc
640 @ args = 0, pretend = 0, frame = 0
641 @ frame_needed = 0, uses_anonymous_args = 0
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
642 .loc 1 442 3 view .LVU152
442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
643 .loc 1 442 6 is_stmt 0 view .LVU153
644 0000 90B1 cbz r0, .L49
440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Check the SPI handle allocation */
645 .loc 1 440 1 view .LVU154
646 0002 10B5 push {r4, lr}
647 .LCFI13:
648 .cfi_def_cfa_offset 8
649 .cfi_offset 4, -8
650 .cfi_offset 14, -4
651 0004 0446 mov r4, r0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 82
448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
652 .loc 1 448 3 is_stmt 1 view .LVU155
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
653 .loc 1 450 3 view .LVU156
450:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
654 .loc 1 450 15 is_stmt 0 view .LVU157
655 0006 0223 movs r3, #2
656 0008 80F85130 strb r3, [r0, #81]
453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
657 .loc 1 453 3 is_stmt 1 view .LVU158
658 000c 0268 ldr r2, [r0]
659 000e 1368 ldr r3, [r2]
660 0010 23F04003 bic r3, r3, #64
661 0014 1360 str r3, [r2]
465:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
662 .loc 1 465 3 view .LVU159
663 0016 FFF7FEFF bl HAL_SPI_MspDeInit
664 .LVL28:
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
665 .loc 1 468 3 view .LVU160
468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
666 .loc 1 468 19 is_stmt 0 view .LVU161
667 001a 0020 movs r0, #0
668 001c 6065 str r0, [r4, #84]
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
669 .loc 1 469 3 is_stmt 1 view .LVU162
469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
670 .loc 1 469 15 is_stmt 0 view .LVU163
671 001e 84F85100 strb r0, [r4, #81]
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
672 .loc 1 472 3 is_stmt 1 view .LVU164
472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
673 .loc 1 472 3 view .LVU165
674 0022 84F85000 strb r0, [r4, #80]
474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
675 .loc 1 474 3 view .LVU166
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
676 .loc 1 475 1 is_stmt 0 view .LVU167
677 0026 10BD pop {r4, pc}
678 .LVL29:
679 .L49:
680 .LCFI14:
681 .cfi_def_cfa_offset 0
682 .cfi_restore 4
683 .cfi_restore 14
444:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
684 .loc 1 444 12 view .LVU168
685 0028 0120 movs r0, #1
686 .LVL30:
475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
687 .loc 1 475 1 view .LVU169
688 002a 7047 bx lr
689 .cfi_endproc
690 .LFE66:
692 .section .text.HAL_SPI_Transmit,"ax",%progbits
693 .align 1
694 .global HAL_SPI_Transmit
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 83
695 .syntax unified
696 .thumb
697 .thumb_func
698 .fpu softvfp
700 HAL_SPI_Transmit:
701 .LVL31:
702 .LFB69:
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
703 .loc 1 772 1 is_stmt 1 view -0
704 .cfi_startproc
705 @ args = 0, pretend = 0, frame = 8
706 @ frame_needed = 0, uses_anonymous_args = 0
772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
707 .loc 1 772 1 is_stmt 0 view .LVU171
708 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
709 .LCFI15:
710 .cfi_def_cfa_offset 24
711 .cfi_offset 4, -24
712 .cfi_offset 5, -20
713 .cfi_offset 6, -16
714 .cfi_offset 7, -12
715 .cfi_offset 8, -8
716 .cfi_offset 14, -4
717 0004 82B0 sub sp, sp, #8
718 .LCFI16:
719 .cfi_def_cfa_offset 32
773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
720 .loc 1 773 3 is_stmt 1 view .LVU172
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
721 .loc 1 774 3 view .LVU173
722 .LVL32:
775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
723 .loc 1 775 3 view .LVU174
778:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
724 .loc 1 778 3 view .LVU175
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
725 .loc 1 781 3 view .LVU176
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
726 .loc 1 781 3 view .LVU177
727 0006 90F85040 ldrb r4, [r0, #80] @ zero_extendqisi2
728 000a 012C cmp r4, #1
729 000c 00F0C480 beq .L77
730 0010 1D46 mov r5, r3
731 0012 1746 mov r7, r2
732 0014 8846 mov r8, r1
733 0016 0446 mov r4, r0
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
734 .loc 1 781 3 discriminator 2 view .LVU178
735 0018 0123 movs r3, #1
736 .LVL33:
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
737 .loc 1 781 3 is_stmt 0 discriminator 2 view .LVU179
738 001a 80F85030 strb r3, [r0, #80]
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
739 .loc 1 784 3 is_stmt 1 discriminator 2 view .LVU180
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
740 .loc 1 784 15 is_stmt 0 discriminator 2 view .LVU181
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 84
741 001e FFF7FEFF bl HAL_GetTick
742 .LVL34:
784:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
743 .loc 1 784 15 discriminator 2 view .LVU182
744 0022 0646 mov r6, r0
745 .LVL35:
785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
746 .loc 1 785 3 is_stmt 1 discriminator 2 view .LVU183
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
747 .loc 1 787 3 discriminator 2 view .LVU184
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
748 .loc 1 787 11 is_stmt 0 discriminator 2 view .LVU185
749 0024 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
750 0028 DBB2 uxtb r3, r3
787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
751 .loc 1 787 6 discriminator 2 view .LVU186
752 002a 012B cmp r3, #1
753 002c 40F09C80 bne .L78
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
754 .loc 1 793 3 is_stmt 1 view .LVU187
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
755 .loc 1 793 6 is_stmt 0 view .LVU188
756 0030 B8F1000F cmp r8, #0
757 0034 00F0A280 beq .L79
793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
758 .loc 1 793 23 discriminator 1 view .LVU189
759 0038 002F cmp r7, #0
760 003a 00F0A180 beq .L80
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
761 .loc 1 800 3 is_stmt 1 view .LVU190
800:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
762 .loc 1 800 21 is_stmt 0 view .LVU191
763 003e 0323 movs r3, #3
764 0040 84F85130 strb r3, [r4, #81]
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
765 .loc 1 801 3 is_stmt 1 view .LVU192
801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
766 .loc 1 801 21 is_stmt 0 view .LVU193
767 0044 0023 movs r3, #0
768 0046 6365 str r3, [r4, #84]
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
769 .loc 1 802 3 is_stmt 1 view .LVU194
802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
770 .loc 1 802 21 is_stmt 0 view .LVU195
771 0048 C4F83080 str r8, [r4, #48]
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
772 .loc 1 803 3 is_stmt 1 view .LVU196
803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
773 .loc 1 803 21 is_stmt 0 view .LVU197
774 004c A786 strh r7, [r4, #52] @ movhi
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
775 .loc 1 804 3 is_stmt 1 view .LVU198
804:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
776 .loc 1 804 21 is_stmt 0 view .LVU199
777 004e E786 strh r7, [r4, #54] @ movhi
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
778 .loc 1 807 3 is_stmt 1 view .LVU200
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 85
807:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
779 .loc 1 807 21 is_stmt 0 view .LVU201
780 0050 A363 str r3, [r4, #56]
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
781 .loc 1 808 3 is_stmt 1 view .LVU202
808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
782 .loc 1 808 21 is_stmt 0 view .LVU203
783 0052 A387 strh r3, [r4, #60] @ movhi
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
784 .loc 1 809 3 is_stmt 1 view .LVU204
809:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
785 .loc 1 809 21 is_stmt 0 view .LVU205
786 0054 E387 strh r3, [r4, #62] @ movhi
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
787 .loc 1 810 3 is_stmt 1 view .LVU206
810:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
788 .loc 1 810 21 is_stmt 0 view .LVU207
789 0056 6364 str r3, [r4, #68]
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
790 .loc 1 811 3 is_stmt 1 view .LVU208
811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
791 .loc 1 811 21 is_stmt 0 view .LVU209
792 0058 2364 str r3, [r4, #64]
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
793 .loc 1 814 3 is_stmt 1 view .LVU210
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
794 .loc 1 814 17 is_stmt 0 view .LVU211
795 005a A368 ldr r3, [r4, #8]
814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
796 .loc 1 814 6 view .LVU212
797 005c B3F5004F cmp r3, #32768
798 0060 1CD0 beq .L87
799 .L57:
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
800 .loc 1 828 3 is_stmt 1 view .LVU213
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
801 .loc 1 828 12 is_stmt 0 view .LVU214
802 0062 2368 ldr r3, [r4]
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
803 .loc 1 828 22 view .LVU215
804 0064 1A68 ldr r2, [r3]
828:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
805 .loc 1 828 6 view .LVU216
806 0066 12F0400F tst r2, #64
807 006a 03D1 bne .L58
831:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
808 .loc 1 831 5 is_stmt 1 view .LVU217
809 006c 1A68 ldr r2, [r3]
810 006e 42F04002 orr r2, r2, #64
811 0072 1A60 str r2, [r3]
812 .L58:
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
813 .loc 1 835 3 view .LVU218
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
814 .loc 1 835 17 is_stmt 0 view .LVU219
815 0074 E368 ldr r3, [r4, #12]
835:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 86
816 .loc 1 835 6 view .LVU220
817 0076 B3F5006F cmp r3, #2048
818 007a 15D0 beq .L88
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
819 .loc 1 867 5 is_stmt 1 view .LVU221
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
820 .loc 1 867 20 is_stmt 0 view .LVU222
821 007c 6368 ldr r3, [r4, #4]
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
822 .loc 1 867 8 view .LVU223
823 007e 0BB1 cbz r3, .L68
867:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
824 .loc 1 867 45 discriminator 1 view .LVU224
825 0080 012F cmp r7, #1
826 0082 49D1 bne .L70
827 .L68:
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
828 .loc 1 869 7 is_stmt 1 view .LVU225
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
829 .loc 1 869 54 is_stmt 0 view .LVU226
830 0084 226B ldr r2, [r4, #48]
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
831 .loc 1 869 30 view .LVU227
832 0086 2368 ldr r3, [r4]
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
833 .loc 1 869 49 view .LVU228
834 0088 1278 ldrb r2, [r2] @ zero_extendqisi2
869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
835 .loc 1 869 46 view .LVU229
836 008a 1A73 strb r2, [r3, #12]
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
837 .loc 1 870 7 is_stmt 1 view .LVU230
870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
838 .loc 1 870 24 is_stmt 0 view .LVU231
839 008c 236B ldr r3, [r4, #48]
840 008e 0133 adds r3, r3, #1
841 0090 2363 str r3, [r4, #48]
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
842 .loc 1 871 7 is_stmt 1 view .LVU232
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
843 .loc 1 871 11 is_stmt 0 view .LVU233
844 0092 E38E ldrh r3, [r4, #54]
871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
845 .loc 1 871 24 view .LVU234
846 0094 013B subs r3, r3, #1
847 0096 9BB2 uxth r3, r3
848 0098 E386 strh r3, [r4, #54] @ movhi
849 009a 3DE0 b .L70
850 .L87:
816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
851 .loc 1 816 5 is_stmt 1 view .LVU235
852 009c 2268 ldr r2, [r4]
853 009e 1368 ldr r3, [r2]
854 00a0 43F48043 orr r3, r3, #16384
855 00a4 1360 str r3, [r2]
856 00a6 DCE7 b .L57
857 .L88:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 87
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
858 .loc 1 837 5 view .LVU236
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
859 .loc 1 837 20 is_stmt 0 view .LVU237
860 00a8 6368 ldr r3, [r4, #4]
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
861 .loc 1 837 8 view .LVU238
862 00aa 0BB1 cbz r3, .L60
837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
863 .loc 1 837 45 discriminator 1 view .LVU239
864 00ac 012F cmp r7, #1
865 00ae 15D1 bne .L62
866 .L60:
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
867 .loc 1 839 7 is_stmt 1 view .LVU240
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
868 .loc 1 839 46 is_stmt 0 view .LVU241
869 00b0 226B ldr r2, [r4, #48]
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
870 .loc 1 839 11 view .LVU242
871 00b2 2368 ldr r3, [r4]
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
872 .loc 1 839 28 view .LVU243
873 00b4 1288 ldrh r2, [r2]
839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
874 .loc 1 839 26 view .LVU244
875 00b6 DA60 str r2, [r3, #12]
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
876 .loc 1 840 7 is_stmt 1 view .LVU245
840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
877 .loc 1 840 24 is_stmt 0 view .LVU246
878 00b8 236B ldr r3, [r4, #48]
879 00ba 0233 adds r3, r3, #2
880 00bc 2363 str r3, [r4, #48]
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
881 .loc 1 841 7 is_stmt 1 view .LVU247
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
882 .loc 1 841 11 is_stmt 0 view .LVU248
883 00be E38E ldrh r3, [r4, #54]
841:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
884 .loc 1 841 24 view .LVU249
885 00c0 013B subs r3, r3, #1
886 00c2 9BB2 uxth r3, r3
887 00c4 E386 strh r3, [r4, #54] @ movhi
888 00c6 09E0 b .L62
889 .LVL36:
890 .L63:
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
891 .loc 1 856 9 is_stmt 1 view .LVU250
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
892 .loc 1 856 16 is_stmt 0 view .LVU251
893 00c8 FFF7FEFF bl HAL_GetTick
894 .LVL37:
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
895 .loc 1 856 30 view .LVU252
896 00cc 801B subs r0, r0, r6
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 88
897 .loc 1 856 12 view .LVU253
898 00ce A842 cmp r0, r5
899 00d0 02D3 bcc .L65
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
900 .loc 1 856 56 discriminator 1 view .LVU254
901 00d2 B5F1FF3F cmp r5, #-1
902 00d6 55D1 bne .L81
903 .L65:
856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
904 .loc 1 856 87 discriminator 3 view .LVU255
905 00d8 002D cmp r5, #0
906 00da 55D0 beq .L82
907 .L62:
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
908 .loc 1 844 16 view .LVU256
909 00dc E38E ldrh r3, [r4, #54]
910 00de 9BB2 uxth r3, r3
844:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
911 .loc 1 844 11 view .LVU257
912 00e0 002B cmp r3, #0
913 00e2 2CD0 beq .L67
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
914 .loc 1 847 7 is_stmt 1 view .LVU258
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
915 .loc 1 847 11 is_stmt 0 view .LVU259
916 00e4 2368 ldr r3, [r4]
917 00e6 9A68 ldr r2, [r3, #8]
847:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
918 .loc 1 847 10 view .LVU260
919 00e8 12F0020F tst r2, #2
920 00ec ECD0 beq .L63
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
921 .loc 1 849 9 is_stmt 1 view .LVU261
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
922 .loc 1 849 48 is_stmt 0 view .LVU262
923 00ee 226B ldr r2, [r4, #48]
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
924 .loc 1 849 30 view .LVU263
925 00f0 1288 ldrh r2, [r2]
849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
926 .loc 1 849 28 view .LVU264
927 00f2 DA60 str r2, [r3, #12]
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
928 .loc 1 850 9 is_stmt 1 view .LVU265
850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
929 .loc 1 850 26 is_stmt 0 view .LVU266
930 00f4 236B ldr r3, [r4, #48]
931 00f6 0233 adds r3, r3, #2
932 00f8 2363 str r3, [r4, #48]
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
933 .loc 1 851 9 is_stmt 1 view .LVU267
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
934 .loc 1 851 13 is_stmt 0 view .LVU268
935 00fa E38E ldrh r3, [r4, #54]
851:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
936 .loc 1 851 26 view .LVU269
937 00fc 013B subs r3, r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 89
938 00fe 9BB2 uxth r3, r3
939 0100 E386 strh r3, [r4, #54] @ movhi
940 0102 EBE7 b .L62
941 .L71:
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
942 .loc 1 885 9 is_stmt 1 view .LVU270
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
943 .loc 1 885 16 is_stmt 0 view .LVU271
944 0104 FFF7FEFF bl HAL_GetTick
945 .LVL38:
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
946 .loc 1 885 30 view .LVU272
947 0108 801B subs r0, r0, r6
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
948 .loc 1 885 12 view .LVU273
949 010a A842 cmp r0, r5
950 010c 02D3 bcc .L73
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
951 .loc 1 885 56 discriminator 1 view .LVU274
952 010e B5F1FF3F cmp r5, #-1
953 0112 3BD1 bne .L83
954 .L73:
885:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
955 .loc 1 885 87 discriminator 3 view .LVU275
956 0114 002D cmp r5, #0
957 0116 3BD0 beq .L84
958 .L70:
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
959 .loc 1 873 16 view .LVU276
960 0118 E28E ldrh r2, [r4, #54]
961 011a 92B2 uxth r2, r2
873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
962 .loc 1 873 11 view .LVU277
963 011c 7AB1 cbz r2, .L67
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
964 .loc 1 876 7 is_stmt 1 view .LVU278
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
965 .loc 1 876 11 is_stmt 0 view .LVU279
966 011e 2368 ldr r3, [r4]
967 0120 9A68 ldr r2, [r3, #8]
876:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
968 .loc 1 876 10 view .LVU280
969 0122 12F0020F tst r2, #2
970 0126 EDD0 beq .L71
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
971 .loc 1 878 9 is_stmt 1 view .LVU281
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
972 .loc 1 878 56 is_stmt 0 view .LVU282
973 0128 226B ldr r2, [r4, #48]
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
974 .loc 1 878 51 view .LVU283
975 012a 1278 ldrb r2, [r2] @ zero_extendqisi2
878:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
976 .loc 1 878 48 view .LVU284
977 012c 1A73 strb r2, [r3, #12]
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
978 .loc 1 879 9 is_stmt 1 view .LVU285
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 90
879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
979 .loc 1 879 26 is_stmt 0 view .LVU286
980 012e 236B ldr r3, [r4, #48]
981 0130 0133 adds r3, r3, #1
982 0132 2363 str r3, [r4, #48]
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
983 .loc 1 880 9 is_stmt 1 view .LVU287
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
984 .loc 1 880 13 is_stmt 0 view .LVU288
985 0134 E28E ldrh r2, [r4, #54]
880:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
986 .loc 1 880 26 view .LVU289
987 0136 013A subs r2, r2, #1
988 0138 92B2 uxth r2, r2
989 013a E286 strh r2, [r4, #54] @ movhi
990 013c ECE7 b .L70
991 .L67:
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
992 .loc 1 902 3 is_stmt 1 view .LVU290
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
993 .loc 1 902 7 is_stmt 0 view .LVU291
994 013e 3246 mov r2, r6
995 0140 2946 mov r1, r5
996 0142 2046 mov r0, r4
997 0144 FFF7FEFF bl SPI_EndRxTxTransaction
998 .LVL39:
902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
999 .loc 1 902 6 view .LVU292
1000 0148 08B1 cbz r0, .L75
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1001 .loc 1 904 5 is_stmt 1 view .LVU293
904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1002 .loc 1 904 21 is_stmt 0 view .LVU294
1003 014a 2023 movs r3, #32
1004 014c 6365 str r3, [r4, #84]
1005 .L75:
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1006 .loc 1 908 3 is_stmt 1 view .LVU295
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1007 .loc 1 908 17 is_stmt 0 view .LVU296
1008 014e A368 ldr r3, [r4, #8]
908:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1009 .loc 1 908 6 view .LVU297
1010 0150 33B9 cbnz r3, .L76
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1011 .loc 1 910 5 is_stmt 1 view .LVU298
1012 .LBB2:
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1013 .loc 1 910 5 view .LVU299
1014 0152 0193 str r3, [sp, #4]
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1015 .loc 1 910 5 view .LVU300
1016 0154 2368 ldr r3, [r4]
1017 0156 DA68 ldr r2, [r3, #12]
1018 0158 0192 str r2, [sp, #4]
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1019 .loc 1 910 5 view .LVU301
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 91
1020 015a 9B68 ldr r3, [r3, #8]
1021 015c 0193 str r3, [sp, #4]
910:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1022 .loc 1 910 5 view .LVU302
1023 015e 019B ldr r3, [sp, #4]
1024 .L76:
1025 .LBE2:
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1026 .loc 1 913 3 view .LVU303
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1027 .loc 1 913 11 is_stmt 0 view .LVU304
1028 0160 636D ldr r3, [r4, #84]
913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1029 .loc 1 913 6 view .LVU305
1030 0162 BBB9 cbnz r3, .L85
774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
1031 .loc 1 774 21 view .LVU306
1032 0164 0020 movs r0, #0
1033 0166 00E0 b .L56
1034 .LVL40:
1035 .L78:
789:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1036 .loc 1 789 15 view .LVU307
1037 0168 0220 movs r0, #2
1038 .LVL41:
1039 .L56:
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1040 .loc 1 919 3 is_stmt 1 view .LVU308
919:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Unlocked */
1041 .loc 1 919 15 is_stmt 0 view .LVU309
1042 016a 0123 movs r3, #1
1043 016c 84F85130 strb r3, [r4, #81]
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1044 .loc 1 921 3 is_stmt 1 view .LVU310
921:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1045 .loc 1 921 3 view .LVU311
1046 0170 0023 movs r3, #0
1047 0172 84F85030 strb r3, [r4, #80]
922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1048 .loc 1 922 3 view .LVU312
1049 .LVL42:
1050 .L55:
923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1051 .loc 1 923 1 is_stmt 0 view .LVU313
1052 0176 02B0 add sp, sp, #8
1053 .LCFI17:
1054 .cfi_remember_state
1055 .cfi_def_cfa_offset 24
1056 @ sp needed
1057 0178 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1058 .LVL43:
1059 .L79:
1060 .LCFI18:
1061 .cfi_restore_state
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1062 .loc 1 795 15 view .LVU314
1063 017c 0120 movs r0, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 92
1064 .LVL44:
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1065 .loc 1 795 15 view .LVU315
1066 017e F4E7 b .L56
1067 .LVL45:
1068 .L80:
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1069 .loc 1 795 15 view .LVU316
1070 0180 0120 movs r0, #1
1071 .LVL46:
795:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1072 .loc 1 795 15 view .LVU317
1073 0182 F2E7 b .L56
1074 .L81:
858:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1075 .loc 1 858 21 view .LVU318
1076 0184 0320 movs r0, #3
1077 0186 F0E7 b .L56
1078 .L82:
1079 0188 0320 movs r0, #3
1080 018a EEE7 b .L56
1081 .L83:
887:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1082 .loc 1 887 21 view .LVU319
1083 018c 0320 movs r0, #3
1084 018e ECE7 b .L56
1085 .L84:
1086 0190 0320 movs r0, #3
1087 0192 EAE7 b .L56
1088 .L85:
915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1089 .loc 1 915 15 view .LVU320
1090 0194 0120 movs r0, #1
1091 0196 E8E7 b .L56
1092 .LVL47:
1093 .L77:
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1094 .loc 1 781 3 view .LVU321
1095 0198 0220 movs r0, #2
1096 .LVL48:
781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1097 .loc 1 781 3 view .LVU322
1098 019a ECE7 b .L55
1099 .cfi_endproc
1100 .LFE69:
1102 .section .text.HAL_SPI_TransmitReceive,"ax",%progbits
1103 .align 1
1104 .global HAL_SPI_TransmitReceive
1105 .syntax unified
1106 .thumb
1107 .thumb_func
1108 .fpu softvfp
1110 HAL_SPI_TransmitReceive:
1111 .LVL49:
1112 .LFB71:
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
1113 .loc 1 1143 1 is_stmt 1 view -0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 93
1114 .cfi_startproc
1115 @ args = 4, pretend = 0, frame = 8
1116 @ frame_needed = 0, uses_anonymous_args = 0
1143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint16_t initial_TxXferCount;
1117 .loc 1 1143 1 is_stmt 0 view .LVU324
1118 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
1119 .LCFI19:
1120 .cfi_def_cfa_offset 28
1121 .cfi_offset 4, -28
1122 .cfi_offset 5, -24
1123 .cfi_offset 6, -20
1124 .cfi_offset 7, -16
1125 .cfi_offset 8, -12
1126 .cfi_offset 9, -8
1127 .cfi_offset 14, -4
1128 0004 83B0 sub sp, sp, #12
1129 .LCFI20:
1130 .cfi_def_cfa_offset 40
1131 0006 0A9D ldr r5, [sp, #40]
1144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
1132 .loc 1 1144 3 is_stmt 1 view .LVU325
1145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
1133 .loc 1 1145 3 view .LVU326
1146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
1134 .loc 1 1146 3 view .LVU327
1147:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1135 .loc 1 1147 3 view .LVU328
1150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1136 .loc 1 1150 3 view .LVU329
1137 .LVL50:
1151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1138 .loc 1 1151 3 view .LVU330
1154:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1139 .loc 1 1154 3 view .LVU331
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1140 .loc 1 1157 3 view .LVU332
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1141 .loc 1 1157 3 view .LVU333
1142 0008 90F85040 ldrb r4, [r0, #80] @ zero_extendqisi2
1143 000c 012C cmp r4, #1
1144 000e 00F00D81 beq .L111
1145 0012 1E46 mov r6, r3
1146 0014 9146 mov r9, r2
1147 0016 8846 mov r8, r1
1148 0018 0446 mov r4, r0
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1149 .loc 1 1157 3 discriminator 2 view .LVU334
1150 001a 0123 movs r3, #1
1151 .LVL51:
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1152 .loc 1 1157 3 is_stmt 0 discriminator 2 view .LVU335
1153 001c 80F85030 strb r3, [r0, #80]
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1154 .loc 1 1160 3 is_stmt 1 discriminator 2 view .LVU336
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1155 .loc 1 1160 15 is_stmt 0 discriminator 2 view .LVU337
1156 0020 FFF7FEFF bl HAL_GetTick
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 94
1157 .LVL52:
1160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1158 .loc 1 1160 15 discriminator 2 view .LVU338
1159 0024 0746 mov r7, r0
1160 .LVL53:
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1161 .loc 1 1163 3 is_stmt 1 discriminator 2 view .LVU339
1163:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
1162 .loc 1 1163 23 is_stmt 0 discriminator 2 view .LVU340
1163 0026 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
1164 002a DBB2 uxtb r3, r3
1165 .LVL54:
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
1166 .loc 1 1164 3 is_stmt 1 discriminator 2 view .LVU341
1164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** initial_TxXferCount = Size;
1167 .loc 1 1164 23 is_stmt 0 discriminator 2 view .LVU342
1168 002c 6268 ldr r2, [r4, #4]
1169 .LVL55:
1165:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1170 .loc 1 1165 3 is_stmt 1 discriminator 2 view .LVU343
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1171 .loc 1 1167 3 discriminator 2 view .LVU344
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1172 .loc 1 1167 6 is_stmt 0 discriminator 2 view .LVU345
1173 002e 012B cmp r3, #1
1174 0030 0AD0 beq .L91
1167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
1175 .loc 1 1167 7 discriminator 1 view .LVU346
1176 0032 B2F5827F cmp r2, #260
1177 0036 40F0DE80 bne .L112
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1178 .loc 1 1168 54 view .LVU347
1179 003a A268 ldr r2, [r4, #8]
1180 .LVL56:
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1181 .loc 1 1168 40 view .LVU348
1182 003c 002A cmp r2, #0
1183 003e 40F0E580 bne .L113
1168:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1184 .loc 1 1168 90 discriminator 1 view .LVU349
1185 0042 042B cmp r3, #4
1186 0044 40F0E480 bne .L114
1187 .L91:
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1188 .loc 1 1174 3 is_stmt 1 view .LVU350
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1189 .loc 1 1174 6 is_stmt 0 view .LVU351
1190 0048 B8F1000F cmp r8, #0
1191 004c 00F0E280 beq .L115
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1192 .loc 1 1174 25 discriminator 1 view .LVU352
1193 0050 B9F1000F cmp r9, #0
1194 0054 00F0E080 beq .L116
1174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1195 .loc 1 1174 46 discriminator 2 view .LVU353
1196 0058 002E cmp r6, #0
1197 005a 00F0DF80 beq .L117
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 95
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1198 .loc 1 1181 3 is_stmt 1 view .LVU354
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1199 .loc 1 1181 11 is_stmt 0 view .LVU355
1200 005e 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
1201 .LVL57:
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1202 .loc 1 1181 11 view .LVU356
1203 0062 DBB2 uxtb r3, r3
1181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1204 .loc 1 1181 6 view .LVU357
1205 0064 042B cmp r3, #4
1206 0066 02D0 beq .L93
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1207 .loc 1 1183 5 is_stmt 1 view .LVU358
1183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1208 .loc 1 1183 17 is_stmt 0 view .LVU359
1209 0068 0523 movs r3, #5
1210 006a 84F85130 strb r3, [r4, #81]
1211 .L93:
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1212 .loc 1 1187 3 is_stmt 1 view .LVU360
1187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1213 .loc 1 1187 21 is_stmt 0 view .LVU361
1214 006e 0023 movs r3, #0
1215 0070 6365 str r3, [r4, #84]
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1216 .loc 1 1188 3 is_stmt 1 view .LVU362
1188:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1217 .loc 1 1188 21 is_stmt 0 view .LVU363
1218 0072 C4F83890 str r9, [r4, #56]
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1219 .loc 1 1189 3 is_stmt 1 view .LVU364
1189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1220 .loc 1 1189 21 is_stmt 0 view .LVU365
1221 0076 E687 strh r6, [r4, #62] @ movhi
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1222 .loc 1 1190 3 is_stmt 1 view .LVU366
1190:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
1223 .loc 1 1190 21 is_stmt 0 view .LVU367
1224 0078 A687 strh r6, [r4, #60] @ movhi
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1225 .loc 1 1191 3 is_stmt 1 view .LVU368
1191:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
1226 .loc 1 1191 21 is_stmt 0 view .LVU369
1227 007a C4F83080 str r8, [r4, #48]
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1228 .loc 1 1192 3 is_stmt 1 view .LVU370
1192:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
1229 .loc 1 1192 21 is_stmt 0 view .LVU371
1230 007e E686 strh r6, [r4, #54] @ movhi
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1231 .loc 1 1193 3 is_stmt 1 view .LVU372
1193:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1232 .loc 1 1193 21 is_stmt 0 view .LVU373
1233 0080 A686 strh r6, [r4, #52] @ movhi
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 96
1234 .loc 1 1196 3 is_stmt 1 view .LVU374
1196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1235 .loc 1 1196 21 is_stmt 0 view .LVU375
1236 0082 2364 str r3, [r4, #64]
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1237 .loc 1 1197 3 is_stmt 1 view .LVU376
1197:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1238 .loc 1 1197 21 is_stmt 0 view .LVU377
1239 0084 6364 str r3, [r4, #68]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1240 .loc 1 1208 3 is_stmt 1 view .LVU378
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1241 .loc 1 1208 12 is_stmt 0 view .LVU379
1242 0086 2368 ldr r3, [r4]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1243 .loc 1 1208 22 view .LVU380
1244 0088 1A68 ldr r2, [r3]
1208:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1245 .loc 1 1208 6 view .LVU381
1246 008a 12F0400F tst r2, #64
1247 008e 03D1 bne .L94
1211:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1248 .loc 1 1211 5 is_stmt 1 view .LVU382
1249 0090 1A68 ldr r2, [r3]
1250 0092 42F04002 orr r2, r2, #64
1251 0096 1A60 str r2, [r3]
1252 .LVL58:
1253 .L94:
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1254 .loc 1 1215 3 view .LVU383
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1255 .loc 1 1215 17 is_stmt 0 view .LVU384
1256 0098 E368 ldr r3, [r4, #12]
1215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1257 .loc 1 1215 6 view .LVU385
1258 009a B3F5006F cmp r3, #2048
1259 009e 10D0 beq .L122
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1260 .loc 1 1262 5 is_stmt 1 view .LVU386
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1261 .loc 1 1262 20 is_stmt 0 view .LVU387
1262 00a0 6368 ldr r3, [r4, #4]
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1263 .loc 1 1262 8 view .LVU388
1264 00a2 0BB1 cbz r3, .L103
1262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1265 .loc 1 1262 45 discriminator 1 view .LVU389
1266 00a4 012E cmp r6, #1
1267 00a6 0AD1 bne .L104
1268 .L103:
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1269 .loc 1 1264 7 is_stmt 1 view .LVU390
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1270 .loc 1 1264 54 is_stmt 0 view .LVU391
1271 00a8 226B ldr r2, [r4, #48]
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1272 .loc 1 1264 30 view .LVU392
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 97
1273 00aa 2368 ldr r3, [r4]
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1274 .loc 1 1264 49 view .LVU393
1275 00ac 1278 ldrb r2, [r2] @ zero_extendqisi2
1264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1276 .loc 1 1264 46 view .LVU394
1277 00ae 1A73 strb r2, [r3, #12]
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1278 .loc 1 1265 7 is_stmt 1 view .LVU395
1265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1279 .loc 1 1265 24 is_stmt 0 view .LVU396
1280 00b0 236B ldr r3, [r4, #48]
1281 00b2 0133 adds r3, r3, #1
1282 00b4 2363 str r3, [r4, #48]
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1283 .loc 1 1266 7 is_stmt 1 view .LVU397
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1284 .loc 1 1266 11 is_stmt 0 view .LVU398
1285 00b6 E38E ldrh r3, [r4, #54]
1266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1286 .loc 1 1266 24 view .LVU399
1287 00b8 013B subs r3, r3, #1
1288 00ba 9BB2 uxth r3, r3
1289 00bc E386 strh r3, [r4, #54] @ movhi
1290 .L104:
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1291 .loc 1 1295 19 view .LVU400
1292 00be 0126 movs r6, #1
1293 .LVL59:
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1294 .loc 1 1295 19 view .LVU401
1295 00c0 67E0 b .L108
1296 .LVL60:
1297 .L122:
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1298 .loc 1 1217 5 is_stmt 1 view .LVU402
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1299 .loc 1 1217 20 is_stmt 0 view .LVU403
1300 00c2 6368 ldr r3, [r4, #4]
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1301 .loc 1 1217 8 view .LVU404
1302 00c4 0BB1 cbz r3, .L96
1217:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1303 .loc 1 1217 45 discriminator 1 view .LVU405
1304 00c6 012E cmp r6, #1
1305 00c8 0AD1 bne .L97
1306 .L96:
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1307 .loc 1 1219 7 is_stmt 1 view .LVU406
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1308 .loc 1 1219 46 is_stmt 0 view .LVU407
1309 00ca 226B ldr r2, [r4, #48]
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1310 .loc 1 1219 11 view .LVU408
1311 00cc 2368 ldr r3, [r4]
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1312 .loc 1 1219 28 view .LVU409
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 98
1313 00ce 1288 ldrh r2, [r2]
1219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1314 .loc 1 1219 26 view .LVU410
1315 00d0 DA60 str r2, [r3, #12]
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1316 .loc 1 1220 7 is_stmt 1 view .LVU411
1220:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1317 .loc 1 1220 24 is_stmt 0 view .LVU412
1318 00d2 236B ldr r3, [r4, #48]
1319 00d4 0233 adds r3, r3, #2
1320 00d6 2363 str r3, [r4, #48]
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1321 .loc 1 1221 7 is_stmt 1 view .LVU413
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1322 .loc 1 1221 11 is_stmt 0 view .LVU414
1323 00d8 E38E ldrh r3, [r4, #54]
1221:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1324 .loc 1 1221 24 view .LVU415
1325 00da 013B subs r3, r3, #1
1326 00dc 9BB2 uxth r3, r3
1327 00de E386 strh r3, [r4, #54] @ movhi
1328 .L97:
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1329 .loc 1 1250 19 view .LVU416
1330 00e0 0126 movs r6, #1
1331 .LVL61:
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1332 .loc 1 1250 19 view .LVU417
1333 00e2 1BE0 b .L98
1334 .LVL62:
1335 .L99:
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1336 .loc 1 1244 7 is_stmt 1 view .LVU418
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1337 .loc 1 1244 12 is_stmt 0 view .LVU419
1338 00e4 2368 ldr r3, [r4]
1339 00e6 9A68 ldr r2, [r3, #8]
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1340 .loc 1 1244 10 view .LVU420
1341 00e8 12F0010F tst r2, #1
1342 00ec 0DD0 beq .L100
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1343 .loc 1 1244 61 discriminator 1 view .LVU421
1344 00ee E28F ldrh r2, [r4, #62]
1345 00f0 92B2 uxth r2, r2
1244:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1346 .loc 1 1244 53 discriminator 1 view .LVU422
1347 00f2 52B1 cbz r2, .L100
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1348 .loc 1 1246 9 is_stmt 1 view .LVU423
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1349 .loc 1 1246 67 is_stmt 0 view .LVU424
1350 00f4 DA68 ldr r2, [r3, #12]
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1351 .loc 1 1246 27 view .LVU425
1352 00f6 A36B ldr r3, [r4, #56]
1246:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 99
1353 .loc 1 1246 41 view .LVU426
1354 00f8 1A80 strh r2, [r3] @ movhi
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1355 .loc 1 1247 9 is_stmt 1 view .LVU427
1247:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1356 .loc 1 1247 26 is_stmt 0 view .LVU428
1357 00fa A36B ldr r3, [r4, #56]
1358 00fc 0233 adds r3, r3, #2
1359 00fe A363 str r3, [r4, #56]
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1360 .loc 1 1248 9 is_stmt 1 view .LVU429
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1361 .loc 1 1248 13 is_stmt 0 view .LVU430
1362 0100 E38F ldrh r3, [r4, #62]
1248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1363 .loc 1 1248 26 view .LVU431
1364 0102 013B subs r3, r3, #1
1365 0104 9BB2 uxth r3, r3
1366 0106 E387 strh r3, [r4, #62] @ movhi
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1367 .loc 1 1250 9 is_stmt 1 view .LVU432
1368 .LVL63:
1250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1369 .loc 1 1250 19 is_stmt 0 view .LVU433
1370 0108 0126 movs r6, #1
1371 .LVL64:
1372 .L100:
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1373 .loc 1 1252 7 is_stmt 1 view .LVU434
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1374 .loc 1 1252 13 is_stmt 0 view .LVU435
1375 010a FFF7FEFF bl HAL_GetTick
1376 .LVL65:
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1377 .loc 1 1252 27 view .LVU436
1378 010e C01B subs r0, r0, r7
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1379 .loc 1 1252 10 view .LVU437
1380 0110 A842 cmp r0, r5
1381 0112 03D3 bcc .L98
1252:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1382 .loc 1 1252 53 discriminator 1 view .LVU438
1383 0114 B5F1FF3F cmp r5, #-1
1384 0118 40F08280 bne .L118
1385 .LVL66:
1386 .L98:
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1387 .loc 1 1223 17 view .LVU439
1388 011c E38E ldrh r3, [r4, #54]
1389 011e 9BB2 uxth r3, r3
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1390 .loc 1 1223 11 view .LVU440
1391 0120 1BB9 cbnz r3, .L101
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1392 .loc 1 1223 45 discriminator 1 view .LVU441
1393 0122 E38F ldrh r3, [r4, #62]
1394 0124 9BB2 uxth r3, r3
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 100
1223:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1395 .loc 1 1223 37 discriminator 1 view .LVU442
1396 0126 002B cmp r3, #0
1397 0128 50D0 beq .L102
1398 .L101:
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1399 .loc 1 1226 7 is_stmt 1 view .LVU443
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1400 .loc 1 1226 12 is_stmt 0 view .LVU444
1401 012a 2368 ldr r3, [r4]
1402 012c 9A68 ldr r2, [r3, #8]
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1403 .loc 1 1226 10 view .LVU445
1404 012e 12F0020F tst r2, #2
1405 0132 D7D0 beq .L99
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1406 .loc 1 1226 60 discriminator 1 view .LVU446
1407 0134 E28E ldrh r2, [r4, #54]
1408 0136 92B2 uxth r2, r2
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1409 .loc 1 1226 52 discriminator 1 view .LVU447
1410 0138 002A cmp r2, #0
1411 013a D3D0 beq .L99
1226:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1412 .loc 1 1226 80 discriminator 2 view .LVU448
1413 013c 002E cmp r6, #0
1414 013e D1D0 beq .L99
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1415 .loc 1 1228 9 is_stmt 1 view .LVU449
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1416 .loc 1 1228 48 is_stmt 0 view .LVU450
1417 0140 226B ldr r2, [r4, #48]
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1418 .loc 1 1228 30 view .LVU451
1419 0142 1288 ldrh r2, [r2]
1228:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1420 .loc 1 1228 28 view .LVU452
1421 0144 DA60 str r2, [r3, #12]
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1422 .loc 1 1229 9 is_stmt 1 view .LVU453
1229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1423 .loc 1 1229 26 is_stmt 0 view .LVU454
1424 0146 236B ldr r3, [r4, #48]
1425 0148 0233 adds r3, r3, #2
1426 014a 2363 str r3, [r4, #48]
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1427 .loc 1 1230 9 is_stmt 1 view .LVU455
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1428 .loc 1 1230 13 is_stmt 0 view .LVU456
1429 014c E38E ldrh r3, [r4, #54]
1230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1430 .loc 1 1230 26 view .LVU457
1431 014e 013B subs r3, r3, #1
1432 0150 9BB2 uxth r3, r3
1433 0152 E386 strh r3, [r4, #54] @ movhi
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1434 .loc 1 1232 9 is_stmt 1 view .LVU458
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 101
1435 .LVL67:
1232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1436 .loc 1 1232 19 is_stmt 0 view .LVU459
1437 0154 0026 movs r6, #0
1438 0156 C5E7 b .L99
1439 .LVL68:
1440 .L105:
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1441 .loc 1 1289 7 is_stmt 1 view .LVU460
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1442 .loc 1 1289 12 is_stmt 0 view .LVU461
1443 0158 2368 ldr r3, [r4]
1444 015a 9A68 ldr r2, [r3, #8]
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1445 .loc 1 1289 10 view .LVU462
1446 015c 12F0010F tst r2, #1
1447 0160 0DD0 beq .L106
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1448 .loc 1 1289 61 discriminator 1 view .LVU463
1449 0162 E28F ldrh r2, [r4, #62]
1450 0164 92B2 uxth r2, r2
1289:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1451 .loc 1 1289 53 discriminator 1 view .LVU464
1452 0166 52B1 cbz r2, .L106
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
1453 .loc 1 1291 9 is_stmt 1 view .LVU465
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
1454 .loc 1 1291 56 is_stmt 0 view .LVU466
1455 0168 DA68 ldr r2, [r3, #12]
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
1456 .loc 1 1291 26 view .LVU467
1457 016a A36B ldr r3, [r4, #56]
1291:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
1458 .loc 1 1291 40 view .LVU468
1459 016c 1A70 strb r2, [r3]
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1460 .loc 1 1292 9 is_stmt 1 view .LVU469
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1461 .loc 1 1292 13 is_stmt 0 view .LVU470
1462 016e A36B ldr r3, [r4, #56]
1292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1463 .loc 1 1292 25 view .LVU471
1464 0170 0133 adds r3, r3, #1
1465 0172 A363 str r3, [r4, #56]
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1466 .loc 1 1293 9 is_stmt 1 view .LVU472
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1467 .loc 1 1293 13 is_stmt 0 view .LVU473
1468 0174 E38F ldrh r3, [r4, #62]
1293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */
1469 .loc 1 1293 26 view .LVU474
1470 0176 013B subs r3, r3, #1
1471 0178 9BB2 uxth r3, r3
1472 017a E387 strh r3, [r4, #62] @ movhi
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1473 .loc 1 1295 9 is_stmt 1 view .LVU475
1474 .LVL69:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 102
1295:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1475 .loc 1 1295 19 is_stmt 0 view .LVU476
1476 017c 0126 movs r6, #1
1477 .LVL70:
1478 .L106:
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1479 .loc 1 1297 7 is_stmt 1 view .LVU477
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1480 .loc 1 1297 14 is_stmt 0 view .LVU478
1481 017e FFF7FEFF bl HAL_GetTick
1482 .LVL71:
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1483 .loc 1 1297 28 view .LVU479
1484 0182 C01B subs r0, r0, r7
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1485 .loc 1 1297 10 view .LVU480
1486 0184 A842 cmp r0, r5
1487 0186 02D3 bcc .L107
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1488 .loc 1 1297 54 discriminator 1 view .LVU481
1489 0188 B5F1FF3F cmp r5, #-1
1490 018c 4AD1 bne .L119
1491 .L107:
1297:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1492 .loc 1 1297 87 discriminator 3 view .LVU482
1493 018e 002D cmp r5, #0
1494 0190 4AD0 beq .L123
1495 .LVL72:
1496 .L108:
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1497 .loc 1 1268 17 view .LVU483
1498 0192 E38E ldrh r3, [r4, #54]
1499 0194 9BB2 uxth r3, r3
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1500 .loc 1 1268 11 view .LVU484
1501 0196 13B9 cbnz r3, .L109
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1502 .loc 1 1268 45 discriminator 1 view .LVU485
1503 0198 E38F ldrh r3, [r4, #62]
1504 019a 9BB2 uxth r3, r3
1268:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1505 .loc 1 1268 37 discriminator 1 view .LVU486
1506 019c B3B1 cbz r3, .L102
1507 .L109:
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1508 .loc 1 1271 7 is_stmt 1 view .LVU487
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1509 .loc 1 1271 12 is_stmt 0 view .LVU488
1510 019e 2368 ldr r3, [r4]
1511 01a0 9A68 ldr r2, [r3, #8]
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1512 .loc 1 1271 10 view .LVU489
1513 01a2 12F0020F tst r2, #2
1514 01a6 D7D0 beq .L105
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1515 .loc 1 1271 60 discriminator 1 view .LVU490
1516 01a8 E28E ldrh r2, [r4, #54]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 103
1517 01aa 92B2 uxth r2, r2
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1518 .loc 1 1271 52 discriminator 1 view .LVU491
1519 01ac 002A cmp r2, #0
1520 01ae D3D0 beq .L105
1271:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1521 .loc 1 1271 80 discriminator 2 view .LVU492
1522 01b0 002E cmp r6, #0
1523 01b2 D1D0 beq .L105
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
1524 .loc 1 1273 9 is_stmt 1 view .LVU493
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
1525 .loc 1 1273 54 is_stmt 0 view .LVU494
1526 01b4 226B ldr r2, [r4, #48]
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
1527 .loc 1 1273 49 view .LVU495
1528 01b6 1278 ldrb r2, [r2] @ zero_extendqisi2
1273:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
1529 .loc 1 1273 46 view .LVU496
1530 01b8 1A73 strb r2, [r3, #12]
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1531 .loc 1 1274 9 is_stmt 1 view .LVU497
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1532 .loc 1 1274 13 is_stmt 0 view .LVU498
1533 01ba 236B ldr r3, [r4, #48]
1274:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
1534 .loc 1 1274 25 view .LVU499
1535 01bc 0133 adds r3, r3, #1
1536 01be 2363 str r3, [r4, #48]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1537 .loc 1 1275 9 is_stmt 1 view .LVU500
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1538 .loc 1 1275 13 is_stmt 0 view .LVU501
1539 01c0 E38E ldrh r3, [r4, #54]
1275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */
1540 .loc 1 1275 26 view .LVU502
1541 01c2 013B subs r3, r3, #1
1542 01c4 9BB2 uxth r3, r3
1543 01c6 E386 strh r3, [r4, #54] @ movhi
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1544 .loc 1 1277 9 is_stmt 1 view .LVU503
1545 .LVL73:
1277:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1546 .loc 1 1277 19 is_stmt 0 view .LVU504
1547 01c8 0026 movs r6, #0
1548 01ca C5E7 b .L105
1549 .LVL74:
1550 .L102:
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1551 .loc 1 1342 3 is_stmt 1 view .LVU505
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1552 .loc 1 1342 7 is_stmt 0 view .LVU506
1553 01cc 3A46 mov r2, r7
1554 01ce 2946 mov r1, r5
1555 01d0 2046 mov r0, r4
1556 01d2 FFF7FEFF bl SPI_EndRxTxTransaction
1557 .LVL75:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 104
1342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1558 .loc 1 1342 6 view .LVU507
1559 01d6 0346 mov r3, r0
1560 01d8 48B9 cbnz r0, .L124
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1561 .loc 1 1350 3 is_stmt 1 view .LVU508
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1562 .loc 1 1350 17 is_stmt 0 view .LVU509
1563 01da A268 ldr r2, [r4, #8]
1350:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1564 .loc 1 1350 6 view .LVU510
1565 01dc 62B9 cbnz r2, .L92
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1566 .loc 1 1352 5 is_stmt 1 view .LVU511
1567 .LBB3:
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1568 .loc 1 1352 5 view .LVU512
1569 01de 0192 str r2, [sp, #4]
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1570 .loc 1 1352 5 view .LVU513
1571 01e0 2268 ldr r2, [r4]
1572 01e2 D168 ldr r1, [r2, #12]
1573 01e4 0191 str r1, [sp, #4]
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1574 .loc 1 1352 5 view .LVU514
1575 01e6 9268 ldr r2, [r2, #8]
1576 01e8 0192 str r2, [sp, #4]
1352:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1577 .loc 1 1352 5 view .LVU515
1578 01ea 019A ldr r2, [sp, #4]
1579 01ec 04E0 b .L92
1580 .L124:
1581 .LBE3:
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1582 .loc 1 1344 5 view .LVU516
1583 .LVL76:
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1584 .loc 1 1345 5 view .LVU517
1345:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1585 .loc 1 1345 21 is_stmt 0 view .LVU518
1586 01ee 2023 movs r3, #32
1587 01f0 6365 str r3, [r4, #84]
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1588 .loc 1 1346 5 is_stmt 1 view .LVU519
1344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
1589 .loc 1 1344 15 is_stmt 0 view .LVU520
1590 01f2 0123 movs r3, #1
1346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1591 .loc 1 1346 5 view .LVU521
1592 01f4 00E0 b .L92
1593 .LVL77:
1594 .L112:
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1595 .loc 1 1170 15 view .LVU522
1596 01f6 0223 movs r3, #2
1597 .LVL78:
1598 .L92:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 105
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1599 .loc 1 1356 3 is_stmt 1 view .LVU523
1356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1600 .loc 1 1356 15 is_stmt 0 view .LVU524
1601 01f8 0122 movs r2, #1
1602 01fa 84F85120 strb r2, [r4, #81]
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1603 .loc 1 1357 3 is_stmt 1 view .LVU525
1357:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1604 .loc 1 1357 3 view .LVU526
1605 01fe 0022 movs r2, #0
1606 0200 84F85020 strb r2, [r4, #80]
1358:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1607 .loc 1 1358 3 view .LVU527
1608 .LVL79:
1609 .L90:
1359:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1610 .loc 1 1359 1 is_stmt 0 view .LVU528
1611 0204 1846 mov r0, r3
1612 0206 03B0 add sp, sp, #12
1613 .LCFI21:
1614 .cfi_remember_state
1615 .cfi_def_cfa_offset 28
1616 @ sp needed
1617 0208 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
1618 .LVL80:
1619 .L113:
1620 .LCFI22:
1621 .cfi_restore_state
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1622 .loc 1 1170 15 view .LVU529
1623 020c 0223 movs r3, #2
1624 .LVL81:
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1625 .loc 1 1170 15 view .LVU530
1626 020e F3E7 b .L92
1627 .LVL82:
1628 .L114:
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1629 .loc 1 1170 15 view .LVU531
1630 0210 0223 movs r3, #2
1631 .LVL83:
1170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1632 .loc 1 1170 15 view .LVU532
1633 0212 F1E7 b .L92
1634 .LVL84:
1635 .L115:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1636 .loc 1 1176 15 view .LVU533
1637 0214 0123 movs r3, #1
1638 .LVL85:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1639 .loc 1 1176 15 view .LVU534
1640 0216 EFE7 b .L92
1641 .LVL86:
1642 .L116:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 106
1643 .loc 1 1176 15 view .LVU535
1644 0218 0123 movs r3, #1
1645 .LVL87:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1646 .loc 1 1176 15 view .LVU536
1647 021a EDE7 b .L92
1648 .LVL88:
1649 .L117:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1650 .loc 1 1176 15 view .LVU537
1651 021c 0123 movs r3, #1
1652 .LVL89:
1176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1653 .loc 1 1176 15 view .LVU538
1654 021e EBE7 b .L92
1655 .LVL90:
1656 .L118:
1254:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1657 .loc 1 1254 19 view .LVU539
1658 0220 0323 movs r3, #3
1659 0222 E9E7 b .L92
1660 .L119:
1299:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1661 .loc 1 1299 19 view .LVU540
1662 0224 0323 movs r3, #3
1663 0226 E7E7 b .L92
1664 .L123:
1665 0228 0323 movs r3, #3
1666 022a E5E7 b .L92
1667 .LVL91:
1668 .L111:
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1669 .loc 1 1157 3 view .LVU541
1670 022c 0223 movs r3, #2
1671 .LVL92:
1157:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1672 .loc 1 1157 3 view .LVU542
1673 022e E9E7 b .L90
1674 .cfi_endproc
1675 .LFE71:
1677 .section .text.HAL_SPI_Receive,"ax",%progbits
1678 .align 1
1679 .global HAL_SPI_Receive
1680 .syntax unified
1681 .thumb
1682 .thumb_func
1683 .fpu softvfp
1685 HAL_SPI_Receive:
1686 .LVL93:
1687 .LFB70:
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
1688 .loc 1 935 1 is_stmt 1 view -0
1689 .cfi_startproc
1690 @ args = 0, pretend = 0, frame = 0
1691 @ frame_needed = 0, uses_anonymous_args = 0
935:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
1692 .loc 1 935 1 is_stmt 0 view .LVU544
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 107
1693 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1694 .LCFI23:
1695 .cfi_def_cfa_offset 24
1696 .cfi_offset 4, -24
1697 .cfi_offset 5, -20
1698 .cfi_offset 6, -16
1699 .cfi_offset 7, -12
1700 .cfi_offset 8, -8
1701 .cfi_offset 14, -4
1702 0004 82B0 sub sp, sp, #8
1703 .LCFI24:
1704 .cfi_def_cfa_offset 32
1705 0006 0446 mov r4, r0
1706 0008 8846 mov r8, r1
1707 000a 1746 mov r7, r2
1708 000c 1D46 mov r5, r3
936:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
1709 .loc 1 936 3 is_stmt 1 view .LVU545
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1710 .loc 1 937 3 view .LVU546
1711 .LVL94:
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1712 .loc 1 939 3 view .LVU547
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1713 .loc 1 939 18 is_stmt 0 view .LVU548
1714 000e 4368 ldr r3, [r0, #4]
1715 .LVL95:
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1716 .loc 1 939 6 view .LVU549
1717 0010 B3F5827F cmp r3, #260
1718 0014 34D0 beq .L153
1719 .L126:
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1720 .loc 1 947 3 is_stmt 1 view .LVU550
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1721 .loc 1 947 3 view .LVU551
1722 0016 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2
1723 001a 012B cmp r3, #1
1724 001c 00F0A180 beq .L143
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1725 .loc 1 947 3 discriminator 2 view .LVU552
1726 0020 0123 movs r3, #1
1727 0022 84F85030 strb r3, [r4, #80]
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1728 .loc 1 950 3 discriminator 2 view .LVU553
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1729 .loc 1 950 15 is_stmt 0 discriminator 2 view .LVU554
1730 0026 FFF7FEFF bl HAL_GetTick
1731 .LVL96:
950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1732 .loc 1 950 15 discriminator 2 view .LVU555
1733 002a 0646 mov r6, r0
1734 .LVL97:
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1735 .loc 1 952 3 is_stmt 1 discriminator 2 view .LVU556
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1736 .loc 1 952 11 is_stmt 0 discriminator 2 view .LVU557
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 108
1737 002c 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
1738 0030 DBB2 uxtb r3, r3
952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1739 .loc 1 952 6 discriminator 2 view .LVU558
1740 0032 012B cmp r3, #1
1741 0034 7DD1 bne .L144
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1742 .loc 1 958 3 is_stmt 1 view .LVU559
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1743 .loc 1 958 6 is_stmt 0 view .LVU560
1744 0036 B8F1000F cmp r8, #0
1745 003a 00F08480 beq .L145
958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1746 .loc 1 958 23 discriminator 1 view .LVU561
1747 003e 002F cmp r7, #0
1748 0040 00F08380 beq .L146
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1749 .loc 1 965 3 is_stmt 1 view .LVU562
965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1750 .loc 1 965 21 is_stmt 0 view .LVU563
1751 0044 0423 movs r3, #4
1752 0046 84F85130 strb r3, [r4, #81]
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1753 .loc 1 966 3 is_stmt 1 view .LVU564
966:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1754 .loc 1 966 21 is_stmt 0 view .LVU565
1755 004a 0023 movs r3, #0
1756 004c 6365 str r3, [r4, #84]
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1757 .loc 1 967 3 is_stmt 1 view .LVU566
967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
1758 .loc 1 967 21 is_stmt 0 view .LVU567
1759 004e C4F83880 str r8, [r4, #56]
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1760 .loc 1 968 3 is_stmt 1 view .LVU568
968:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
1761 .loc 1 968 21 is_stmt 0 view .LVU569
1762 0052 A787 strh r7, [r4, #60] @ movhi
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1763 .loc 1 969 3 is_stmt 1 view .LVU570
969:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1764 .loc 1 969 21 is_stmt 0 view .LVU571
1765 0054 E787 strh r7, [r4, #62] @ movhi
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
1766 .loc 1 972 3 is_stmt 1 view .LVU572
972:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
1767 .loc 1 972 21 is_stmt 0 view .LVU573
1768 0056 2363 str r3, [r4, #48]
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
1769 .loc 1 973 3 is_stmt 1 view .LVU574
973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
1770 .loc 1 973 21 is_stmt 0 view .LVU575
1771 0058 A386 strh r3, [r4, #52] @ movhi
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1772 .loc 1 974 3 is_stmt 1 view .LVU576
974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
1773 .loc 1 974 21 is_stmt 0 view .LVU577
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 109
1774 005a E386 strh r3, [r4, #54] @ movhi
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1775 .loc 1 975 3 is_stmt 1 view .LVU578
975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
1776 .loc 1 975 21 is_stmt 0 view .LVU579
1777 005c 2364 str r3, [r4, #64]
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1778 .loc 1 976 3 is_stmt 1 view .LVU580
976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1779 .loc 1 976 21 is_stmt 0 view .LVU581
1780 005e 6364 str r3, [r4, #68]
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1781 .loc 1 989 3 is_stmt 1 view .LVU582
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1782 .loc 1 989 17 is_stmt 0 view .LVU583
1783 0060 A368 ldr r3, [r4, #8]
989:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1784 .loc 1 989 6 view .LVU584
1785 0062 B3F5004F cmp r3, #32768
1786 0066 17D0 beq .L154
1787 .L129:
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1788 .loc 1 995 3 is_stmt 1 view .LVU585
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1789 .loc 1 995 12 is_stmt 0 view .LVU586
1790 0068 2368 ldr r3, [r4]
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1791 .loc 1 995 22 view .LVU587
1792 006a 1A68 ldr r2, [r3]
995:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1793 .loc 1 995 6 view .LVU588
1794 006c 12F0400F tst r2, #64
1795 0070 03D1 bne .L130
998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1796 .loc 1 998 5 is_stmt 1 view .LVU589
1797 0072 1A68 ldr r2, [r3]
1798 0074 42F04002 orr r2, r2, #64
1799 0078 1A60 str r2, [r3]
1800 .L130:
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1801 .loc 1 1002 3 view .LVU590
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1802 .loc 1 1002 17 is_stmt 0 view .LVU591
1803 007a E368 ldr r3, [r4, #12]
1002:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1804 .loc 1 1002 6 view .LVU592
1805 007c E3B1 cbz r3, .L131
1806 007e 39E0 b .L132
1807 .LVL98:
1808 .L153:
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1809 .loc 1 939 58 discriminator 1 view .LVU593
1810 0080 8368 ldr r3, [r0, #8]
939:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1811 .loc 1 939 44 discriminator 1 view .LVU594
1812 0082 002B cmp r3, #0
1813 0084 C7D1 bne .L126
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 110
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1814 .loc 1 941 5 is_stmt 1 view .LVU595
941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
1815 .loc 1 941 17 is_stmt 0 view .LVU596
1816 0086 0423 movs r3, #4
1817 0088 80F85130 strb r3, [r0, #81]
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1818 .loc 1 943 5 is_stmt 1 view .LVU597
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1819 .loc 1 943 12 is_stmt 0 view .LVU598
1820 008c 0095 str r5, [sp]
1821 008e 1346 mov r3, r2
1822 0090 0A46 mov r2, r1
1823 .LVL99:
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1824 .loc 1 943 12 view .LVU599
1825 0092 FFF7FEFF bl HAL_SPI_TransmitReceive
1826 .LVL100:
943:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1827 .loc 1 943 12 view .LVU600
1828 0096 53E0 b .L127
1829 .LVL101:
1830 .L154:
991:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1831 .loc 1 991 5 is_stmt 1 view .LVU601
1832 0098 2268 ldr r2, [r4]
1833 009a 1368 ldr r3, [r2]
1834 009c 23F48043 bic r3, r3, #16384
1835 00a0 1360 str r3, [r2]
1836 00a2 E1E7 b .L129
1837 .LVL102:
1838 .L133:
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1839 .loc 1 1018 9 view .LVU602
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1840 .loc 1 1018 16 is_stmt 0 view .LVU603
1841 00a4 FFF7FEFF bl HAL_GetTick
1842 .LVL103:
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1843 .loc 1 1018 30 view .LVU604
1844 00a8 801B subs r0, r0, r6
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1845 .loc 1 1018 12 view .LVU605
1846 00aa A842 cmp r0, r5
1847 00ac 02D3 bcc .L135
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1848 .loc 1 1018 56 discriminator 1 view .LVU606
1849 00ae B5F1FF3F cmp r5, #-1
1850 00b2 4CD1 bne .L147
1851 .L135:
1018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1852 .loc 1 1018 87 discriminator 3 view .LVU607
1853 00b4 002D cmp r5, #0
1854 00b6 4CD0 beq .L148
1855 .L131:
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1856 .loc 1 1005 16 view .LVU608
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 111
1857 00b8 E38F ldrh r3, [r4, #62]
1858 00ba 9BB2 uxth r3, r3
1005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1859 .loc 1 1005 11 view .LVU609
1860 00bc 002B cmp r3, #0
1861 00be 2CD0 beq .L137
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1862 .loc 1 1008 7 is_stmt 1 view .LVU610
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1863 .loc 1 1008 11 is_stmt 0 view .LVU611
1864 00c0 2368 ldr r3, [r4]
1865 00c2 9A68 ldr r2, [r3, #8]
1008:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1866 .loc 1 1008 10 view .LVU612
1867 00c4 12F0010F tst r2, #1
1868 00c8 ECD0 beq .L133
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1869 .loc 1 1011 9 is_stmt 1 view .LVU613
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1870 .loc 1 1011 27 is_stmt 0 view .LVU614
1871 00ca A26B ldr r2, [r4, #56]
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1872 .loc 1 1011 43 view .LVU615
1873 00cc 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
1011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1874 .loc 1 1011 41 view .LVU616
1875 00ce 1370 strb r3, [r2]
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1876 .loc 1 1012 9 is_stmt 1 view .LVU617
1012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1877 .loc 1 1012 26 is_stmt 0 view .LVU618
1878 00d0 A36B ldr r3, [r4, #56]
1879 00d2 0133 adds r3, r3, #1
1880 00d4 A363 str r3, [r4, #56]
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1881 .loc 1 1013 9 is_stmt 1 view .LVU619
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1882 .loc 1 1013 13 is_stmt 0 view .LVU620
1883 00d6 E38F ldrh r3, [r4, #62]
1013:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1884 .loc 1 1013 26 view .LVU621
1885 00d8 013B subs r3, r3, #1
1886 00da 9BB2 uxth r3, r3
1887 00dc E387 strh r3, [r4, #62] @ movhi
1888 00de EBE7 b .L131
1889 .L138:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1890 .loc 1 1041 9 is_stmt 1 view .LVU622
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1891 .loc 1 1041 16 is_stmt 0 view .LVU623
1892 00e0 FFF7FEFF bl HAL_GetTick
1893 .LVL104:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1894 .loc 1 1041 30 view .LVU624
1895 00e4 801B subs r0, r0, r6
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1896 .loc 1 1041 12 view .LVU625
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 112
1897 00e6 A842 cmp r0, r5
1898 00e8 02D3 bcc .L140
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1899 .loc 1 1041 56 discriminator 1 view .LVU626
1900 00ea B5F1FF3F cmp r5, #-1
1901 00ee 32D1 bne .L149
1902 .L140:
1041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1903 .loc 1 1041 87 discriminator 3 view .LVU627
1904 00f0 002D cmp r5, #0
1905 00f2 32D0 beq .L150
1906 .L132:
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1907 .loc 1 1029 16 view .LVU628
1908 00f4 E38F ldrh r3, [r4, #62]
1909 00f6 9BB2 uxth r3, r3
1029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1910 .loc 1 1029 11 view .LVU629
1911 00f8 7BB1 cbz r3, .L137
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1912 .loc 1 1032 7 is_stmt 1 view .LVU630
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1913 .loc 1 1032 11 is_stmt 0 view .LVU631
1914 00fa 2368 ldr r3, [r4]
1915 00fc 9A68 ldr r2, [r3, #8]
1032:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1916 .loc 1 1032 10 view .LVU632
1917 00fe 12F0010F tst r2, #1
1918 0102 EDD0 beq .L138
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1919 .loc 1 1034 9 is_stmt 1 view .LVU633
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1920 .loc 1 1034 67 is_stmt 0 view .LVU634
1921 0104 DA68 ldr r2, [r3, #12]
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1922 .loc 1 1034 27 view .LVU635
1923 0106 A36B ldr r3, [r4, #56]
1034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1924 .loc 1 1034 41 view .LVU636
1925 0108 1A80 strh r2, [r3] @ movhi
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1926 .loc 1 1035 9 is_stmt 1 view .LVU637
1035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
1927 .loc 1 1035 26 is_stmt 0 view .LVU638
1928 010a A36B ldr r3, [r4, #56]
1929 010c 0233 adds r3, r3, #2
1930 010e A363 str r3, [r4, #56]
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1931 .loc 1 1036 9 is_stmt 1 view .LVU639
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1932 .loc 1 1036 13 is_stmt 0 view .LVU640
1933 0110 E38F ldrh r3, [r4, #62]
1036:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1934 .loc 1 1036 26 view .LVU641
1935 0112 013B subs r3, r3, #1
1936 0114 9BB2 uxth r3, r3
1937 0116 E387 strh r3, [r4, #62] @ movhi
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 113
1938 0118 ECE7 b .L132
1939 .L137:
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1940 .loc 1 1096 3 is_stmt 1 view .LVU642
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1941 .loc 1 1096 7 is_stmt 0 view .LVU643
1942 011a 3246 mov r2, r6
1943 011c 2946 mov r1, r5
1944 011e 2046 mov r0, r4
1945 0120 FFF7FEFF bl SPI_EndRxTransaction
1946 .LVL105:
1096:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1947 .loc 1 1096 6 view .LVU644
1948 0124 08B1 cbz r0, .L142
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1949 .loc 1 1098 5 is_stmt 1 view .LVU645
1098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1950 .loc 1 1098 21 is_stmt 0 view .LVU646
1951 0126 2023 movs r3, #32
1952 0128 6365 str r3, [r4, #84]
1953 .L142:
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1954 .loc 1 1120 3 is_stmt 1 view .LVU647
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1955 .loc 1 1120 11 is_stmt 0 view .LVU648
1956 012a 636D ldr r3, [r4, #84]
1120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
1957 .loc 1 1120 6 view .LVU649
1958 012c BBB9 cbnz r3, .L151
937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
1959 .loc 1 937 21 view .LVU650
1960 012e 0020 movs r0, #0
1961 0130 00E0 b .L128
1962 .LVL106:
1963 .L144:
954:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1964 .loc 1 954 15 view .LVU651
1965 0132 0220 movs r0, #2
1966 .LVL107:
1967 .L128:
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1968 .loc 1 1126 3 is_stmt 1 view .LVU652
1126:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1969 .loc 1 1126 15 is_stmt 0 view .LVU653
1970 0134 0123 movs r3, #1
1971 0136 84F85130 strb r3, [r4, #81]
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1972 .loc 1 1127 3 is_stmt 1 view .LVU654
1127:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
1973 .loc 1 1127 3 view .LVU655
1974 013a 0023 movs r3, #0
1975 013c 84F85030 strb r3, [r4, #80]
1128:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
1976 .loc 1 1128 3 view .LVU656
1977 .LVL108:
1978 .L127:
1129:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 114
1979 .loc 1 1129 1 is_stmt 0 view .LVU657
1980 0140 02B0 add sp, sp, #8
1981 .LCFI25:
1982 .cfi_remember_state
1983 .cfi_def_cfa_offset 24
1984 @ sp needed
1985 0142 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1986 .LVL109:
1987 .L145:
1988 .LCFI26:
1989 .cfi_restore_state
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1990 .loc 1 960 15 view .LVU658
1991 0146 0120 movs r0, #1
1992 .LVL110:
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1993 .loc 1 960 15 view .LVU659
1994 0148 F4E7 b .L128
1995 .LVL111:
1996 .L146:
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
1997 .loc 1 960 15 view .LVU660
1998 014a 0120 movs r0, #1
1999 .LVL112:
960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2000 .loc 1 960 15 view .LVU661
2001 014c F2E7 b .L128
2002 .L147:
1020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2003 .loc 1 1020 21 view .LVU662
2004 014e 0320 movs r0, #3
2005 0150 F0E7 b .L128
2006 .L148:
2007 0152 0320 movs r0, #3
2008 0154 EEE7 b .L128
2009 .L149:
1043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2010 .loc 1 1043 21 view .LVU663
2011 0156 0320 movs r0, #3
2012 0158 ECE7 b .L128
2013 .L150:
2014 015a 0320 movs r0, #3
2015 015c EAE7 b .L128
2016 .L151:
1122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2017 .loc 1 1122 15 view .LVU664
2018 015e 0120 movs r0, #1
2019 0160 E8E7 b .L128
2020 .LVL113:
2021 .L143:
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2022 .loc 1 947 3 view .LVU665
2023 0162 0220 movs r0, #2
2024 .LVL114:
947:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2025 .loc 1 947 3 view .LVU666
2026 0164 ECE7 b .L127
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 115
2027 .cfi_endproc
2028 .LFE70:
2030 .section .text.HAL_SPI_Transmit_IT,"ax",%progbits
2031 .align 1
2032 .global HAL_SPI_Transmit_IT
2033 .syntax unified
2034 .thumb
2035 .thumb_func
2036 .fpu softvfp
2038 HAL_SPI_Transmit_IT:
2039 .LVL115:
2040 .LFB72:
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2041 .loc 1 1370 1 is_stmt 1 view -0
2042 .cfi_startproc
2043 @ args = 0, pretend = 0, frame = 0
2044 @ frame_needed = 0, uses_anonymous_args = 0
2045 @ link register save eliminated.
1370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2046 .loc 1 1370 1 is_stmt 0 view .LVU668
2047 0000 0346 mov r3, r0
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2048 .loc 1 1371 3 is_stmt 1 view .LVU669
2049 .LVL116:
1374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2050 .loc 1 1374 3 view .LVU670
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2051 .loc 1 1377 3 view .LVU671
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2052 .loc 1 1377 3 view .LVU672
2053 0002 90F85000 ldrb r0, [r0, #80] @ zero_extendqisi2
2054 .LVL117:
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2055 .loc 1 1377 3 is_stmt 0 view .LVU673
2056 0006 0128 cmp r0, #1
2057 0008 43D0 beq .L161
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2058 .loc 1 1377 3 is_stmt 1 discriminator 2 view .LVU674
2059 000a 0120 movs r0, #1
2060 000c 83F85000 strb r0, [r3, #80]
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2061 .loc 1 1379 3 discriminator 2 view .LVU675
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2062 .loc 1 1379 6 is_stmt 0 discriminator 2 view .LVU676
2063 0010 0029 cmp r1, #0
2064 0012 33D0 beq .L162
1379:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2065 .loc 1 1379 23 discriminator 1 view .LVU677
2066 0014 002A cmp r2, #0
2067 0016 33D0 beq .L163
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2068 .loc 1 1385 3 is_stmt 1 view .LVU678
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2069 .loc 1 1385 11 is_stmt 0 view .LVU679
2070 0018 93F85100 ldrb r0, [r3, #81] @ zero_extendqisi2
2071 001c C0B2 uxtb r0, r0
1385:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 116
2072 .loc 1 1385 6 view .LVU680
2073 001e 0128 cmp r0, #1
2074 0020 33D1 bne .L164
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2075 .loc 1 1392 3 is_stmt 1 view .LVU681
1392:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2076 .loc 1 1392 21 is_stmt 0 view .LVU682
2077 0022 0320 movs r0, #3
2078 0024 83F85100 strb r0, [r3, #81]
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2079 .loc 1 1393 3 is_stmt 1 view .LVU683
1393:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2080 .loc 1 1393 21 is_stmt 0 view .LVU684
2081 0028 0020 movs r0, #0
2082 002a 5865 str r0, [r3, #84]
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2083 .loc 1 1394 3 is_stmt 1 view .LVU685
1394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2084 .loc 1 1394 21 is_stmt 0 view .LVU686
2085 002c 1963 str r1, [r3, #48]
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2086 .loc 1 1395 3 is_stmt 1 view .LVU687
1395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2087 .loc 1 1395 21 is_stmt 0 view .LVU688
2088 002e 9A86 strh r2, [r3, #52] @ movhi
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2089 .loc 1 1396 3 is_stmt 1 view .LVU689
1396:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2090 .loc 1 1396 21 is_stmt 0 view .LVU690
2091 0030 DA86 strh r2, [r3, #54] @ movhi
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
2092 .loc 1 1399 3 is_stmt 1 view .LVU691
1399:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
2093 .loc 1 1399 21 is_stmt 0 view .LVU692
2094 0032 9863 str r0, [r3, #56]
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2095 .loc 1 1400 3 is_stmt 1 view .LVU693
1400:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2096 .loc 1 1400 21 is_stmt 0 view .LVU694
2097 0034 9887 strh r0, [r3, #60] @ movhi
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
2098 .loc 1 1401 3 is_stmt 1 view .LVU695
1401:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
2099 .loc 1 1401 21 is_stmt 0 view .LVU696
2100 0036 D887 strh r0, [r3, #62] @ movhi
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2101 .loc 1 1402 3 is_stmt 1 view .LVU697
1402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2102 .loc 1 1402 21 is_stmt 0 view .LVU698
2103 0038 1864 str r0, [r3, #64]
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2104 .loc 1 1405 3 is_stmt 1 view .LVU699
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2105 .loc 1 1405 17 is_stmt 0 view .LVU700
2106 003a DA68 ldr r2, [r3, #12]
2107 .LVL118:
1405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 117
2108 .loc 1 1405 6 view .LVU701
2109 003c AAB1 cbz r2, .L158
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2110 .loc 1 1407 5 is_stmt 1 view .LVU702
1407:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2111 .loc 1 1407 17 is_stmt 0 view .LVU703
2112 003e 164A ldr r2, .L167
2113 0040 5A64 str r2, [r3, #68]
2114 .L159:
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2115 .loc 1 1415 3 is_stmt 1 view .LVU704
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2116 .loc 1 1415 17 is_stmt 0 view .LVU705
2117 0042 9A68 ldr r2, [r3, #8]
1415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2118 .loc 1 1415 6 view .LVU706
2119 0044 B2F5004F cmp r2, #32768
2120 0048 12D0 beq .L166
2121 .LVL119:
2122 .L160:
1429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2123 .loc 1 1429 3 is_stmt 1 view .LVU707
2124 004a 1968 ldr r1, [r3]
2125 004c 4A68 ldr r2, [r1, #4]
2126 004e 42F0A002 orr r2, r2, #160
2127 0052 4A60 str r2, [r1, #4]
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2128 .loc 1 1433 3 view .LVU708
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2129 .loc 1 1433 12 is_stmt 0 view .LVU709
2130 0054 1A68 ldr r2, [r3]
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2131 .loc 1 1433 22 view .LVU710
2132 0056 1168 ldr r1, [r2]
1433:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2133 .loc 1 1433 6 view .LVU711
2134 0058 11F0400F tst r1, #64
2135 005c 17D1 bne .L165
1436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2136 .loc 1 1436 5 is_stmt 1 view .LVU712
2137 005e 1168 ldr r1, [r2]
2138 0060 41F04001 orr r1, r1, #64
2139 0064 1160 str r1, [r2]
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2140 .loc 1 1371 21 is_stmt 0 view .LVU713
2141 0066 0020 movs r0, #0
2142 0068 0BE0 b .L157
2143 .LVL120:
2144 .L158:
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2145 .loc 1 1411 5 is_stmt 1 view .LVU714
1411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2146 .loc 1 1411 17 is_stmt 0 view .LVU715
2147 006a 0C4A ldr r2, .L167+4
2148 006c 5A64 str r2, [r3, #68]
2149 006e E8E7 b .L159
2150 .L166:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 118
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2151 .loc 1 1417 5 is_stmt 1 view .LVU716
2152 0070 1968 ldr r1, [r3]
2153 .LVL121:
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2154 .loc 1 1417 5 is_stmt 0 view .LVU717
2155 0072 0A68 ldr r2, [r1]
2156 0074 42F48042 orr r2, r2, #16384
2157 0078 0A60 str r2, [r1]
2158 .LVL122:
1417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2159 .loc 1 1417 5 view .LVU718
2160 007a E6E7 b .L160
2161 .LVL123:
2162 .L162:
1381:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2163 .loc 1 1381 15 view .LVU719
2164 007c 0120 movs r0, #1
2165 007e 00E0 b .L157
2166 .L163:
2167 0080 0120 movs r0, #1
2168 .LVL124:
2169 .L157:
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2170 .loc 1 1440 3 is_stmt 1 view .LVU720
1440:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2171 .loc 1 1440 3 view .LVU721
2172 0082 0022 movs r2, #0
2173 0084 83F85020 strb r2, [r3, #80]
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2174 .loc 1 1441 3 view .LVU722
1441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2175 .loc 1 1441 10 is_stmt 0 view .LVU723
2176 0088 7047 bx lr
2177 .LVL125:
2178 .L164:
1387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2179 .loc 1 1387 15 view .LVU724
2180 008a 0220 movs r0, #2
2181 008c F9E7 b .L157
2182 .LVL126:
2183 .L165:
1371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2184 .loc 1 1371 21 view .LVU725
2185 008e 0020 movs r0, #0
2186 0090 F7E7 b .L157
2187 .LVL127:
2188 .L161:
1377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2189 .loc 1 1377 3 view .LVU726
2190 0092 0220 movs r0, #2
1442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2191 .loc 1 1442 1 view .LVU727
2192 0094 7047 bx lr
2193 .L168:
2194 0096 00BF .align 2
2195 .L167:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 119
2196 0098 00000000 .word SPI_TxISR_16BIT
2197 009c 00000000 .word SPI_TxISR_8BIT
2198 .cfi_endproc
2199 .LFE72:
2201 .section .text.HAL_SPI_TransmitReceive_IT,"ax",%progbits
2202 .align 1
2203 .global HAL_SPI_TransmitReceive_IT
2204 .syntax unified
2205 .thumb
2206 .thumb_func
2207 .fpu softvfp
2209 HAL_SPI_TransmitReceive_IT:
2210 .LVL128:
2211 .LFB74:
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
2212 .loc 1 1545 1 is_stmt 1 view -0
2213 .cfi_startproc
2214 @ args = 0, pretend = 0, frame = 0
2215 @ frame_needed = 0, uses_anonymous_args = 0
2216 @ link register save eliminated.
1545:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
2217 .loc 1 1545 1 is_stmt 0 view .LVU729
2218 0000 30B4 push {r4, r5}
2219 .LCFI27:
2220 .cfi_def_cfa_offset 8
2221 .cfi_offset 4, -8
2222 .cfi_offset 5, -4
1546:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
2223 .loc 1 1546 3 is_stmt 1 view .LVU730
1547:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2224 .loc 1 1547 3 view .LVU731
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2225 .loc 1 1548 3 view .LVU732
2226 .LVL129:
1551:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2227 .loc 1 1551 3 view .LVU733
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2228 .loc 1 1554 3 view .LVU734
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2229 .loc 1 1554 3 view .LVU735
2230 0002 90F85040 ldrb r4, [r0, #80] @ zero_extendqisi2
2231 0006 012C cmp r4, #1
2232 0008 54D0 beq .L176
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2233 .loc 1 1554 3 discriminator 2 view .LVU736
2234 000a 0124 movs r4, #1
2235 000c 80F85040 strb r4, [r0, #80]
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2236 .loc 1 1557 3 discriminator 2 view .LVU737
1557:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2237 .loc 1 1557 23 is_stmt 0 discriminator 2 view .LVU738
2238 0010 90F85140 ldrb r4, [r0, #81] @ zero_extendqisi2
2239 0014 E4B2 uxtb r4, r4
2240 .LVL130:
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2241 .loc 1 1558 3 is_stmt 1 discriminator 2 view .LVU739
1558:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 120
2242 .loc 1 1558 23 is_stmt 0 discriminator 2 view .LVU740
2243 0016 4568 ldr r5, [r0, #4]
2244 .LVL131:
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2245 .loc 1 1560 3 is_stmt 1 discriminator 2 view .LVU741
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2246 .loc 1 1560 6 is_stmt 0 discriminator 2 view .LVU742
2247 0018 012C cmp r4, #1
2248 001a 07D0 beq .L171
1560:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2249 .loc 1 1560 7 discriminator 1 view .LVU743
2250 001c B5F5827F cmp r5, #260
2251 0020 35D1 bne .L177
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2252 .loc 1 1561 54 view .LVU744
2253 0022 8568 ldr r5, [r0, #8]
2254 .LVL132:
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2255 .loc 1 1561 40 view .LVU745
2256 0024 002D cmp r5, #0
2257 0026 39D1 bne .L178
1561:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2258 .loc 1 1561 90 discriminator 1 view .LVU746
2259 0028 042C cmp r4, #4
2260 002a 39D1 bne .L179
2261 .L171:
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2262 .loc 1 1567 3 is_stmt 1 view .LVU747
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2263 .loc 1 1567 6 is_stmt 0 view .LVU748
2264 002c 0029 cmp r1, #0
2265 002e 39D0 beq .L180
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2266 .loc 1 1567 25 discriminator 1 view .LVU749
2267 0030 002A cmp r2, #0
2268 0032 39D0 beq .L181
1567:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2269 .loc 1 1567 46 discriminator 2 view .LVU750
2270 0034 002B cmp r3, #0
2271 0036 39D0 beq .L182
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2272 .loc 1 1574 3 is_stmt 1 view .LVU751
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2273 .loc 1 1574 11 is_stmt 0 view .LVU752
2274 0038 90F85140 ldrb r4, [r0, #81] @ zero_extendqisi2
2275 .LVL133:
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2276 .loc 1 1574 11 view .LVU753
2277 003c E4B2 uxtb r4, r4
1574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2278 .loc 1 1574 6 view .LVU754
2279 003e 042C cmp r4, #4
2280 0040 02D0 beq .L173
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2281 .loc 1 1576 5 is_stmt 1 view .LVU755
1576:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2282 .loc 1 1576 17 is_stmt 0 view .LVU756
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 121
2283 0042 0524 movs r4, #5
2284 0044 80F85140 strb r4, [r0, #81]
2285 .L173:
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
2286 .loc 1 1580 3 is_stmt 1 view .LVU757
1580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
2287 .loc 1 1580 21 is_stmt 0 view .LVU758
2288 0048 0024 movs r4, #0
2289 004a 4465 str r4, [r0, #84]
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2290 .loc 1 1581 3 is_stmt 1 view .LVU759
1581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2291 .loc 1 1581 21 is_stmt 0 view .LVU760
2292 004c 0163 str r1, [r0, #48]
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2293 .loc 1 1582 3 is_stmt 1 view .LVU761
1582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2294 .loc 1 1582 21 is_stmt 0 view .LVU762
2295 004e 8386 strh r3, [r0, #52] @ movhi
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2296 .loc 1 1583 3 is_stmt 1 view .LVU763
1583:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2297 .loc 1 1583 21 is_stmt 0 view .LVU764
2298 0050 C386 strh r3, [r0, #54] @ movhi
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2299 .loc 1 1584 3 is_stmt 1 view .LVU765
1584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2300 .loc 1 1584 21 is_stmt 0 view .LVU766
2301 0052 8263 str r2, [r0, #56]
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2302 .loc 1 1585 3 is_stmt 1 view .LVU767
1585:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2303 .loc 1 1585 21 is_stmt 0 view .LVU768
2304 0054 8387 strh r3, [r0, #60] @ movhi
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2305 .loc 1 1586 3 is_stmt 1 view .LVU769
1586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2306 .loc 1 1586 21 is_stmt 0 view .LVU770
2307 0056 C387 strh r3, [r0, #62] @ movhi
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2308 .loc 1 1589 3 is_stmt 1 view .LVU771
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2309 .loc 1 1589 17 is_stmt 0 view .LVU772
2310 0058 C368 ldr r3, [r0, #12]
2311 .LVL134:
1589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2312 .loc 1 1589 6 view .LVU773
2313 005a 9BB1 cbz r3, .L174
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
2314 .loc 1 1591 5 is_stmt 1 view .LVU774
1591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT;
2315 .loc 1 1591 21 is_stmt 0 view .LVU775
2316 005c 164B ldr r3, .L185
2317 005e 0364 str r3, [r0, #64]
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2318 .loc 1 1592 5 is_stmt 1 view .LVU776
1592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 122
2319 .loc 1 1592 21 is_stmt 0 view .LVU777
2320 0060 164B ldr r3, .L185+4
2321 0062 4364 str r3, [r0, #68]
2322 .L175:
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2323 .loc 1 1609 3 is_stmt 1 view .LVU778
2324 0064 0268 ldr r2, [r0]
2325 .LVL135:
1609:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2326 .loc 1 1609 3 is_stmt 0 view .LVU779
2327 0066 5368 ldr r3, [r2, #4]
2328 0068 43F0E003 orr r3, r3, #224
2329 006c 5360 str r3, [r2, #4]
2330 .LVL136:
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2331 .loc 1 1612 3 is_stmt 1 view .LVU780
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2332 .loc 1 1612 12 is_stmt 0 view .LVU781
2333 006e 0368 ldr r3, [r0]
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2334 .loc 1 1612 22 view .LVU782
2335 0070 1A68 ldr r2, [r3]
1612:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2336 .loc 1 1612 6 view .LVU783
2337 0072 12F0400F tst r2, #64
2338 0076 1BD1 bne .L183
1615:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2339 .loc 1 1615 5 is_stmt 1 view .LVU784
2340 0078 1A68 ldr r2, [r3]
2341 007a 42F04002 orr r2, r2, #64
2342 007e 1A60 str r2, [r3]
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2343 .loc 1 1548 24 is_stmt 0 view .LVU785
2344 0080 0023 movs r3, #0
2345 0082 05E0 b .L172
2346 .LVL137:
2347 .L174:
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
2348 .loc 1 1596 5 is_stmt 1 view .LVU786
1596:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT;
2349 .loc 1 1596 21 is_stmt 0 view .LVU787
2350 0084 0E4B ldr r3, .L185+8
2351 0086 0364 str r3, [r0, #64]
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2352 .loc 1 1597 5 is_stmt 1 view .LVU788
1597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2353 .loc 1 1597 21 is_stmt 0 view .LVU789
2354 0088 0E4B ldr r3, .L185+12
2355 008a 4364 str r3, [r0, #68]
2356 008c EAE7 b .L175
2357 .LVL138:
2358 .L177:
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2359 .loc 1 1563 15 view .LVU790
2360 008e 0223 movs r3, #2
2361 .LVL139:
2362 .L172:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 123
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2363 .loc 1 1620 3 is_stmt 1 view .LVU791
1620:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2364 .loc 1 1620 3 view .LVU792
2365 0090 0022 movs r2, #0
2366 0092 80F85020 strb r2, [r0, #80]
1621:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2367 .loc 1 1621 3 view .LVU793
2368 .LVL140:
2369 .L170:
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2370 .loc 1 1622 1 is_stmt 0 view .LVU794
2371 0096 1846 mov r0, r3
2372 .LVL141:
1622:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2373 .loc 1 1622 1 view .LVU795
2374 0098 30BC pop {r4, r5}
2375 .LCFI28:
2376 .cfi_remember_state
2377 .cfi_restore 5
2378 .cfi_restore 4
2379 .cfi_def_cfa_offset 0
2380 009a 7047 bx lr
2381 .LVL142:
2382 .L178:
2383 .LCFI29:
2384 .cfi_restore_state
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2385 .loc 1 1563 15 view .LVU796
2386 009c 0223 movs r3, #2
2387 .LVL143:
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2388 .loc 1 1563 15 view .LVU797
2389 009e F7E7 b .L172
2390 .LVL144:
2391 .L179:
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2392 .loc 1 1563 15 view .LVU798
2393 00a0 0223 movs r3, #2
2394 .LVL145:
1563:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2395 .loc 1 1563 15 view .LVU799
2396 00a2 F5E7 b .L172
2397 .LVL146:
2398 .L180:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2399 .loc 1 1569 15 view .LVU800
2400 00a4 0123 movs r3, #1
2401 .LVL147:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2402 .loc 1 1569 15 view .LVU801
2403 00a6 F3E7 b .L172
2404 .LVL148:
2405 .L181:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2406 .loc 1 1569 15 view .LVU802
2407 00a8 0123 movs r3, #1
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 124
2408 .LVL149:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2409 .loc 1 1569 15 view .LVU803
2410 00aa F1E7 b .L172
2411 .LVL150:
2412 .L182:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2413 .loc 1 1569 15 view .LVU804
2414 00ac 0123 movs r3, #1
2415 .LVL151:
1569:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2416 .loc 1 1569 15 view .LVU805
2417 00ae EFE7 b .L172
2418 .LVL152:
2419 .L183:
1548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2420 .loc 1 1548 24 view .LVU806
2421 00b0 0023 movs r3, #0
2422 00b2 EDE7 b .L172
2423 .LVL153:
2424 .L176:
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2425 .loc 1 1554 3 view .LVU807
2426 00b4 0223 movs r3, #2
2427 .LVL154:
1554:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2428 .loc 1 1554 3 view .LVU808
2429 00b6 EEE7 b .L170
2430 .L186:
2431 .align 2
2432 .L185:
2433 00b8 00000000 .word SPI_2linesRxISR_16BIT
2434 00bc 00000000 .word SPI_2linesTxISR_16BIT
2435 00c0 00000000 .word SPI_2linesRxISR_8BIT
2436 00c4 00000000 .word SPI_2linesTxISR_8BIT
2437 .cfi_endproc
2438 .LFE74:
2440 .section .text.HAL_SPI_Receive_IT,"ax",%progbits
2441 .align 1
2442 .global HAL_SPI_Receive_IT
2443 .syntax unified
2444 .thumb
2445 .thumb_func
2446 .fpu softvfp
2448 HAL_SPI_Receive_IT:
2449 .LVL155:
2450 .LFB73:
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2451 .loc 1 1453 1 is_stmt 1 view -0
2452 .cfi_startproc
2453 @ args = 0, pretend = 0, frame = 0
2454 @ frame_needed = 0, uses_anonymous_args = 0
1453:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2455 .loc 1 1453 1 is_stmt 0 view .LVU810
2456 0000 38B5 push {r3, r4, r5, lr}
2457 .LCFI30:
2458 .cfi_def_cfa_offset 16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 125
2459 .cfi_offset 3, -16
2460 .cfi_offset 4, -12
2461 .cfi_offset 5, -8
2462 .cfi_offset 14, -4
2463 0002 0446 mov r4, r0
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2464 .loc 1 1454 3 is_stmt 1 view .LVU811
2465 .LVL156:
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2466 .loc 1 1456 3 view .LVU812
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2467 .loc 1 1456 18 is_stmt 0 view .LVU813
2468 0004 8568 ldr r5, [r0, #8]
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2469 .loc 1 1456 6 view .LVU814
2470 0006 1DB9 cbnz r5, .L188
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2471 .loc 1 1456 68 discriminator 1 view .LVU815
2472 0008 4368 ldr r3, [r0, #4]
1456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2473 .loc 1 1456 54 discriminator 1 view .LVU816
2474 000a B3F5827F cmp r3, #260
2475 000e 32D0 beq .L200
2476 .L188:
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2477 .loc 1 1464 3 is_stmt 1 view .LVU817
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2478 .loc 1 1464 3 view .LVU818
2479 0010 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2
2480 0014 012B cmp r3, #1
2481 0016 4AD0 beq .L194
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2482 .loc 1 1464 3 discriminator 2 view .LVU819
2483 0018 0123 movs r3, #1
2484 001a 84F85030 strb r3, [r4, #80]
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2485 .loc 1 1466 3 discriminator 2 view .LVU820
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2486 .loc 1 1466 11 is_stmt 0 discriminator 2 view .LVU821
2487 001e 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2
2488 .LVL157:
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2489 .loc 1 1466 11 discriminator 2 view .LVU822
2490 0022 C0B2 uxtb r0, r0
1466:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2491 .loc 1 1466 6 discriminator 2 view .LVU823
2492 0024 9842 cmp r0, r3
2493 0026 37D1 bne .L195
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2494 .loc 1 1472 3 is_stmt 1 view .LVU824
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2495 .loc 1 1472 6 is_stmt 0 view .LVU825
2496 0028 0029 cmp r1, #0
2497 002a 3AD0 beq .L196
1472:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2498 .loc 1 1472 23 discriminator 1 view .LVU826
2499 002c 002A cmp r2, #0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 126
2500 002e 3AD0 beq .L197
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2501 .loc 1 1479 3 is_stmt 1 view .LVU827
1479:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2502 .loc 1 1479 21 is_stmt 0 view .LVU828
2503 0030 0423 movs r3, #4
2504 0032 84F85130 strb r3, [r4, #81]
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2505 .loc 1 1480 3 is_stmt 1 view .LVU829
1480:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2506 .loc 1 1480 21 is_stmt 0 view .LVU830
2507 0036 0023 movs r3, #0
2508 0038 6365 str r3, [r4, #84]
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2509 .loc 1 1481 3 is_stmt 1 view .LVU831
1481:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2510 .loc 1 1481 21 is_stmt 0 view .LVU832
2511 003a A163 str r1, [r4, #56]
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2512 .loc 1 1482 3 is_stmt 1 view .LVU833
1482:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2513 .loc 1 1482 21 is_stmt 0 view .LVU834
2514 003c A287 strh r2, [r4, #60] @ movhi
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2515 .loc 1 1483 3 is_stmt 1 view .LVU835
1483:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2516 .loc 1 1483 21 is_stmt 0 view .LVU836
2517 003e E287 strh r2, [r4, #62] @ movhi
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
2518 .loc 1 1486 3 is_stmt 1 view .LVU837
1486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
2519 .loc 1 1486 21 is_stmt 0 view .LVU838
2520 0040 2363 str r3, [r4, #48]
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2521 .loc 1 1487 3 is_stmt 1 view .LVU839
1487:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
2522 .loc 1 1487 21 is_stmt 0 view .LVU840
2523 0042 A386 strh r3, [r4, #52] @ movhi
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2524 .loc 1 1488 3 is_stmt 1 view .LVU841
1488:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2525 .loc 1 1488 21 is_stmt 0 view .LVU842
2526 0044 E386 strh r3, [r4, #54] @ movhi
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2527 .loc 1 1489 3 is_stmt 1 view .LVU843
1489:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2528 .loc 1 1489 21 is_stmt 0 view .LVU844
2529 0046 6364 str r3, [r4, #68]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2530 .loc 1 1492 3 is_stmt 1 view .LVU845
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2531 .loc 1 1492 17 is_stmt 0 view .LVU846
2532 0048 E368 ldr r3, [r4, #12]
1492:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2533 .loc 1 1492 6 view .LVU847
2534 004a E3B1 cbz r3, .L191
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 127
2535 .loc 1 1494 5 is_stmt 1 view .LVU848
1494:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2536 .loc 1 1494 17 is_stmt 0 view .LVU849
2537 004c 194B ldr r3, .L202
2538 004e 2364 str r3, [r4, #64]
2539 .L192:
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2540 .loc 1 1502 3 is_stmt 1 view .LVU850
1502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2541 .loc 1 1502 6 is_stmt 0 view .LVU851
2542 0050 B5F5004F cmp r5, #32768
2543 0054 1AD0 beq .L201
2544 .LVL158:
2545 .L193:
1516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2546 .loc 1 1516 3 is_stmt 1 view .LVU852
2547 0056 2268 ldr r2, [r4]
2548 0058 5368 ldr r3, [r2, #4]
2549 005a 43F06003 orr r3, r3, #96
2550 005e 5360 str r3, [r2, #4]
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2551 .loc 1 1523 3 view .LVU853
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2552 .loc 1 1523 12 is_stmt 0 view .LVU854
2553 0060 2368 ldr r3, [r4]
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2554 .loc 1 1523 22 view .LVU855
2555 0062 1A68 ldr r2, [r3]
1523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2556 .loc 1 1523 6 view .LVU856
2557 0064 12F0400F tst r2, #64
2558 0068 1FD1 bne .L198
1526:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2559 .loc 1 1526 5 is_stmt 1 view .LVU857
2560 006a 1A68 ldr r2, [r3]
2561 006c 42F04002 orr r2, r2, #64
2562 0070 1A60 str r2, [r3]
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2563 .loc 1 1454 21 is_stmt 0 view .LVU858
2564 0072 0020 movs r0, #0
2565 0074 11E0 b .L190
2566 .LVL159:
2567 .L200:
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2568 .loc 1 1454 21 view .LVU859
2569 0076 1346 mov r3, r2
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
2570 .loc 1 1458 5 is_stmt 1 view .LVU860
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
2571 .loc 1 1458 17 is_stmt 0 view .LVU861
2572 0078 0422 movs r2, #4
2573 .LVL160:
1458:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line
2574 .loc 1 1458 17 view .LVU862
2575 007a 80F85120 strb r2, [r0, #81]
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2576 .loc 1 1460 5 is_stmt 1 view .LVU863
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 128
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2577 .loc 1 1460 12 is_stmt 0 view .LVU864
2578 007e 0A46 mov r2, r1
2579 0080 FFF7FEFF bl HAL_SPI_TransmitReceive_IT
2580 .LVL161:
1460:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2581 .loc 1 1460 12 view .LVU865
2582 0084 0CE0 b .L189
2583 .LVL162:
2584 .L191:
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2585 .loc 1 1498 5 is_stmt 1 view .LVU866
1498:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2586 .loc 1 1498 17 is_stmt 0 view .LVU867
2587 0086 0C4B ldr r3, .L202+4
2588 0088 2364 str r3, [r4, #64]
2589 008a E1E7 b .L192
2590 .L201:
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2591 .loc 1 1504 5 is_stmt 1 view .LVU868
2592 008c 2268 ldr r2, [r4]
2593 .LVL163:
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2594 .loc 1 1504 5 is_stmt 0 view .LVU869
2595 008e 1368 ldr r3, [r2]
2596 0090 23F48043 bic r3, r3, #16384
2597 0094 1360 str r3, [r2]
2598 .LVL164:
1504:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2599 .loc 1 1504 5 view .LVU870
2600 0096 DEE7 b .L193
2601 .LVL165:
2602 .L195:
1468:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2603 .loc 1 1468 15 view .LVU871
2604 0098 0220 movs r0, #2
2605 .LVL166:
2606 .L190:
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2607 .loc 1 1531 3 is_stmt 1 view .LVU872
1531:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2608 .loc 1 1531 3 view .LVU873
2609 009a 0023 movs r3, #0
2610 009c 84F85030 strb r3, [r4, #80]
1532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2611 .loc 1 1532 3 view .LVU874
2612 .LVL167:
2613 .L189:
1533:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2614 .loc 1 1533 1 is_stmt 0 view .LVU875
2615 00a0 38BD pop {r3, r4, r5, pc}
2616 .LVL168:
2617 .L196:
1474:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2618 .loc 1 1474 15 view .LVU876
2619 00a2 0120 movs r0, #1
2620 00a4 F9E7 b .L190
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 129
2621 .L197:
2622 00a6 0120 movs r0, #1
2623 00a8 F7E7 b .L190
2624 .LVL169:
2625 .L198:
1454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2626 .loc 1 1454 21 view .LVU877
2627 00aa 0020 movs r0, #0
2628 00ac F5E7 b .L190
2629 .LVL170:
2630 .L194:
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2631 .loc 1 1464 3 view .LVU878
2632 00ae 0220 movs r0, #2
2633 .LVL171:
1464:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2634 .loc 1 1464 3 view .LVU879
2635 00b0 F6E7 b .L189
2636 .L203:
2637 00b2 00BF .align 2
2638 .L202:
2639 00b4 00000000 .word SPI_RxISR_16BIT
2640 00b8 00000000 .word SPI_RxISR_8BIT
2641 .cfi_endproc
2642 .LFE73:
2644 .section .text.HAL_SPI_Transmit_DMA,"ax",%progbits
2645 .align 1
2646 .global HAL_SPI_Transmit_DMA
2647 .syntax unified
2648 .thumb
2649 .thumb_func
2650 .fpu softvfp
2652 HAL_SPI_Transmit_DMA:
2653 .LVL172:
2654 .LFB75:
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2655 .loc 1 1633 1 is_stmt 1 view -0
2656 .cfi_startproc
2657 @ args = 0, pretend = 0, frame = 0
2658 @ frame_needed = 0, uses_anonymous_args = 0
1634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2659 .loc 1 1634 3 view .LVU881
1637:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2660 .loc 1 1637 3 view .LVU882
1640:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2661 .loc 1 1640 3 view .LVU883
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2662 .loc 1 1643 3 view .LVU884
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2663 .loc 1 1643 3 view .LVU885
2664 0000 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2
2665 0004 012B cmp r3, #1
2666 0006 5FD0 beq .L210
1633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2667 .loc 1 1633 1 is_stmt 0 discriminator 2 view .LVU886
2668 0008 10B5 push {r4, lr}
2669 .LCFI31:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 130
2670 .cfi_def_cfa_offset 8
2671 .cfi_offset 4, -8
2672 .cfi_offset 14, -4
2673 000a 0446 mov r4, r0
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2674 .loc 1 1643 3 is_stmt 1 discriminator 2 view .LVU887
2675 000c 0123 movs r3, #1
2676 000e 80F85030 strb r3, [r0, #80]
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2677 .loc 1 1645 3 discriminator 2 view .LVU888
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2678 .loc 1 1645 11 is_stmt 0 discriminator 2 view .LVU889
2679 0012 90F85130 ldrb r3, [r0, #81] @ zero_extendqisi2
2680 0016 DBB2 uxtb r3, r3
1645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2681 .loc 1 1645 6 discriminator 2 view .LVU890
2682 0018 012B cmp r3, #1
2683 001a 4BD1 bne .L211
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2684 .loc 1 1651 3 is_stmt 1 view .LVU891
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2685 .loc 1 1651 6 is_stmt 0 view .LVU892
2686 001c 0029 cmp r1, #0
2687 001e 4FD0 beq .L212
1651:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2688 .loc 1 1651 23 discriminator 1 view .LVU893
2689 0020 002A cmp r2, #0
2690 0022 4FD0 beq .L213
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2691 .loc 1 1658 3 is_stmt 1 view .LVU894
1658:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2692 .loc 1 1658 21 is_stmt 0 view .LVU895
2693 0024 0323 movs r3, #3
2694 0026 80F85130 strb r3, [r0, #81]
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2695 .loc 1 1659 3 is_stmt 1 view .LVU896
1659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pData;
2696 .loc 1 1659 21 is_stmt 0 view .LVU897
2697 002a 0023 movs r3, #0
2698 002c 4365 str r3, [r0, #84]
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2699 .loc 1 1660 3 is_stmt 1 view .LVU898
1660:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2700 .loc 1 1660 21 is_stmt 0 view .LVU899
2701 002e 0163 str r1, [r0, #48]
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2702 .loc 1 1661 3 is_stmt 1 view .LVU900
1661:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2703 .loc 1 1661 21 is_stmt 0 view .LVU901
2704 0030 8286 strh r2, [r0, #52] @ movhi
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2705 .loc 1 1662 3 is_stmt 1 view .LVU902
1662:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2706 .loc 1 1662 21 is_stmt 0 view .LVU903
2707 0032 C286 strh r2, [r0, #54] @ movhi
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2708 .loc 1 1665 3 is_stmt 1 view .LVU904
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 131
1665:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2709 .loc 1 1665 21 is_stmt 0 view .LVU905
2710 0034 8363 str r3, [r0, #56]
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
2711 .loc 1 1666 3 is_stmt 1 view .LVU906
1666:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxISR = NULL;
2712 .loc 1 1666 21 is_stmt 0 view .LVU907
2713 0036 4364 str r3, [r0, #68]
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
2714 .loc 1 1667 3 is_stmt 1 view .LVU908
1667:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = 0U;
2715 .loc 1 1667 21 is_stmt 0 view .LVU909
2716 0038 0364 str r3, [r0, #64]
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2717 .loc 1 1668 3 is_stmt 1 view .LVU910
1668:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
2718 .loc 1 1668 21 is_stmt 0 view .LVU911
2719 003a 8387 strh r3, [r0, #60] @ movhi
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2720 .loc 1 1669 3 is_stmt 1 view .LVU912
1669:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2721 .loc 1 1669 21 is_stmt 0 view .LVU913
2722 003c C387 strh r3, [r0, #62] @ movhi
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2723 .loc 1 1672 3 is_stmt 1 view .LVU914
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2724 .loc 1 1672 17 is_stmt 0 view .LVU915
2725 003e 8368 ldr r3, [r0, #8]
1672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2726 .loc 1 1672 6 view .LVU916
2727 0040 B3F5004F cmp r3, #32768
2728 0044 28D0 beq .L218
2729 .LVL173:
2730 .L207:
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2731 .loc 1 1686 3 is_stmt 1 view .LVU917
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2732 .loc 1 1686 7 is_stmt 0 view .LVU918
2733 0046 A36C ldr r3, [r4, #72]
1686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2734 .loc 1 1686 38 view .LVU919
2735 0048 214A ldr r2, .L220
2736 004a DA62 str r2, [r3, #44]
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2737 .loc 1 1689 3 is_stmt 1 view .LVU920
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2738 .loc 1 1689 7 is_stmt 0 view .LVU921
2739 004c A36C ldr r3, [r4, #72]
1689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2740 .loc 1 1689 34 view .LVU922
2741 004e 214A ldr r2, .L220+4
2742 0050 9A62 str r2, [r3, #40]
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2743 .loc 1 1692 3 is_stmt 1 view .LVU923
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2744 .loc 1 1692 7 is_stmt 0 view .LVU924
2745 0052 A36C ldr r3, [r4, #72]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 132
1692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2746 .loc 1 1692 35 view .LVU925
2747 0054 204A ldr r2, .L220+8
2748 0056 1A63 str r2, [r3, #48]
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2749 .loc 1 1695 3 is_stmt 1 view .LVU926
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2750 .loc 1 1695 7 is_stmt 0 view .LVU927
2751 0058 A36C ldr r3, [r4, #72]
1695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2752 .loc 1 1695 35 view .LVU928
2753 005a 0022 movs r2, #0
2754 005c 5A63 str r2, [r3, #52]
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2755 .loc 1 1698 3 is_stmt 1 view .LVU929
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2756 .loc 1 1698 91 is_stmt 0 view .LVU930
2757 005e 2268 ldr r2, [r4]
1699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2758 .loc 1 1699 38 view .LVU931
2759 0060 E38E ldrh r3, [r4, #54]
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2760 .loc 1 1698 17 view .LVU932
2761 0062 0C32 adds r2, r2, #12
2762 0064 216B ldr r1, [r4, #48]
2763 .LVL174:
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2764 .loc 1 1698 17 view .LVU933
2765 0066 A06C ldr r0, [r4, #72]
2766 .LVL175:
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2767 .loc 1 1698 17 view .LVU934
2768 0068 FFF7FEFF bl HAL_DMA_Start_IT
2769 .LVL176:
1698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
2770 .loc 1 1698 6 view .LVU935
2771 006c 0346 mov r3, r0
2772 006e C8B9 cbnz r0, .L219
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2773 .loc 1 1710 3 is_stmt 1 view .LVU936
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2774 .loc 1 1710 12 is_stmt 0 view .LVU937
2775 0070 2268 ldr r2, [r4]
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2776 .loc 1 1710 22 view .LVU938
2777 0072 1168 ldr r1, [r2]
1710:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2778 .loc 1 1710 6 view .LVU939
2779 0074 11F0400F tst r1, #64
2780 0078 03D1 bne .L209
1713:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2781 .loc 1 1713 5 is_stmt 1 view .LVU940
2782 007a 1168 ldr r1, [r2]
2783 007c 41F04001 orr r1, r1, #64
2784 0080 1160 str r1, [r2]
2785 .L209:
1717:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 133
2786 .loc 1 1717 3 view .LVU941
2787 0082 2168 ldr r1, [r4]
2788 0084 4A68 ldr r2, [r1, #4]
2789 0086 42F02002 orr r2, r2, #32
2790 008a 4A60 str r2, [r1, #4]
1720:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2791 .loc 1 1720 3 view .LVU942
2792 008c 2168 ldr r1, [r4]
2793 008e 4A68 ldr r2, [r1, #4]
2794 0090 42F00202 orr r2, r2, #2
2795 0094 4A60 str r2, [r1, #4]
2796 0096 0EE0 b .L206
2797 .LVL177:
2798 .L218:
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2799 .loc 1 1674 5 view .LVU943
2800 0098 0268 ldr r2, [r0]
2801 .LVL178:
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2802 .loc 1 1674 5 is_stmt 0 view .LVU944
2803 009a 1368 ldr r3, [r2]
2804 009c 43F48043 orr r3, r3, #16384
2805 00a0 1360 str r3, [r2]
2806 .LVL179:
1674:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2807 .loc 1 1674 5 view .LVU945
2808 00a2 D0E7 b .L207
2809 .LVL180:
2810 .L219:
1702:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
2811 .loc 1 1702 5 is_stmt 1 view .LVU946
2812 00a4 636D ldr r3, [r4, #84]
2813 00a6 43F01003 orr r3, r3, #16
2814 00aa 6365 str r3, [r4, #84]
1703:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2815 .loc 1 1703 5 view .LVU947
2816 .LVL181:
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2817 .loc 1 1705 5 view .LVU948
1705:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2818 .loc 1 1705 17 is_stmt 0 view .LVU949
2819 00ac 0123 movs r3, #1
2820 00ae 84F85130 strb r3, [r4, #81]
1706:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2821 .loc 1 1706 5 is_stmt 1 view .LVU950
2822 00b2 00E0 b .L206
2823 .LVL182:
2824 .L211:
1647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2825 .loc 1 1647 15 is_stmt 0 view .LVU951
2826 00b4 0223 movs r3, #2
2827 .LVL183:
2828 .L206:
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2829 .loc 1 1724 3 is_stmt 1 view .LVU952
1724:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
2830 .loc 1 1724 3 view .LVU953
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 134
2831 00b6 0022 movs r2, #0
2832 00b8 84F85020 strb r2, [r4, #80]
1725:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2833 .loc 1 1725 3 view .LVU954
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2834 .loc 1 1726 1 is_stmt 0 view .LVU955
2835 00bc 1846 mov r0, r3
2836 00be 10BD pop {r4, pc}
2837 .LVL184:
2838 .L212:
1653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
2839 .loc 1 1653 15 view .LVU956
2840 00c0 0123 movs r3, #1
2841 00c2 F8E7 b .L206
2842 .L213:
2843 00c4 0123 movs r3, #1
2844 00c6 F6E7 b .L206
2845 .L210:
2846 .LCFI32:
2847 .cfi_def_cfa_offset 0
2848 .cfi_restore 4
2849 .cfi_restore 14
1643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2850 .loc 1 1643 3 view .LVU957
2851 00c8 0223 movs r3, #2
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2852 .loc 1 1726 1 view .LVU958
2853 00ca 1846 mov r0, r3
2854 .LVL185:
1726:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2855 .loc 1 1726 1 view .LVU959
2856 00cc 7047 bx lr
2857 .L221:
2858 00ce 00BF .align 2
2859 .L220:
2860 00d0 00000000 .word SPI_DMAHalfTransmitCplt
2861 00d4 00000000 .word SPI_DMATransmitCplt
2862 00d8 00000000 .word SPI_DMAError
2863 .cfi_endproc
2864 .LFE75:
2866 .section .text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits
2867 .align 1
2868 .global HAL_SPI_TransmitReceive_DMA
2869 .syntax unified
2870 .thumb
2871 .thumb_func
2872 .fpu softvfp
2874 HAL_SPI_TransmitReceive_DMA:
2875 .LVL186:
2876 .LFB77:
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
2877 .loc 1 1853 1 is_stmt 1 view -0
2878 .cfi_startproc
2879 @ args = 0, pretend = 0, frame = 0
2880 @ frame_needed = 0, uses_anonymous_args = 0
1853:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tmp_mode;
2881 .loc 1 1853 1 is_stmt 0 view .LVU961
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 135
2882 0000 38B5 push {r3, r4, r5, lr}
2883 .LCFI33:
2884 .cfi_def_cfa_offset 16
2885 .cfi_offset 3, -16
2886 .cfi_offset 4, -12
2887 .cfi_offset 5, -8
2888 .cfi_offset 14, -4
1854:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state;
2889 .loc 1 1854 3 is_stmt 1 view .LVU962
1855:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
2890 .loc 1 1855 3 view .LVU963
1856:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2891 .loc 1 1856 3 view .LVU964
2892 .LVL187:
1859:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx));
2893 .loc 1 1859 3 view .LVU965
1860:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2894 .loc 1 1860 3 view .LVU966
1863:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2895 .loc 1 1863 3 view .LVU967
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2896 .loc 1 1866 3 view .LVU968
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2897 .loc 1 1866 3 view .LVU969
2898 0002 90F85040 ldrb r4, [r0, #80] @ zero_extendqisi2
2899 0006 012C cmp r4, #1
2900 0008 00F09580 beq .L232
2901 000c 0446 mov r4, r0
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2902 .loc 1 1866 3 discriminator 2 view .LVU970
2903 000e 0120 movs r0, #1
2904 .LVL188:
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2905 .loc 1 1866 3 is_stmt 0 discriminator 2 view .LVU971
2906 0010 84F85000 strb r0, [r4, #80]
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2907 .loc 1 1869 3 is_stmt 1 discriminator 2 view .LVU972
1869:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** tmp_mode = hspi->Init.Mode;
2908 .loc 1 1869 23 is_stmt 0 discriminator 2 view .LVU973
2909 0014 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2
2910 0018 C0B2 uxtb r0, r0
2911 .LVL189:
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2912 .loc 1 1870 3 is_stmt 1 discriminator 2 view .LVU974
1870:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2913 .loc 1 1870 23 is_stmt 0 discriminator 2 view .LVU975
2914 001a 6568 ldr r5, [r4, #4]
2915 .LVL190:
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2916 .loc 1 1872 3 is_stmt 1 discriminator 2 view .LVU976
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2917 .loc 1 1872 6 is_stmt 0 discriminator 2 view .LVU977
2918 001c 0128 cmp r0, #1
2919 001e 07D0 beq .L224
1872:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st
2920 .loc 1 1872 7 discriminator 1 view .LVU978
2921 0020 B5F5827F cmp r5, #260
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 136
2922 0024 77D1 bne .L233
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2923 .loc 1 1873 54 view .LVU979
2924 0026 A568 ldr r5, [r4, #8]
2925 .LVL191:
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2926 .loc 1 1873 40 view .LVU980
2927 0028 002D cmp r5, #0
2928 002a 7AD1 bne .L234
1873:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2929 .loc 1 1873 90 discriminator 1 view .LVU981
2930 002c 0428 cmp r0, #4
2931 002e 7AD1 bne .L235
2932 .L224:
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2933 .loc 1 1879 3 is_stmt 1 view .LVU982
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2934 .loc 1 1879 6 is_stmt 0 view .LVU983
2935 0030 0029 cmp r1, #0
2936 0032 7AD0 beq .L236
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2937 .loc 1 1879 25 discriminator 1 view .LVU984
2938 0034 002A cmp r2, #0
2939 0036 7AD0 beq .L237
1879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2940 .loc 1 1879 46 discriminator 2 view .LVU985
2941 0038 002B cmp r3, #0
2942 003a 7AD0 beq .L238
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2943 .loc 1 1886 3 is_stmt 1 view .LVU986
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2944 .loc 1 1886 11 is_stmt 0 view .LVU987
2945 003c 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2
2946 .LVL192:
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2947 .loc 1 1886 11 view .LVU988
2948 0040 C0B2 uxtb r0, r0
1886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2949 .loc 1 1886 6 view .LVU989
2950 0042 0428 cmp r0, #4
2951 0044 02D0 beq .L226
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2952 .loc 1 1888 5 is_stmt 1 view .LVU990
1888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
2953 .loc 1 1888 17 is_stmt 0 view .LVU991
2954 0046 0520 movs r0, #5
2955 0048 84F85100 strb r0, [r4, #81]
2956 .L226:
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
2957 .loc 1 1892 3 is_stmt 1 view .LVU992
1892:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)pTxData;
2958 .loc 1 1892 21 is_stmt 0 view .LVU993
2959 004c 0020 movs r0, #0
2960 004e 6065 str r0, [r4, #84]
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
2961 .loc 1 1893 3 is_stmt 1 view .LVU994
1893:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = Size;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 137
2962 .loc 1 1893 21 is_stmt 0 view .LVU995
2963 0050 2163 str r1, [r4, #48]
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2964 .loc 1 1894 3 is_stmt 1 view .LVU996
1894:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = Size;
2965 .loc 1 1894 21 is_stmt 0 view .LVU997
2966 0052 A386 strh r3, [r4, #52] @ movhi
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2967 .loc 1 1895 3 is_stmt 1 view .LVU998
1895:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2968 .loc 1 1895 21 is_stmt 0 view .LVU999
2969 0054 E386 strh r3, [r4, #54] @ movhi
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2970 .loc 1 1896 3 is_stmt 1 view .LVU1000
1896:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
2971 .loc 1 1896 21 is_stmt 0 view .LVU1001
2972 0056 A263 str r2, [r4, #56]
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2973 .loc 1 1897 3 is_stmt 1 view .LVU1002
1897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
2974 .loc 1 1897 21 is_stmt 0 view .LVU1003
2975 0058 A387 strh r3, [r4, #60] @ movhi
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2976 .loc 1 1898 3 is_stmt 1 view .LVU1004
1898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2977 .loc 1 1898 21 is_stmt 0 view .LVU1005
2978 005a E387 strh r3, [r4, #62] @ movhi
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2979 .loc 1 1901 3 is_stmt 1 view .LVU1006
1901:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
2980 .loc 1 1901 21 is_stmt 0 view .LVU1007
2981 005c 2064 str r0, [r4, #64]
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2982 .loc 1 1902 3 is_stmt 1 view .LVU1008
1902:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
2983 .loc 1 1902 21 is_stmt 0 view .LVU1009
2984 005e 6064 str r0, [r4, #68]
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2985 .loc 1 1913 3 is_stmt 1 view .LVU1010
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2986 .loc 1 1913 11 is_stmt 0 view .LVU1011
2987 0060 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
2988 .LVL193:
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2989 .loc 1 1913 11 view .LVU1012
2990 0064 DBB2 uxtb r3, r3
1913:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
2991 .loc 1 1913 6 view .LVU1013
2992 0066 042B cmp r3, #4
2993 0068 1BD0 beq .L240
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2994 .loc 1 1922 5 is_stmt 1 view .LVU1014
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2995 .loc 1 1922 9 is_stmt 0 view .LVU1015
2996 006a E36C ldr r3, [r4, #76]
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2997 .loc 1 1922 40 view .LVU1016
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 138
2998 006c 334A ldr r2, .L242
2999 .LVL194:
1922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
3000 .loc 1 1922 40 view .LVU1017
3001 006e DA62 str r2, [r3, #44]
3002 .LVL195:
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3003 .loc 1 1923 5 is_stmt 1 view .LVU1018
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3004 .loc 1 1923 9 is_stmt 0 view .LVU1019
3005 0070 E36C ldr r3, [r4, #76]
1923:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3006 .loc 1 1923 40 view .LVU1020
3007 0072 334A ldr r2, .L242+4
3008 0074 9A62 str r2, [r3, #40]
3009 .L228:
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3010 .loc 1 1927 3 is_stmt 1 view .LVU1021
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3011 .loc 1 1927 7 is_stmt 0 view .LVU1022
3012 0076 E36C ldr r3, [r4, #76]
1927:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3013 .loc 1 1927 35 view .LVU1023
3014 0078 324A ldr r2, .L242+8
3015 007a 1A63 str r2, [r3, #48]
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3016 .loc 1 1930 3 is_stmt 1 view .LVU1024
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3017 .loc 1 1930 7 is_stmt 0 view .LVU1025
3018 007c E36C ldr r3, [r4, #76]
1930:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3019 .loc 1 1930 35 view .LVU1026
3020 007e 0022 movs r2, #0
3021 0080 5A63 str r2, [r3, #52]
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3022 .loc 1 1933 3 is_stmt 1 view .LVU1027
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3023 .loc 1 1933 63 is_stmt 0 view .LVU1028
3024 0082 2168 ldr r1, [r4]
3025 .LVL196:
1934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3026 .loc 1 1934 38 view .LVU1029
3027 0084 E38F ldrh r3, [r4, #62]
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3028 .loc 1 1933 17 view .LVU1030
3029 0086 A26B ldr r2, [r4, #56]
3030 0088 0C31 adds r1, r1, #12
3031 008a E06C ldr r0, [r4, #76]
3032 008c FFF7FEFF bl HAL_DMA_Start_IT
3033 .LVL197:
1933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3034 .loc 1 1933 6 view .LVU1031
3035 0090 70B1 cbz r0, .L229
1937:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
3036 .loc 1 1937 5 is_stmt 1 view .LVU1032
3037 0092 636D ldr r3, [r4, #84]
3038 0094 43F01003 orr r3, r3, #16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 139
3039 0098 6365 str r3, [r4, #84]
1938:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3040 .loc 1 1938 5 view .LVU1033
3041 .LVL198:
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3042 .loc 1 1940 5 view .LVU1034
1940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3043 .loc 1 1940 17 is_stmt 0 view .LVU1035
3044 009a 0123 movs r3, #1
3045 009c 84F85130 strb r3, [r4, #81]
1941:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3046 .loc 1 1941 5 is_stmt 1 view .LVU1036
3047 00a0 3AE0 b .L225
3048 .LVL199:
3049 .L240:
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
3050 .loc 1 1916 5 view .LVU1037
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
3051 .loc 1 1916 9 is_stmt 0 view .LVU1038
3052 00a2 E36C ldr r3, [r4, #76]
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
3053 .loc 1 1916 40 view .LVU1039
3054 00a4 284A ldr r2, .L242+12
3055 .LVL200:
1916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
3056 .loc 1 1916 40 view .LVU1040
3057 00a6 DA62 str r2, [r3, #44]
3058 .LVL201:
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3059 .loc 1 1917 5 is_stmt 1 view .LVU1041
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3060 .loc 1 1917 9 is_stmt 0 view .LVU1042
3061 00a8 E36C ldr r3, [r4, #76]
1917:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3062 .loc 1 1917 40 view .LVU1043
3063 00aa 284A ldr r2, .L242+16
3064 00ac 9A62 str r2, [r3, #40]
3065 00ae E2E7 b .L228
3066 .LVL202:
3067 .L229:
1945:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3068 .loc 1 1945 3 is_stmt 1 view .LVU1044
3069 00b0 2268 ldr r2, [r4]
3070 00b2 5368 ldr r3, [r2, #4]
3071 00b4 43F00103 orr r3, r3, #1
3072 00b8 5360 str r3, [r2, #4]
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
3073 .loc 1 1949 3 view .LVU1045
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
3074 .loc 1 1949 7 is_stmt 0 view .LVU1046
3075 00ba A26C ldr r2, [r4, #72]
1949:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
3076 .loc 1 1949 38 view .LVU1047
3077 00bc 0023 movs r3, #0
3078 00be D362 str r3, [r2, #44]
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
3079 .loc 1 1950 3 is_stmt 1 view .LVU1048
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 140
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
3080 .loc 1 1950 7 is_stmt 0 view .LVU1049
3081 00c0 A26C ldr r2, [r4, #72]
1950:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL;
3082 .loc 1 1950 38 view .LVU1050
3083 00c2 9362 str r3, [r2, #40]
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3084 .loc 1 1951 3 is_stmt 1 view .LVU1051
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3085 .loc 1 1951 7 is_stmt 0 view .LVU1052
3086 00c4 A26C ldr r2, [r4, #72]
1951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3087 .loc 1 1951 38 view .LVU1053
3088 00c6 1363 str r3, [r2, #48]
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3089 .loc 1 1952 3 is_stmt 1 view .LVU1054
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3090 .loc 1 1952 7 is_stmt 0 view .LVU1055
3091 00c8 A26C ldr r2, [r4, #72]
1952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3092 .loc 1 1952 38 view .LVU1056
3093 00ca 5363 str r3, [r2, #52]
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
3094 .loc 1 1955 3 is_stmt 1 view .LVU1057
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
3095 .loc 1 1955 91 is_stmt 0 view .LVU1058
3096 00cc 2268 ldr r2, [r4]
1956:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3097 .loc 1 1956 38 view .LVU1059
3098 00ce E38E ldrh r3, [r4, #54]
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
3099 .loc 1 1955 17 view .LVU1060
3100 00d0 0C32 adds r2, r2, #12
3101 00d2 216B ldr r1, [r4, #48]
3102 00d4 A06C ldr r0, [r4, #72]
3103 00d6 FFF7FEFF bl HAL_DMA_Start_IT
3104 .LVL203:
1955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount))
3105 .loc 1 1955 6 view .LVU1061
3106 00da 0346 mov r3, r0
3107 00dc 98B9 cbnz r0, .L241
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3108 .loc 1 1967 3 is_stmt 1 view .LVU1062
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3109 .loc 1 1967 12 is_stmt 0 view .LVU1063
3110 00de 2268 ldr r2, [r4]
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3111 .loc 1 1967 22 view .LVU1064
3112 00e0 1168 ldr r1, [r2]
1967:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3113 .loc 1 1967 6 view .LVU1065
3114 00e2 11F0400F tst r1, #64
3115 00e6 03D1 bne .L231
1970:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3116 .loc 1 1970 5 is_stmt 1 view .LVU1066
3117 00e8 1168 ldr r1, [r2]
3118 00ea 41F04001 orr r1, r1, #64
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 141
3119 00ee 1160 str r1, [r2]
3120 .L231:
1973:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3121 .loc 1 1973 3 view .LVU1067
3122 00f0 2168 ldr r1, [r4]
3123 00f2 4A68 ldr r2, [r1, #4]
3124 00f4 42F02002 orr r2, r2, #32
3125 00f8 4A60 str r2, [r1, #4]
1976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3126 .loc 1 1976 3 view .LVU1068
3127 00fa 2168 ldr r1, [r4]
3128 00fc 4A68 ldr r2, [r1, #4]
3129 00fe 42F00202 orr r2, r2, #2
3130 0102 4A60 str r2, [r1, #4]
3131 0104 08E0 b .L225
3132 .L241:
1959:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
3133 .loc 1 1959 5 view .LVU1069
3134 0106 636D ldr r3, [r4, #84]
3135 0108 43F01003 orr r3, r3, #16
3136 010c 6365 str r3, [r4, #84]
1960:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3137 .loc 1 1960 5 view .LVU1070
3138 .LVL204:
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3139 .loc 1 1962 5 view .LVU1071
1962:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3140 .loc 1 1962 17 is_stmt 0 view .LVU1072
3141 010e 0123 movs r3, #1
3142 0110 84F85130 strb r3, [r4, #81]
1963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3143 .loc 1 1963 5 is_stmt 1 view .LVU1073
3144 0114 00E0 b .L225
3145 .LVL205:
3146 .L233:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3147 .loc 1 1875 15 is_stmt 0 view .LVU1074
3148 0116 0223 movs r3, #2
3149 .LVL206:
3150 .L225:
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3151 .loc 1 1980 3 is_stmt 1 view .LVU1075
1980:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3152 .loc 1 1980 3 view .LVU1076
3153 0118 0022 movs r2, #0
3154 011a 84F85020 strb r2, [r4, #80]
1981:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3155 .loc 1 1981 3 view .LVU1077
3156 .LVL207:
3157 .L223:
1982:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3158 .loc 1 1982 1 is_stmt 0 view .LVU1078
3159 011e 1846 mov r0, r3
3160 0120 38BD pop {r3, r4, r5, pc}
3161 .LVL208:
3162 .L234:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 142
3163 .loc 1 1875 15 view .LVU1079
3164 0122 0223 movs r3, #2
3165 .LVL209:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3166 .loc 1 1875 15 view .LVU1080
3167 0124 F8E7 b .L225
3168 .LVL210:
3169 .L235:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3170 .loc 1 1875 15 view .LVU1081
3171 0126 0223 movs r3, #2
3172 .LVL211:
1875:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3173 .loc 1 1875 15 view .LVU1082
3174 0128 F6E7 b .L225
3175 .LVL212:
3176 .L236:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3177 .loc 1 1881 15 view .LVU1083
3178 012a 0123 movs r3, #1
3179 .LVL213:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3180 .loc 1 1881 15 view .LVU1084
3181 012c F4E7 b .L225
3182 .LVL214:
3183 .L237:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3184 .loc 1 1881 15 view .LVU1085
3185 012e 0123 movs r3, #1
3186 .LVL215:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3187 .loc 1 1881 15 view .LVU1086
3188 0130 F2E7 b .L225
3189 .LVL216:
3190 .L238:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3191 .loc 1 1881 15 view .LVU1087
3192 0132 0123 movs r3, #1
3193 .LVL217:
1881:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3194 .loc 1 1881 15 view .LVU1088
3195 0134 F0E7 b .L225
3196 .LVL218:
3197 .L232:
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3198 .loc 1 1866 3 view .LVU1089
3199 0136 0223 movs r3, #2
3200 .LVL219:
1866:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3201 .loc 1 1866 3 view .LVU1090
3202 0138 F1E7 b .L223
3203 .L243:
3204 013a 00BF .align 2
3205 .L242:
3206 013c 00000000 .word SPI_DMAHalfTransmitReceiveCplt
3207 0140 00000000 .word SPI_DMATransmitReceiveCplt
3208 0144 00000000 .word SPI_DMAError
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 143
3209 0148 00000000 .word SPI_DMAHalfReceiveCplt
3210 014c 00000000 .word SPI_DMAReceiveCplt
3211 .cfi_endproc
3212 .LFE77:
3214 .section .text.HAL_SPI_Receive_DMA,"ax",%progbits
3215 .align 1
3216 .global HAL_SPI_Receive_DMA
3217 .syntax unified
3218 .thumb
3219 .thumb_func
3220 .fpu softvfp
3222 HAL_SPI_Receive_DMA:
3223 .LVL220:
3224 .LFB76:
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3225 .loc 1 1739 1 is_stmt 1 view -0
3226 .cfi_startproc
3227 @ args = 0, pretend = 0, frame = 0
3228 @ frame_needed = 0, uses_anonymous_args = 0
1739:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3229 .loc 1 1739 1 is_stmt 0 view .LVU1092
3230 0000 38B5 push {r3, r4, r5, lr}
3231 .LCFI34:
3232 .cfi_def_cfa_offset 16
3233 .cfi_offset 3, -16
3234 .cfi_offset 4, -12
3235 .cfi_offset 5, -8
3236 .cfi_offset 14, -4
3237 0002 0446 mov r4, r0
1740:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3238 .loc 1 1740 3 is_stmt 1 view .LVU1093
3239 .LVL221:
1743:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3240 .loc 1 1743 3 view .LVU1094
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3241 .loc 1 1745 3 view .LVU1095
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3242 .loc 1 1745 18 is_stmt 0 view .LVU1096
3243 0004 8568 ldr r5, [r0, #8]
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3244 .loc 1 1745 6 view .LVU1097
3245 0006 1DB9 cbnz r5, .L245
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3246 .loc 1 1745 68 discriminator 1 view .LVU1098
3247 0008 4368 ldr r3, [r0, #4]
1745:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3248 .loc 1 1745 54 discriminator 1 view .LVU1099
3249 000a B3F5827F cmp r3, #260
3250 000e 47D0 beq .L256
3251 .L245:
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3252 .loc 1 1757 3 is_stmt 1 view .LVU1100
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3253 .loc 1 1757 3 view .LVU1101
3254 0010 94F85000 ldrb r0, [r4, #80] @ zero_extendqisi2
3255 .LVL222:
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 144
3256 .loc 1 1757 3 is_stmt 0 view .LVU1102
3257 0014 0128 cmp r0, #1
3258 0016 64D0 beq .L251
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3259 .loc 1 1757 3 is_stmt 1 discriminator 2 view .LVU1103
3260 0018 0123 movs r3, #1
3261 001a 84F85030 strb r3, [r4, #80]
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3262 .loc 1 1759 3 discriminator 2 view .LVU1104
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3263 .loc 1 1759 11 is_stmt 0 discriminator 2 view .LVU1105
3264 001e 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2
3265 0022 C0B2 uxtb r0, r0
1759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3266 .loc 1 1759 6 discriminator 2 view .LVU1106
3267 0024 9842 cmp r0, r3
3268 0026 52D1 bne .L252
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3269 .loc 1 1765 3 is_stmt 1 view .LVU1107
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3270 .loc 1 1765 6 is_stmt 0 view .LVU1108
3271 0028 0029 cmp r1, #0
3272 002a 56D0 beq .L253
1765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3273 .loc 1 1765 23 discriminator 1 view .LVU1109
3274 002c 002A cmp r2, #0
3275 002e 56D0 beq .L254
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3276 .loc 1 1772 3 is_stmt 1 view .LVU1110
1772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3277 .loc 1 1772 21 is_stmt 0 view .LVU1111
3278 0030 0423 movs r3, #4
3279 0032 84F85130 strb r3, [r4, #81]
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3280 .loc 1 1773 3 is_stmt 1 view .LVU1112
1773:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3281 .loc 1 1773 21 is_stmt 0 view .LVU1113
3282 0036 0023 movs r3, #0
3283 0038 6365 str r3, [r4, #84]
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
3284 .loc 1 1774 3 is_stmt 1 view .LVU1114
1774:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferSize = Size;
3285 .loc 1 1774 21 is_stmt 0 view .LVU1115
3286 003a A163 str r1, [r4, #56]
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
3287 .loc 1 1775 3 is_stmt 1 view .LVU1116
1775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = Size;
3288 .loc 1 1775 21 is_stmt 0 view .LVU1117
3289 003c A287 strh r2, [r4, #60] @ movhi
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3290 .loc 1 1776 3 is_stmt 1 view .LVU1118
1776:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3291 .loc 1 1776 21 is_stmt 0 view .LVU1119
3292 003e E287 strh r2, [r4, #62] @ movhi
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
3293 .loc 1 1779 3 is_stmt 1 view .LVU1120
1779:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxISR = NULL;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 145
3294 .loc 1 1779 21 is_stmt 0 view .LVU1121
3295 0040 2364 str r3, [r4, #64]
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
3296 .loc 1 1780 3 is_stmt 1 view .LVU1122
1780:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferSize = 0U;
3297 .loc 1 1780 21 is_stmt 0 view .LVU1123
3298 0042 6364 str r3, [r4, #68]
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3299 .loc 1 1781 3 is_stmt 1 view .LVU1124
1781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3300 .loc 1 1781 21 is_stmt 0 view .LVU1125
3301 0044 A386 strh r3, [r4, #52] @ movhi
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3302 .loc 1 1782 3 is_stmt 1 view .LVU1126
1782:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3303 .loc 1 1782 21 is_stmt 0 view .LVU1127
3304 0046 E386 strh r3, [r4, #54] @ movhi
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3305 .loc 1 1785 3 is_stmt 1 view .LVU1128
1785:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3306 .loc 1 1785 6 is_stmt 0 view .LVU1129
3307 0048 B5F5004F cmp r5, #32768
3308 004c 31D0 beq .L257
3309 .LVL223:
3310 .L248:
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3311 .loc 1 1799 3 is_stmt 1 view .LVU1130
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3312 .loc 1 1799 7 is_stmt 0 view .LVU1131
3313 004e E36C ldr r3, [r4, #76]
1799:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3314 .loc 1 1799 38 view .LVU1132
3315 0050 254A ldr r2, .L259
3316 0052 DA62 str r2, [r3, #44]
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3317 .loc 1 1802 3 is_stmt 1 view .LVU1133
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3318 .loc 1 1802 7 is_stmt 0 view .LVU1134
3319 0054 E36C ldr r3, [r4, #76]
1802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3320 .loc 1 1802 34 view .LVU1135
3321 0056 254A ldr r2, .L259+4
3322 0058 9A62 str r2, [r3, #40]
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3323 .loc 1 1805 3 is_stmt 1 view .LVU1136
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3324 .loc 1 1805 7 is_stmt 0 view .LVU1137
3325 005a E36C ldr r3, [r4, #76]
1805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3326 .loc 1 1805 35 view .LVU1138
3327 005c 244A ldr r2, .L259+8
3328 005e 1A63 str r2, [r3, #48]
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3329 .loc 1 1808 3 is_stmt 1 view .LVU1139
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3330 .loc 1 1808 7 is_stmt 0 view .LVU1140
3331 0060 E36C ldr r3, [r4, #76]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 146
1808:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3332 .loc 1 1808 35 view .LVU1141
3333 0062 0022 movs r2, #0
3334 0064 5A63 str r2, [r3, #52]
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3335 .loc 1 1811 3 is_stmt 1 view .LVU1142
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3336 .loc 1 1811 63 is_stmt 0 view .LVU1143
3337 0066 2168 ldr r1, [r4]
3338 .LVL224:
1812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3339 .loc 1 1812 38 view .LVU1144
3340 0068 E38F ldrh r3, [r4, #62]
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3341 .loc 1 1811 17 view .LVU1145
3342 006a A26B ldr r2, [r4, #56]
3343 006c 0C31 adds r1, r1, #12
3344 006e E06C ldr r0, [r4, #76]
3345 0070 FFF7FEFF bl HAL_DMA_Start_IT
3346 .LVL225:
1811:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount))
3347 .loc 1 1811 6 view .LVU1146
3348 0074 0346 mov r3, r0
3349 0076 10BB cbnz r0, .L258
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3350 .loc 1 1823 3 is_stmt 1 view .LVU1147
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3351 .loc 1 1823 12 is_stmt 0 view .LVU1148
3352 0078 2268 ldr r2, [r4]
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3353 .loc 1 1823 22 view .LVU1149
3354 007a 1168 ldr r1, [r2]
1823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3355 .loc 1 1823 6 view .LVU1150
3356 007c 11F0400F tst r1, #64
3357 0080 03D1 bne .L250
1826:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3358 .loc 1 1826 5 is_stmt 1 view .LVU1151
3359 0082 1168 ldr r1, [r2]
3360 0084 41F04001 orr r1, r1, #64
3361 0088 1160 str r1, [r2]
3362 .L250:
1830:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3363 .loc 1 1830 3 view .LVU1152
3364 008a 2168 ldr r1, [r4]
3365 008c 4A68 ldr r2, [r1, #4]
3366 008e 42F02002 orr r2, r2, #32
3367 0092 4A60 str r2, [r1, #4]
1833:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3368 .loc 1 1833 3 view .LVU1153
3369 0094 2168 ldr r1, [r4]
3370 0096 4A68 ldr r2, [r1, #4]
3371 0098 42F00102 orr r2, r2, #1
3372 009c 4A60 str r2, [r1, #4]
3373 009e 17E0 b .L247
3374 .LVL226:
3375 .L256:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 147
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3376 .loc 1 1747 5 view .LVU1154
1747:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3377 .loc 1 1747 17 is_stmt 0 view .LVU1155
3378 00a0 0423 movs r3, #4
3379 00a2 80F85130 strb r3, [r0, #81]
1750:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3380 .loc 1 1750 5 is_stmt 1 view .LVU1156
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3381 .loc 1 1753 5 view .LVU1157
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3382 .loc 1 1753 12 is_stmt 0 view .LVU1158
3383 00a6 1346 mov r3, r2
3384 00a8 0A46 mov r2, r1
3385 .LVL227:
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3386 .loc 1 1753 12 view .LVU1159
3387 00aa FFF7FEFF bl HAL_SPI_TransmitReceive_DMA
3388 .LVL228:
1753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3389 .loc 1 1753 12 view .LVU1160
3390 00ae 0346 mov r3, r0
3391 00b0 11E0 b .L246
3392 .LVL229:
3393 .L257:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3394 .loc 1 1787 5 is_stmt 1 view .LVU1161
3395 00b2 2268 ldr r2, [r4]
3396 .LVL230:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3397 .loc 1 1787 5 is_stmt 0 view .LVU1162
3398 00b4 1368 ldr r3, [r2]
3399 00b6 23F48043 bic r3, r3, #16384
3400 00ba 1360 str r3, [r2]
3401 .LVL231:
1787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3402 .loc 1 1787 5 view .LVU1163
3403 00bc C7E7 b .L248
3404 .LVL232:
3405 .L258:
1815:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
3406 .loc 1 1815 5 is_stmt 1 view .LVU1164
3407 00be 636D ldr r3, [r4, #84]
3408 00c0 43F01003 orr r3, r3, #16
3409 00c4 6365 str r3, [r4, #84]
1816:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3410 .loc 1 1816 5 view .LVU1165
3411 .LVL233:
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3412 .loc 1 1818 5 view .LVU1166
1818:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3413 .loc 1 1818 17 is_stmt 0 view .LVU1167
3414 00c6 0123 movs r3, #1
3415 00c8 84F85130 strb r3, [r4, #81]
1819:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3416 .loc 1 1819 5 is_stmt 1 view .LVU1168
3417 00cc 00E0 b .L247
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 148
3418 .LVL234:
3419 .L252:
1761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3420 .loc 1 1761 15 is_stmt 0 view .LVU1169
3421 00ce 0223 movs r3, #2
3422 .LVL235:
3423 .L247:
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3424 .loc 1 1837 3 is_stmt 1 view .LVU1170
1837:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3425 .loc 1 1837 3 view .LVU1171
3426 00d0 0022 movs r2, #0
3427 00d2 84F85020 strb r2, [r4, #80]
1838:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3428 .loc 1 1838 3 view .LVU1172
3429 .LVL236:
3430 .L246:
1839:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3431 .loc 1 1839 1 is_stmt 0 view .LVU1173
3432 00d6 1846 mov r0, r3
3433 00d8 38BD pop {r3, r4, r5, pc}
3434 .LVL237:
3435 .L253:
1767:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** goto error;
3436 .loc 1 1767 15 view .LVU1174
3437 00da 0123 movs r3, #1
3438 00dc F8E7 b .L247
3439 .L254:
3440 00de 0123 movs r3, #1
3441 00e0 F6E7 b .L247
3442 .L251:
1757:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3443 .loc 1 1757 3 view .LVU1175
3444 00e2 0223 movs r3, #2
3445 00e4 F7E7 b .L246
3446 .L260:
3447 00e6 00BF .align 2
3448 .L259:
3449 00e8 00000000 .word SPI_DMAHalfReceiveCplt
3450 00ec 00000000 .word SPI_DMAReceiveCplt
3451 00f0 00000000 .word SPI_DMAError
3452 .cfi_endproc
3453 .LFE76:
3455 .section .text.HAL_SPI_Abort,"ax",%progbits
3456 .align 1
3457 .global HAL_SPI_Abort
3458 .syntax unified
3459 .thumb
3460 .thumb_func
3461 .fpu softvfp
3463 HAL_SPI_Abort:
3464 .LVL238:
3465 .LFB78:
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
3466 .loc 1 1998 1 is_stmt 1 view -0
3467 .cfi_startproc
3468 @ args = 0, pretend = 0, frame = 16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 149
3469 @ frame_needed = 0, uses_anonymous_args = 0
1998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
3470 .loc 1 1998 1 is_stmt 0 view .LVU1177
3471 0000 10B5 push {r4, lr}
3472 .LCFI35:
3473 .cfi_def_cfa_offset 8
3474 .cfi_offset 4, -8
3475 .cfi_offset 14, -4
3476 0002 84B0 sub sp, sp, #16
3477 .LCFI36:
3478 .cfi_def_cfa_offset 24
3479 0004 0446 mov r4, r0
1999:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
3480 .loc 1 1999 3 is_stmt 1 view .LVU1178
2000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t resetcount;
3481 .loc 1 2000 3 view .LVU1179
2001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3482 .loc 1 2001 3 view .LVU1180
2004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
3483 .loc 1 2004 3 view .LVU1181
3484 .LVL239:
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
3485 .loc 1 2005 3 view .LVU1182
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
3486 .loc 1 2005 61 is_stmt 0 view .LVU1183
3487 0006 4A4B ldr r3, .L282
3488 0008 1B68 ldr r3, [r3]
3489 000a 4A4A ldr r2, .L282+4
3490 000c A2FB0323 umull r2, r3, r2, r3
3491 0010 5B0A lsrs r3, r3, #9
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
3492 .loc 1 2005 36 view .LVU1184
3493 0012 6422 movs r2, #100
3494 0014 02FB03F3 mul r3, r2, r3
2005:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
3495 .loc 1 2005 14 view .LVU1185
3496 0018 0293 str r3, [sp, #8]
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3497 .loc 1 2006 3 is_stmt 1 view .LVU1186
2006:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3498 .loc 1 2006 9 is_stmt 0 view .LVU1187
3499 001a 029B ldr r3, [sp, #8]
3500 001c 0393 str r3, [sp, #12]
2009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3501 .loc 1 2009 3 is_stmt 1 view .LVU1188
3502 001e 0268 ldr r2, [r0]
3503 0020 5368 ldr r3, [r2, #4]
3504 0022 23F02003 bic r3, r3, #32
3505 0026 5360 str r3, [r2, #4]
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3506 .loc 1 2012 3 view .LVU1189
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3507 .loc 1 2012 7 is_stmt 0 view .LVU1190
3508 0028 0368 ldr r3, [r0]
3509 002a 5B68 ldr r3, [r3, #4]
2012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3510 .loc 1 2012 6 view .LVU1191
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 150
3511 002c 13F0800F tst r3, #128
3512 0030 12D0 beq .L262
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
3513 .loc 1 2014 5 is_stmt 1 view .LVU1192
2014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
3514 .loc 1 2014 17 is_stmt 0 view .LVU1193
3515 0032 414B ldr r3, .L282+8
3516 0034 4364 str r3, [r0, #68]
3517 .L265:
2016:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3518 .loc 1 2016 5 is_stmt 1 view .LVU1194
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3519 .loc 1 2018 7 view .LVU1195
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3520 .loc 1 2018 17 is_stmt 0 view .LVU1196
3521 0036 039B ldr r3, [sp, #12]
2018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3522 .loc 1 2018 10 view .LVU1197
3523 0038 43B1 cbz r3, .L279
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
3524 .loc 1 2023 7 is_stmt 1 view .LVU1198
2023:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
3525 .loc 1 2023 12 is_stmt 0 view .LVU1199
3526 003a 039B ldr r3, [sp, #12]
3527 003c 013B subs r3, r3, #1
3528 003e 0393 str r3, [sp, #12]
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
3529 .loc 1 2024 18 view .LVU1200
3530 0040 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
3531 0044 DBB2 uxtb r3, r3
2024:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
3532 .loc 1 2024 5 view .LVU1201
3533 0046 072B cmp r3, #7
3534 0048 F5D1 bne .L265
3535 004a 03E0 b .L264
3536 .L279:
2020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3537 .loc 1 2020 9 is_stmt 1 view .LVU1202
3538 004c 636D ldr r3, [r4, #84]
3539 004e 43F04003 orr r3, r3, #64
3540 0052 6365 str r3, [r4, #84]
2021:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3541 .loc 1 2021 9 view .LVU1203
3542 .L264:
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3543 .loc 1 2026 5 view .LVU1204
2026:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3544 .loc 1 2026 11 is_stmt 0 view .LVU1205
3545 0054 029B ldr r3, [sp, #8]
3546 0056 0393 str r3, [sp, #12]
3547 .L262:
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3548 .loc 1 2029 3 is_stmt 1 view .LVU1206
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3549 .loc 1 2029 7 is_stmt 0 view .LVU1207
3550 0058 2368 ldr r3, [r4]
3551 005a 5B68 ldr r3, [r3, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 151
2029:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3552 .loc 1 2029 6 view .LVU1208
3553 005c 13F0400F tst r3, #64
3554 0060 12D0 beq .L266
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
3555 .loc 1 2031 5 is_stmt 1 view .LVU1209
2031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
3556 .loc 1 2031 17 is_stmt 0 view .LVU1210
3557 0062 364B ldr r3, .L282+12
3558 0064 2364 str r3, [r4, #64]
3559 .L269:
2033:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3560 .loc 1 2033 5 is_stmt 1 view .LVU1211
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3561 .loc 1 2035 7 view .LVU1212
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3562 .loc 1 2035 17 is_stmt 0 view .LVU1213
3563 0066 039B ldr r3, [sp, #12]
2035:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3564 .loc 1 2035 10 view .LVU1214
3565 0068 43B1 cbz r3, .L280
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
3566 .loc 1 2040 7 is_stmt 1 view .LVU1215
2040:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
3567 .loc 1 2040 12 is_stmt 0 view .LVU1216
3568 006a 039B ldr r3, [sp, #12]
3569 006c 013B subs r3, r3, #1
3570 006e 0393 str r3, [sp, #12]
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
3571 .loc 1 2041 18 view .LVU1217
3572 0070 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
3573 0074 DBB2 uxtb r3, r3
2041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
3574 .loc 1 2041 5 view .LVU1218
3575 0076 072B cmp r3, #7
3576 0078 F5D1 bne .L269
3577 007a 03E0 b .L268
3578 .L280:
2037:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3579 .loc 1 2037 9 is_stmt 1 view .LVU1219
3580 007c 636D ldr r3, [r4, #84]
3581 007e 43F04003 orr r3, r3, #64
3582 0082 6365 str r3, [r4, #84]
2038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3583 .loc 1 2038 9 view .LVU1220
3584 .L268:
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3585 .loc 1 2043 5 view .LVU1221
2043:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3586 .loc 1 2043 11 is_stmt 0 view .LVU1222
3587 0084 029B ldr r3, [sp, #8]
3588 0086 0393 str r3, [sp, #12]
3589 .L266:
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3590 .loc 1 2047 3 is_stmt 1 view .LVU1223
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3591 .loc 1 2047 7 is_stmt 0 view .LVU1224
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 152
3592 0088 2368 ldr r3, [r4]
3593 008a 5B68 ldr r3, [r3, #4]
2047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3594 .loc 1 2047 6 view .LVU1225
3595 008c 13F0020F tst r3, #2
3596 0090 1DD0 beq .L270
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3597 .loc 1 2050 5 is_stmt 1 view .LVU1226
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3598 .loc 1 2050 13 is_stmt 0 view .LVU1227
3599 0092 A36C ldr r3, [r4, #72]
2050:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3600 .loc 1 2050 8 view .LVU1228
3601 0094 DBB1 cbz r3, .L270
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3602 .loc 1 2054 7 is_stmt 1 view .LVU1229
2054:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3603 .loc 1 2054 39 is_stmt 0 view .LVU1230
3604 0096 0022 movs r2, #0
3605 0098 5A63 str r2, [r3, #52]
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3606 .loc 1 2057 7 is_stmt 1 view .LVU1231
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3607 .loc 1 2057 11 is_stmt 0 view .LVU1232
3608 009a A06C ldr r0, [r4, #72]
3609 .LVL240:
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3610 .loc 1 2057 11 view .LVU1233
3611 009c FFF7FEFF bl HAL_DMA_Abort
3612 .LVL241:
2057:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3613 .loc 1 2057 10 view .LVU1234
3614 00a0 08B1 cbz r0, .L271
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3615 .loc 1 2059 9 is_stmt 1 view .LVU1235
2059:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3616 .loc 1 2059 25 is_stmt 0 view .LVU1236
3617 00a2 4023 movs r3, #64
3618 00a4 6365 str r3, [r4, #84]
3619 .L271:
2063:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3620 .loc 1 2063 7 is_stmt 1 view .LVU1237
3621 00a6 2268 ldr r2, [r4]
3622 00a8 5368 ldr r3, [r2, #4]
3623 00aa 23F00203 bic r3, r3, #2
3624 00ae 5360 str r3, [r2, #4]
3625 .L273:
2066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3626 .loc 1 2066 7 view .LVU1238
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3627 .loc 1 2068 9 view .LVU1239
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3628 .loc 1 2068 19 is_stmt 0 view .LVU1240
3629 00b0 039B ldr r3, [sp, #12]
2068:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3630 .loc 1 2068 12 view .LVU1241
3631 00b2 43B1 cbz r3, .L281
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 153
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
3632 .loc 1 2073 9 is_stmt 1 view .LVU1242
2073:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
3633 .loc 1 2073 14 is_stmt 0 view .LVU1243
3634 00b4 039B ldr r3, [sp, #12]
3635 00b6 013B subs r3, r3, #1
3636 00b8 0393 str r3, [sp, #12]
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3637 .loc 1 2074 21 view .LVU1244
3638 00ba 2368 ldr r3, [r4]
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3639 .loc 1 2074 31 view .LVU1245
3640 00bc 9B68 ldr r3, [r3, #8]
2074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3641 .loc 1 2074 7 view .LVU1246
3642 00be 13F0020F tst r3, #2
3643 00c2 F5D0 beq .L273
3644 00c4 03E0 b .L270
3645 .L281:
2070:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
3646 .loc 1 2070 11 is_stmt 1 view .LVU1247
3647 00c6 636D ldr r3, [r4, #84]
3648 00c8 43F04003 orr r3, r3, #64
3649 00cc 6365 str r3, [r4, #84]
2071:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3650 .loc 1 2071 11 view .LVU1248
3651 .L270:
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3652 .loc 1 2079 3 view .LVU1249
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3653 .loc 1 2079 7 is_stmt 0 view .LVU1250
3654 00ce 2368 ldr r3, [r4]
3655 00d0 5B68 ldr r3, [r3, #4]
2079:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3656 .loc 1 2079 6 view .LVU1251
3657 00d2 13F0010F tst r3, #1
3658 00d6 13D0 beq .L274
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3659 .loc 1 2082 5 is_stmt 1 view .LVU1252
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3660 .loc 1 2082 13 is_stmt 0 view .LVU1253
3661 00d8 E36C ldr r3, [r4, #76]
2082:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3662 .loc 1 2082 8 view .LVU1254
3663 00da 8BB1 cbz r3, .L274
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3664 .loc 1 2086 7 is_stmt 1 view .LVU1255
2086:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3665 .loc 1 2086 39 is_stmt 0 view .LVU1256
3666 00dc 0022 movs r2, #0
3667 00de 5A63 str r2, [r3, #52]
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3668 .loc 1 2089 7 is_stmt 1 view .LVU1257
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3669 .loc 1 2089 11 is_stmt 0 view .LVU1258
3670 00e0 E06C ldr r0, [r4, #76]
3671 00e2 FFF7FEFF bl HAL_DMA_Abort
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 154
3672 .LVL242:
2089:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3673 .loc 1 2089 10 view .LVU1259
3674 00e6 08B1 cbz r0, .L275
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3675 .loc 1 2091 9 is_stmt 1 view .LVU1260
2091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3676 .loc 1 2091 25 is_stmt 0 view .LVU1261
3677 00e8 4023 movs r3, #64
3678 00ea 6365 str r3, [r4, #84]
3679 .L275:
2095:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3680 .loc 1 2095 7 is_stmt 1 view .LVU1262
3681 00ec 2268 ldr r2, [r4]
3682 00ee 1368 ldr r3, [r2]
3683 00f0 23F04003 bic r3, r3, #64
3684 00f4 1360 str r3, [r2]
2098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3685 .loc 1 2098 7 view .LVU1263
3686 00f6 2268 ldr r2, [r4]
3687 00f8 5368 ldr r3, [r2, #4]
3688 00fa 23F00103 bic r3, r3, #1
3689 00fe 5360 str r3, [r2, #4]
3690 .L274:
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3691 .loc 1 2102 3 view .LVU1264
2102:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
3692 .loc 1 2102 21 is_stmt 0 view .LVU1265
3693 0100 0023 movs r3, #0
3694 0102 E387 strh r3, [r4, #62] @ movhi
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3695 .loc 1 2103 3 is_stmt 1 view .LVU1266
2103:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3696 .loc 1 2103 21 is_stmt 0 view .LVU1267
3697 0104 E386 strh r3, [r4, #54] @ movhi
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3698 .loc 1 2106 3 is_stmt 1 view .LVU1268
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3699 .loc 1 2106 11 is_stmt 0 view .LVU1269
3700 0106 636D ldr r3, [r4, #84]
2106:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3701 .loc 1 2106 6 view .LVU1270
3702 0108 402B cmp r3, #64
3703 010a 0ED0 beq .L277
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3704 .loc 1 2114 5 is_stmt 1 view .LVU1271
2114:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3705 .loc 1 2114 21 is_stmt 0 view .LVU1272
3706 010c 0020 movs r0, #0
3707 010e 6065 str r0, [r4, #84]
3708 .L276:
3709 .LVL243:
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3710 .loc 1 2118 3 is_stmt 1 view .LVU1273
3711 .LBB4:
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3712 .loc 1 2118 3 view .LVU1274
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 155
3713 0110 0023 movs r3, #0
3714 0112 0193 str r3, [sp, #4]
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3715 .loc 1 2118 3 view .LVU1275
3716 0114 2368 ldr r3, [r4]
3717 0116 DA68 ldr r2, [r3, #12]
3718 0118 0192 str r2, [sp, #4]
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3719 .loc 1 2118 3 view .LVU1276
3720 011a 9B68 ldr r3, [r3, #8]
3721 011c 0193 str r3, [sp, #4]
2118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3722 .loc 1 2118 3 view .LVU1277
3723 011e 019B ldr r3, [sp, #4]
3724 .LBE4:
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3725 .loc 1 2121 3 view .LVU1278
2121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3726 .loc 1 2121 15 is_stmt 0 view .LVU1279
3727 0120 0123 movs r3, #1
3728 0122 84F85130 strb r3, [r4, #81]
2123:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3729 .loc 1 2123 3 is_stmt 1 view .LVU1280
2124:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3730 .loc 1 2124 1 is_stmt 0 view .LVU1281
3731 0126 04B0 add sp, sp, #16
3732 .LCFI37:
3733 .cfi_remember_state
3734 .cfi_def_cfa_offset 8
3735 @ sp needed
3736 0128 10BD pop {r4, pc}
3737 .LVL244:
3738 .L277:
3739 .LCFI38:
3740 .cfi_restore_state
2109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3741 .loc 1 2109 15 view .LVU1282
3742 012a 0120 movs r0, #1
3743 012c F0E7 b .L276
3744 .L283:
3745 012e 00BF .align 2
3746 .L282:
3747 0130 00000000 .word SystemCoreClock
3748 0134 F1197605 .word 91625969
3749 0138 00000000 .word SPI_AbortTx_ISR
3750 013c 00000000 .word SPI_AbortRx_ISR
3751 .cfi_endproc
3752 .LFE78:
3754 .section .text.HAL_SPI_DMAPause,"ax",%progbits
3755 .align 1
3756 .global HAL_SPI_DMAPause
3757 .syntax unified
3758 .thumb
3759 .thumb_func
3760 .fpu softvfp
3762 HAL_SPI_DMAPause:
3763 .LVL245:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 156
3764 .LFB80:
2302:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
3765 .loc 1 2302 1 is_stmt 1 view -0
3766 .cfi_startproc
3767 @ args = 0, pretend = 0, frame = 0
3768 @ frame_needed = 0, uses_anonymous_args = 0
3769 @ link register save eliminated.
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3770 .loc 1 2304 3 view .LVU1284
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3771 .loc 1 2304 3 view .LVU1285
3772 0000 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2
3773 0004 012B cmp r3, #1
3774 0006 0CD0 beq .L286
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3775 .loc 1 2304 3 discriminator 2 view .LVU1286
3776 0008 0123 movs r3, #1
3777 000a 80F85030 strb r3, [r0, #80]
2307:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3778 .loc 1 2307 3 discriminator 2 view .LVU1287
3779 000e 0268 ldr r2, [r0]
3780 0010 5368 ldr r3, [r2, #4]
3781 0012 23F00303 bic r3, r3, #3
3782 0016 5360 str r3, [r2, #4]
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3783 .loc 1 2310 3 discriminator 2 view .LVU1288
2310:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3784 .loc 1 2310 3 discriminator 2 view .LVU1289
3785 0018 0023 movs r3, #0
3786 001a 80F85030 strb r3, [r0, #80]
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3787 .loc 1 2312 3 discriminator 2 view .LVU1290
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3788 .loc 1 2312 10 is_stmt 0 discriminator 2 view .LVU1291
3789 001e 1846 mov r0, r3
3790 .LVL246:
2312:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3791 .loc 1 2312 10 discriminator 2 view .LVU1292
3792 0020 7047 bx lr
3793 .LVL247:
3794 .L286:
2304:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3795 .loc 1 2304 3 view .LVU1293
3796 0022 0220 movs r0, #2
3797 .LVL248:
2313:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3798 .loc 1 2313 1 view .LVU1294
3799 0024 7047 bx lr
3800 .cfi_endproc
3801 .LFE80:
3803 .section .text.HAL_SPI_DMAResume,"ax",%progbits
3804 .align 1
3805 .global HAL_SPI_DMAResume
3806 .syntax unified
3807 .thumb
3808 .thumb_func
3809 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 157
3811 HAL_SPI_DMAResume:
3812 .LVL249:
3813 .LFB81:
2322:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Process Locked */
3814 .loc 1 2322 1 is_stmt 1 view -0
3815 .cfi_startproc
3816 @ args = 0, pretend = 0, frame = 0
3817 @ frame_needed = 0, uses_anonymous_args = 0
3818 @ link register save eliminated.
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3819 .loc 1 2324 3 view .LVU1296
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3820 .loc 1 2324 3 view .LVU1297
3821 0000 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2
3822 0004 012B cmp r3, #1
3823 0006 0CD0 beq .L289
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3824 .loc 1 2324 3 discriminator 2 view .LVU1298
3825 0008 0123 movs r3, #1
3826 000a 80F85030 strb r3, [r0, #80]
2327:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3827 .loc 1 2327 3 discriminator 2 view .LVU1299
3828 000e 0268 ldr r2, [r0]
3829 0010 5368 ldr r3, [r2, #4]
3830 0012 43F00303 orr r3, r3, #3
3831 0016 5360 str r3, [r2, #4]
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3832 .loc 1 2330 3 discriminator 2 view .LVU1300
2330:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3833 .loc 1 2330 3 discriminator 2 view .LVU1301
3834 0018 0023 movs r3, #0
3835 001a 80F85030 strb r3, [r0, #80]
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3836 .loc 1 2332 3 discriminator 2 view .LVU1302
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3837 .loc 1 2332 10 is_stmt 0 discriminator 2 view .LVU1303
3838 001e 1846 mov r0, r3
3839 .LVL250:
2332:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3840 .loc 1 2332 10 discriminator 2 view .LVU1304
3841 0020 7047 bx lr
3842 .LVL251:
3843 .L289:
2324:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3844 .loc 1 2324 3 view .LVU1305
3845 0022 0220 movs r0, #2
3846 .LVL252:
2333:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3847 .loc 1 2333 1 view .LVU1306
3848 0024 7047 bx lr
3849 .cfi_endproc
3850 .LFE81:
3852 .section .text.HAL_SPI_DMAStop,"ax",%progbits
3853 .align 1
3854 .global HAL_SPI_DMAStop
3855 .syntax unified
3856 .thumb
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 158
3857 .thumb_func
3858 .fpu softvfp
3860 HAL_SPI_DMAStop:
3861 .LVL253:
3862 .LFB82:
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3863 .loc 1 2342 1 is_stmt 1 view -0
3864 .cfi_startproc
3865 @ args = 0, pretend = 0, frame = 0
3866 @ frame_needed = 0, uses_anonymous_args = 0
2342:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK;
3867 .loc 1 2342 1 is_stmt 0 view .LVU1308
3868 0000 38B5 push {r3, r4, r5, lr}
3869 .LCFI39:
3870 .cfi_def_cfa_offset 16
3871 .cfi_offset 3, -16
3872 .cfi_offset 4, -12
3873 .cfi_offset 5, -8
3874 .cfi_offset 14, -4
3875 0002 0446 mov r4, r0
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
3876 .loc 1 2343 3 is_stmt 1 view .LVU1309
3877 .LVL254:
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3878 .loc 1 2351 3 view .LVU1310
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3879 .loc 1 2351 11 is_stmt 0 view .LVU1311
3880 0004 806C ldr r0, [r0, #72]
3881 .LVL255:
2351:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3882 .loc 1 2351 6 view .LVU1312
3883 0006 48B1 cbz r0, .L293
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3884 .loc 1 2353 5 is_stmt 1 view .LVU1313
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3885 .loc 1 2353 19 is_stmt 0 view .LVU1314
3886 0008 FFF7FEFF bl HAL_DMA_Abort
3887 .LVL256:
2353:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3888 .loc 1 2353 8 view .LVU1315
3889 000c 0546 mov r5, r0
3890 000e 30B1 cbz r0, .L291
2355:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
3891 .loc 1 2355 7 is_stmt 1 view .LVU1316
3892 0010 636D ldr r3, [r4, #84]
3893 0012 43F01003 orr r3, r3, #16
3894 0016 6365 str r3, [r4, #84]
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3895 .loc 1 2356 7 view .LVU1317
3896 .LVL257:
2356:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3897 .loc 1 2356 17 is_stmt 0 view .LVU1318
3898 0018 0125 movs r5, #1
3899 001a 00E0 b .L291
3900 .LVL258:
3901 .L293:
2343:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 159
3902 .loc 1 2343 21 view .LVU1319
3903 001c 0025 movs r5, #0
3904 .LVL259:
3905 .L291:
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3906 .loc 1 2360 3 is_stmt 1 view .LVU1320
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3907 .loc 1 2360 11 is_stmt 0 view .LVU1321
3908 001e E06C ldr r0, [r4, #76]
2360:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3909 .loc 1 2360 6 view .LVU1322
3910 0020 38B1 cbz r0, .L292
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3911 .loc 1 2362 5 is_stmt 1 view .LVU1323
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3912 .loc 1 2362 19 is_stmt 0 view .LVU1324
3913 0022 FFF7FEFF bl HAL_DMA_Abort
3914 .LVL260:
2362:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
3915 .loc 1 2362 8 view .LVU1325
3916 0026 20B1 cbz r0, .L292
2364:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** errorcode = HAL_ERROR;
3917 .loc 1 2364 7 is_stmt 1 view .LVU1326
3918 0028 636D ldr r3, [r4, #84]
3919 002a 43F01003 orr r3, r3, #16
3920 002e 6365 str r3, [r4, #84]
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3921 .loc 1 2365 7 view .LVU1327
3922 .LVL261:
2365:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3923 .loc 1 2365 17 is_stmt 0 view .LVU1328
3924 0030 0125 movs r5, #1
3925 .LVL262:
3926 .L292:
2370:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3927 .loc 1 2370 3 is_stmt 1 view .LVU1329
3928 0032 2268 ldr r2, [r4]
3929 0034 5368 ldr r3, [r2, #4]
3930 0036 23F00303 bic r3, r3, #3
3931 003a 5360 str r3, [r2, #4]
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3932 .loc 1 2371 3 view .LVU1330
2371:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return errorcode;
3933 .loc 1 2371 15 is_stmt 0 view .LVU1331
3934 003c 0123 movs r3, #1
3935 003e 84F85130 strb r3, [r4, #81]
2372:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
3936 .loc 1 2372 3 is_stmt 1 view .LVU1332
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3937 .loc 1 2373 1 is_stmt 0 view .LVU1333
3938 0042 2846 mov r0, r5
3939 0044 38BD pop {r3, r4, r5, pc}
2373:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3940 .loc 1 2373 1 view .LVU1334
3941 .cfi_endproc
3942 .LFE82:
3944 .section .text.HAL_SPI_TxCpltCallback,"ax",%progbits
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 160
3945 .align 1
3946 .weak HAL_SPI_TxCpltCallback
3947 .syntax unified
3948 .thumb
3949 .thumb_func
3950 .fpu softvfp
3952 HAL_SPI_TxCpltCallback:
3953 .LVL263:
3954 .LFB84:
2484:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3955 .loc 1 2484 1 is_stmt 1 view -0
3956 .cfi_startproc
3957 @ args = 0, pretend = 0, frame = 0
3958 @ frame_needed = 0, uses_anonymous_args = 0
3959 @ link register save eliminated.
2486:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3960 .loc 1 2486 3 view .LVU1336
2491:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3961 .loc 1 2491 1 is_stmt 0 view .LVU1337
3962 0000 7047 bx lr
3963 .cfi_endproc
3964 .LFE84:
3966 .section .text.HAL_SPI_RxCpltCallback,"ax",%progbits
3967 .align 1
3968 .weak HAL_SPI_RxCpltCallback
3969 .syntax unified
3970 .thumb
3971 .thumb_func
3972 .fpu softvfp
3974 HAL_SPI_RxCpltCallback:
3975 .LVL264:
3976 .LFB85:
2500:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3977 .loc 1 2500 1 is_stmt 1 view -0
3978 .cfi_startproc
3979 @ args = 0, pretend = 0, frame = 0
3980 @ frame_needed = 0, uses_anonymous_args = 0
3981 @ link register save eliminated.
2502:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3982 .loc 1 2502 3 view .LVU1339
2507:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
3983 .loc 1 2507 1 is_stmt 0 view .LVU1340
3984 0000 7047 bx lr
3985 .cfi_endproc
3986 .LFE85:
3988 .section .text.HAL_SPI_TxRxCpltCallback,"ax",%progbits
3989 .align 1
3990 .weak HAL_SPI_TxRxCpltCallback
3991 .syntax unified
3992 .thumb
3993 .thumb_func
3994 .fpu softvfp
3996 HAL_SPI_TxRxCpltCallback:
3997 .LVL265:
3998 .LFB86:
2516:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3999 .loc 1 2516 1 is_stmt 1 view -0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 161
4000 .cfi_startproc
4001 @ args = 0, pretend = 0, frame = 0
4002 @ frame_needed = 0, uses_anonymous_args = 0
4003 @ link register save eliminated.
2518:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4004 .loc 1 2518 3 view .LVU1342
2523:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4005 .loc 1 2523 1 is_stmt 0 view .LVU1343
4006 0000 7047 bx lr
4007 .cfi_endproc
4008 .LFE86:
4010 .section .text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits
4011 .align 1
4012 .weak HAL_SPI_TxHalfCpltCallback
4013 .syntax unified
4014 .thumb
4015 .thumb_func
4016 .fpu softvfp
4018 HAL_SPI_TxHalfCpltCallback:
4019 .LVL266:
4020 .LFB87:
2532:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
4021 .loc 1 2532 1 is_stmt 1 view -0
4022 .cfi_startproc
4023 @ args = 0, pretend = 0, frame = 0
4024 @ frame_needed = 0, uses_anonymous_args = 0
4025 @ link register save eliminated.
2534:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4026 .loc 1 2534 3 view .LVU1345
2539:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4027 .loc 1 2539 1 is_stmt 0 view .LVU1346
4028 0000 7047 bx lr
4029 .cfi_endproc
4030 .LFE87:
4032 .section .text.SPI_DMAHalfTransmitCplt,"ax",%progbits
4033 .align 1
4034 .syntax unified
4035 .thumb
4036 .thumb_func
4037 .fpu softvfp
4039 SPI_DMAHalfTransmitCplt:
4040 .LVL267:
4041 .LFB97:
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4042 .loc 1 2897 1 is_stmt 1 view -0
4043 .cfi_startproc
4044 @ args = 0, pretend = 0, frame = 0
4045 @ frame_needed = 0, uses_anonymous_args = 0
2897:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4046 .loc 1 2897 1 is_stmt 0 view .LVU1348
4047 0000 08B5 push {r3, lr}
4048 .LCFI40:
4049 .cfi_def_cfa_offset 8
4050 .cfi_offset 3, -8
4051 .cfi_offset 14, -4
2898:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4052 .loc 1 2898 3 is_stmt 1 view .LVU1349
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 162
4053 .LVL268:
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4054 .loc 1 2904 3 view .LVU1350
4055 0002 406A ldr r0, [r0, #36]
4056 .LVL269:
2904:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4057 .loc 1 2904 3 is_stmt 0 view .LVU1351
4058 0004 FFF7FEFF bl HAL_SPI_TxHalfCpltCallback
4059 .LVL270:
2906:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4060 .loc 1 2906 1 view .LVU1352
4061 0008 08BD pop {r3, pc}
4062 .cfi_endproc
4063 .LFE97:
4065 .section .text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits
4066 .align 1
4067 .weak HAL_SPI_RxHalfCpltCallback
4068 .syntax unified
4069 .thumb
4070 .thumb_func
4071 .fpu softvfp
4073 HAL_SPI_RxHalfCpltCallback:
4074 .LVL271:
4075 .LFB88:
2548:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
4076 .loc 1 2548 1 is_stmt 1 view -0
4077 .cfi_startproc
4078 @ args = 0, pretend = 0, frame = 0
4079 @ frame_needed = 0, uses_anonymous_args = 0
4080 @ link register save eliminated.
2550:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4081 .loc 1 2550 3 view .LVU1354
2555:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4082 .loc 1 2555 1 is_stmt 0 view .LVU1355
4083 0000 7047 bx lr
4084 .cfi_endproc
4085 .LFE88:
4087 .section .text.SPI_DMAHalfReceiveCplt,"ax",%progbits
4088 .align 1
4089 .syntax unified
4090 .thumb
4091 .thumb_func
4092 .fpu softvfp
4094 SPI_DMAHalfReceiveCplt:
4095 .LVL272:
4096 .LFB98:
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4097 .loc 1 2915 1 is_stmt 1 view -0
4098 .cfi_startproc
4099 @ args = 0, pretend = 0, frame = 0
4100 @ frame_needed = 0, uses_anonymous_args = 0
2915:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4101 .loc 1 2915 1 is_stmt 0 view .LVU1357
4102 0000 08B5 push {r3, lr}
4103 .LCFI41:
4104 .cfi_def_cfa_offset 8
4105 .cfi_offset 3, -8
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 163
4106 .cfi_offset 14, -4
2916:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4107 .loc 1 2916 3 is_stmt 1 view .LVU1358
4108 .LVL273:
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4109 .loc 1 2922 3 view .LVU1359
4110 0002 406A ldr r0, [r0, #36]
4111 .LVL274:
2922:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4112 .loc 1 2922 3 is_stmt 0 view .LVU1360
4113 0004 FFF7FEFF bl HAL_SPI_RxHalfCpltCallback
4114 .LVL275:
2924:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4115 .loc 1 2924 1 view .LVU1361
4116 0008 08BD pop {r3, pc}
4117 .cfi_endproc
4118 .LFE98:
4120 .section .text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits
4121 .align 1
4122 .weak HAL_SPI_TxRxHalfCpltCallback
4123 .syntax unified
4124 .thumb
4125 .thumb_func
4126 .fpu softvfp
4128 HAL_SPI_TxRxHalfCpltCallback:
4129 .LVL276:
4130 .LFB89:
2564:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
4131 .loc 1 2564 1 is_stmt 1 view -0
4132 .cfi_startproc
4133 @ args = 0, pretend = 0, frame = 0
4134 @ frame_needed = 0, uses_anonymous_args = 0
4135 @ link register save eliminated.
2566:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4136 .loc 1 2566 3 view .LVU1363
2571:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4137 .loc 1 2571 1 is_stmt 0 view .LVU1364
4138 0000 7047 bx lr
4139 .cfi_endproc
4140 .LFE89:
4142 .section .text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits
4143 .align 1
4144 .syntax unified
4145 .thumb
4146 .thumb_func
4147 .fpu softvfp
4149 SPI_DMAHalfTransmitReceiveCplt:
4150 .LVL277:
4151 .LFB99:
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4152 .loc 1 2933 1 is_stmt 1 view -0
4153 .cfi_startproc
4154 @ args = 0, pretend = 0, frame = 0
4155 @ frame_needed = 0, uses_anonymous_args = 0
2933:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
4156 .loc 1 2933 1 is_stmt 0 view .LVU1366
4157 0000 08B5 push {r3, lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 164
4158 .LCFI42:
4159 .cfi_def_cfa_offset 8
4160 .cfi_offset 3, -8
4161 .cfi_offset 14, -4
2934:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4162 .loc 1 2934 3 is_stmt 1 view .LVU1367
4163 .LVL278:
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4164 .loc 1 2940 3 view .LVU1368
4165 0002 406A ldr r0, [r0, #36]
4166 .LVL279:
2940:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4167 .loc 1 2940 3 is_stmt 0 view .LVU1369
4168 0004 FFF7FEFF bl HAL_SPI_TxRxHalfCpltCallback
4169 .LVL280:
2942:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4170 .loc 1 2942 1 view .LVU1370
4171 0008 08BD pop {r3, pc}
4172 .cfi_endproc
4173 .LFE99:
4175 .section .text.HAL_SPI_ErrorCallback,"ax",%progbits
4176 .align 1
4177 .weak HAL_SPI_ErrorCallback
4178 .syntax unified
4179 .thumb
4180 .thumb_func
4181 .fpu softvfp
4183 HAL_SPI_ErrorCallback:
4184 .LVL281:
4185 .LFB90:
2580:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
4186 .loc 1 2580 1 is_stmt 1 view -0
4187 .cfi_startproc
4188 @ args = 0, pretend = 0, frame = 0
4189 @ frame_needed = 0, uses_anonymous_args = 0
4190 @ link register save eliminated.
2582:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4191 .loc 1 2582 3 view .LVU1372
2590:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4192 .loc 1 2590 1 is_stmt 0 view .LVU1373
4193 0000 7047 bx lr
4194 .cfi_endproc
4195 .LFE90:
4197 .section .text.SPI_CloseTx_ISR,"ax",%progbits
4198 .align 1
4199 .syntax unified
4200 .thumb
4201 .thumb_func
4202 .fpu softvfp
4204 SPI_CloseTx_ISR:
4205 .LVL282:
4206 .LFB117:
3753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
4207 .loc 1 3753 1 is_stmt 1 view -0
4208 .cfi_startproc
4209 @ args = 0, pretend = 0, frame = 8
4210 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 165
3753:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
4211 .loc 1 3753 1 is_stmt 0 view .LVU1375
4212 0000 10B5 push {r4, lr}
4213 .LCFI43:
4214 .cfi_def_cfa_offset 8
4215 .cfi_offset 4, -8
4216 .cfi_offset 14, -4
4217 0002 82B0 sub sp, sp, #8
4218 .LCFI44:
4219 .cfi_def_cfa_offset 16
4220 0004 0446 mov r4, r0
3754:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
4221 .loc 1 3754 3 is_stmt 1 view .LVU1376
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4222 .loc 1 3755 3 view .LVU1377
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4223 .loc 1 3755 70 is_stmt 0 view .LVU1378
4224 0006 204B ldr r3, .L318
4225 0008 1B68 ldr r3, [r3]
4226 000a 204A ldr r2, .L318+4
4227 000c A2FB0323 umull r2, r3, r2, r3
4228 0010 5B0A lsrs r3, r3, #9
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4229 .loc 1 3755 45 view .LVU1379
4230 0012 6422 movs r2, #100
4231 0014 02FB03F3 mul r3, r2, r3
3755:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4232 .loc 1 3755 17 view .LVU1380
4233 0018 0193 str r3, [sp, #4]
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4234 .loc 1 3758 3 is_stmt 1 view .LVU1381
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4235 .loc 1 3758 15 is_stmt 0 view .LVU1382
4236 001a FFF7FEFF bl HAL_GetTick
4237 .LVL283:
3758:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4238 .loc 1 3758 15 view .LVU1383
4239 001e 0246 mov r2, r0
4240 .LVL284:
4241 .L311:
3761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4242 .loc 1 3761 3 is_stmt 1 view .LVU1384
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4243 .loc 1 3763 5 view .LVU1385
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4244 .loc 1 3763 15 is_stmt 0 view .LVU1386
4245 0020 019B ldr r3, [sp, #4]
3763:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4246 .loc 1 3763 8 view .LVU1387
4247 0022 43B1 cbz r3, .L317
3768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
4248 .loc 1 3768 5 is_stmt 1 view .LVU1388
3768:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
4249 .loc 1 3768 10 is_stmt 0 view .LVU1389
4250 0024 019B ldr r3, [sp, #4]
4251 0026 013B subs r3, r3, #1
4252 0028 0193 str r3, [sp, #4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 166
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4253 .loc 1 3769 17 view .LVU1390
4254 002a 2368 ldr r3, [r4]
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4255 .loc 1 3769 27 view .LVU1391
4256 002c 9B68 ldr r3, [r3, #8]
3769:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4257 .loc 1 3769 3 view .LVU1392
4258 002e 13F0020F tst r3, #2
4259 0032 F5D0 beq .L311
4260 0034 03E0 b .L310
4261 .L317:
3765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
4262 .loc 1 3765 7 is_stmt 1 view .LVU1393
4263 0036 636D ldr r3, [r4, #84]
4264 0038 43F02003 orr r3, r3, #32
4265 003c 6365 str r3, [r4, #84]
3766:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4266 .loc 1 3766 7 view .LVU1394
4267 .L310:
3772:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4268 .loc 1 3772 3 view .LVU1395
4269 003e 2168 ldr r1, [r4]
4270 0040 4B68 ldr r3, [r1, #4]
4271 0042 23F0A003 bic r3, r3, #160
4272 0046 4B60 str r3, [r1, #4]
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4273 .loc 1 3775 3 view .LVU1396
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4274 .loc 1 3775 7 is_stmt 0 view .LVU1397
4275 0048 6421 movs r1, #100
4276 004a 2046 mov r0, r4
4277 .LVL285:
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4278 .loc 1 3775 7 view .LVU1398
4279 004c FFF7FEFF bl SPI_EndRxTxTransaction
4280 .LVL286:
3775:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4281 .loc 1 3775 6 view .LVU1399
4282 0050 18B1 cbz r0, .L312
3777:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4283 .loc 1 3777 5 is_stmt 1 view .LVU1400
4284 0052 636D ldr r3, [r4, #84]
4285 0054 43F02003 orr r3, r3, #32
4286 0058 6365 str r3, [r4, #84]
4287 .L312:
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4288 .loc 1 3781 3 view .LVU1401
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4289 .loc 1 3781 17 is_stmt 0 view .LVU1402
4290 005a A368 ldr r3, [r4, #8]
3781:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4291 .loc 1 3781 6 view .LVU1403
4292 005c 33B9 cbnz r3, .L313
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4293 .loc 1 3783 5 is_stmt 1 view .LVU1404
4294 .LBB5:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 167
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4295 .loc 1 3783 5 view .LVU1405
4296 005e 0093 str r3, [sp]
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4297 .loc 1 3783 5 view .LVU1406
4298 0060 2368 ldr r3, [r4]
4299 0062 DA68 ldr r2, [r3, #12]
4300 0064 0092 str r2, [sp]
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4301 .loc 1 3783 5 view .LVU1407
4302 0066 9B68 ldr r3, [r3, #8]
4303 0068 0093 str r3, [sp]
3783:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4304 .loc 1 3783 5 view .LVU1408
4305 006a 009B ldr r3, [sp]
4306 .L313:
4307 .LBE5:
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
4308 .loc 1 3786 3 view .LVU1409
3786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
4309 .loc 1 3786 15 is_stmt 0 view .LVU1410
4310 006c 0123 movs r3, #1
4311 006e 84F85130 strb r3, [r4, #81]
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4312 .loc 1 3787 3 is_stmt 1 view .LVU1411
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4313 .loc 1 3787 11 is_stmt 0 view .LVU1412
4314 0072 636D ldr r3, [r4, #84]
3787:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4315 .loc 1 3787 6 view .LVU1413
4316 0074 23B1 cbz r3, .L314
3793:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4317 .loc 1 3793 5 is_stmt 1 view .LVU1414
4318 0076 2046 mov r0, r4
4319 0078 FFF7FEFF bl HAL_SPI_ErrorCallback
4320 .LVL287:
4321 .L308:
3805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4322 .loc 1 3805 1 is_stmt 0 view .LVU1415
4323 007c 02B0 add sp, sp, #8
4324 .LCFI45:
4325 .cfi_remember_state
4326 .cfi_def_cfa_offset 8
4327 @ sp needed
4328 007e 10BD pop {r4, pc}
4329 .LVL288:
4330 .L314:
4331 .LCFI46:
4332 .cfi_restore_state
3802:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4333 .loc 1 3802 5 is_stmt 1 view .LVU1416
4334 0080 2046 mov r0, r4
4335 0082 FFF7FEFF bl HAL_SPI_TxCpltCallback
4336 .LVL289:
3805:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4337 .loc 1 3805 1 is_stmt 0 view .LVU1417
4338 0086 F9E7 b .L308
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 168
4339 .L319:
4340 .align 2
4341 .L318:
4342 0088 00000000 .word SystemCoreClock
4343 008c F1197605 .word 91625969
4344 .cfi_endproc
4345 .LFE117:
4347 .section .text.SPI_TxISR_8BIT,"ax",%progbits
4348 .align 1
4349 .syntax unified
4350 .thumb
4351 .thumb_func
4352 .fpu softvfp
4354 SPI_TxISR_8BIT:
4355 .LVL290:
4356 .LFB110:
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
4357 .loc 1 3414 1 is_stmt 1 view -0
4358 .cfi_startproc
4359 @ args = 0, pretend = 0, frame = 0
4360 @ frame_needed = 0, uses_anonymous_args = 0
3414:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
4361 .loc 1 3414 1 is_stmt 0 view .LVU1419
4362 0000 08B5 push {r3, lr}
4363 .LCFI47:
4364 .cfi_def_cfa_offset 8
4365 .cfi_offset 3, -8
4366 .cfi_offset 14, -4
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4367 .loc 1 3415 3 is_stmt 1 view .LVU1420
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4368 .loc 1 3415 48 is_stmt 0 view .LVU1421
4369 0002 026B ldr r2, [r0, #48]
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4370 .loc 1 3415 25 view .LVU1422
4371 0004 0368 ldr r3, [r0]
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4372 .loc 1 3415 43 view .LVU1423
4373 0006 1278 ldrb r2, [r2] @ zero_extendqisi2
3415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4374 .loc 1 3415 40 view .LVU1424
4375 0008 1A73 strb r2, [r3, #12]
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4376 .loc 1 3416 3 is_stmt 1 view .LVU1425
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4377 .loc 1 3416 7 is_stmt 0 view .LVU1426
4378 000a 036B ldr r3, [r0, #48]
3416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4379 .loc 1 3416 19 view .LVU1427
4380 000c 0133 adds r3, r3, #1
4381 000e 0363 str r3, [r0, #48]
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4382 .loc 1 3417 3 is_stmt 1 view .LVU1428
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4383 .loc 1 3417 7 is_stmt 0 view .LVU1429
4384 0010 C38E ldrh r3, [r0, #54]
3417:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 169
4385 .loc 1 3417 20 view .LVU1430
4386 0012 013B subs r3, r3, #1
4387 0014 9BB2 uxth r3, r3
4388 0016 C386 strh r3, [r0, #54] @ movhi
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4389 .loc 1 3419 3 is_stmt 1 view .LVU1431
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4390 .loc 1 3419 11 is_stmt 0 view .LVU1432
4391 0018 C38E ldrh r3, [r0, #54]
4392 001a 9BB2 uxth r3, r3
3419:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4393 .loc 1 3419 6 view .LVU1433
4394 001c 03B1 cbz r3, .L323
4395 .LVL291:
4396 .L320:
3430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4397 .loc 1 3430 1 view .LVU1434
4398 001e 08BD pop {r3, pc}
4399 .LVL292:
4400 .L323:
3428:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4401 .loc 1 3428 5 is_stmt 1 view .LVU1435
4402 0020 FFF7FEFF bl SPI_CloseTx_ISR
4403 .LVL293:
3430:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4404 .loc 1 3430 1 is_stmt 0 view .LVU1436
4405 0024 FBE7 b .L320
4406 .cfi_endproc
4407 .LFE110:
4409 .section .text.SPI_TxISR_16BIT,"ax",%progbits
4410 .align 1
4411 .syntax unified
4412 .thumb
4413 .thumb_func
4414 .fpu softvfp
4416 SPI_TxISR_16BIT:
4417 .LVL294:
4418 .LFB111:
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
4419 .loc 1 3439 1 is_stmt 1 view -0
4420 .cfi_startproc
4421 @ args = 0, pretend = 0, frame = 0
4422 @ frame_needed = 0, uses_anonymous_args = 0
3439:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
4423 .loc 1 3439 1 is_stmt 0 view .LVU1438
4424 0000 08B5 push {r3, lr}
4425 .LCFI48:
4426 .cfi_def_cfa_offset 8
4427 .cfi_offset 3, -8
4428 .cfi_offset 14, -4
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
4429 .loc 1 3441 3 is_stmt 1 view .LVU1439
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
4430 .loc 1 3441 42 is_stmt 0 view .LVU1440
4431 0002 026B ldr r2, [r0, #48]
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
4432 .loc 1 3441 7 view .LVU1441
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 170
4433 0004 0368 ldr r3, [r0]
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
4434 .loc 1 3441 24 view .LVU1442
4435 0006 1288 ldrh r2, [r2]
3441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
4436 .loc 1 3441 22 view .LVU1443
4437 0008 DA60 str r2, [r3, #12]
3442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4438 .loc 1 3442 3 is_stmt 1 view .LVU1444
3442:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4439 .loc 1 3442 20 is_stmt 0 view .LVU1445
4440 000a 036B ldr r3, [r0, #48]
4441 000c 0233 adds r3, r3, #2
4442 000e 0363 str r3, [r0, #48]
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4443 .loc 1 3443 3 is_stmt 1 view .LVU1446
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4444 .loc 1 3443 7 is_stmt 0 view .LVU1447
4445 0010 C38E ldrh r3, [r0, #54]
3443:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4446 .loc 1 3443 20 view .LVU1448
4447 0012 013B subs r3, r3, #1
4448 0014 9BB2 uxth r3, r3
4449 0016 C386 strh r3, [r0, #54] @ movhi
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4450 .loc 1 3445 3 is_stmt 1 view .LVU1449
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4451 .loc 1 3445 11 is_stmt 0 view .LVU1450
4452 0018 C38E ldrh r3, [r0, #54]
4453 001a 9BB2 uxth r3, r3
3445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4454 .loc 1 3445 6 view .LVU1451
4455 001c 03B1 cbz r3, .L327
4456 .LVL295:
4457 .L324:
3456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4458 .loc 1 3456 1 view .LVU1452
4459 001e 08BD pop {r3, pc}
4460 .LVL296:
4461 .L327:
3454:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4462 .loc 1 3454 5 is_stmt 1 view .LVU1453
4463 0020 FFF7FEFF bl SPI_CloseTx_ISR
4464 .LVL297:
3456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4465 .loc 1 3456 1 is_stmt 0 view .LVU1454
4466 0024 FBE7 b .L324
4467 .cfi_endproc
4468 .LFE111:
4470 .section .text.SPI_CloseRx_ISR,"ax",%progbits
4471 .align 1
4472 .syntax unified
4473 .thumb
4474 .thumb_func
4475 .fpu softvfp
4477 SPI_CloseRx_ISR:
4478 .LVL298:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 171
4479 .LFB116:
3679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
4480 .loc 1 3679 1 is_stmt 1 view -0
4481 .cfi_startproc
4482 @ args = 0, pretend = 0, frame = 8
4483 @ frame_needed = 0, uses_anonymous_args = 0
3679:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */
4484 .loc 1 3679 1 is_stmt 0 view .LVU1456
4485 0000 10B5 push {r4, lr}
4486 .LCFI49:
4487 .cfi_def_cfa_offset 8
4488 .cfi_offset 4, -8
4489 .cfi_offset 14, -4
4490 0002 82B0 sub sp, sp, #8
4491 .LCFI50:
4492 .cfi_def_cfa_offset 16
4493 0004 0446 mov r4, r0
3681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4494 .loc 1 3681 3 is_stmt 1 view .LVU1457
4495 0006 0268 ldr r2, [r0]
4496 0008 5368 ldr r3, [r2, #4]
4497 000a 23F06003 bic r3, r3, #96
4498 000e 5360 str r3, [r2, #4]
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4499 .loc 1 3684 3 view .LVU1458
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4500 .loc 1 3684 7 is_stmt 0 view .LVU1459
4501 0010 FFF7FEFF bl HAL_GetTick
4502 .LVL299:
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4503 .loc 1 3684 7 view .LVU1460
4504 0014 0246 mov r2, r0
4505 0016 6421 movs r1, #100
4506 0018 2046 mov r0, r4
4507 001a FFF7FEFF bl SPI_EndRxTransaction
4508 .LVL300:
3684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4509 .loc 1 3684 6 view .LVU1461
4510 001e 18B1 cbz r0, .L329
3686:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4511 .loc 1 3686 5 is_stmt 1 view .LVU1462
4512 0020 636D ldr r3, [r4, #84]
4513 0022 43F02003 orr r3, r3, #32
4514 0026 6365 str r3, [r4, #84]
4515 .L329:
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4516 .loc 1 3690 3 view .LVU1463
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4517 .loc 1 3690 17 is_stmt 0 view .LVU1464
4518 0028 A368 ldr r3, [r4, #8]
3690:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4519 .loc 1 3690 6 view .LVU1465
4520 002a 33B9 cbnz r3, .L330
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4521 .loc 1 3692 5 is_stmt 1 view .LVU1466
4522 .LBB6:
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 172
4523 .loc 1 3692 5 view .LVU1467
4524 002c 0193 str r3, [sp, #4]
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4525 .loc 1 3692 5 view .LVU1468
4526 002e 2368 ldr r3, [r4]
4527 0030 DA68 ldr r2, [r3, #12]
4528 0032 0192 str r2, [sp, #4]
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4529 .loc 1 3692 5 view .LVU1469
4530 0034 9B68 ldr r3, [r3, #8]
4531 0036 0193 str r3, [sp, #4]
3692:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4532 .loc 1 3692 5 view .LVU1470
4533 0038 019B ldr r3, [sp, #4]
4534 .L330:
4535 .LBE6:
3694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4536 .loc 1 3694 3 view .LVU1471
3694:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4537 .loc 1 3694 15 is_stmt 0 view .LVU1472
4538 003a 0123 movs r3, #1
4539 003c 84F85130 strb r3, [r4, #81]
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4540 .loc 1 3723 5 is_stmt 1 view .LVU1473
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4541 .loc 1 3723 13 is_stmt 0 view .LVU1474
4542 0040 636D ldr r3, [r4, #84]
3723:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4543 .loc 1 3723 8 view .LVU1475
4544 0042 23B9 cbnz r3, .L331
3729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4545 .loc 1 3729 7 is_stmt 1 view .LVU1476
4546 0044 2046 mov r0, r4
4547 0046 FFF7FEFF bl HAL_SPI_RxCpltCallback
4548 .LVL301:
4549 .L328:
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4550 .loc 1 3744 1 is_stmt 0 view .LVU1477
4551 004a 02B0 add sp, sp, #8
4552 .LCFI51:
4553 .cfi_remember_state
4554 .cfi_def_cfa_offset 8
4555 @ sp needed
4556 004c 10BD pop {r4, pc}
4557 .LVL302:
4558 .L331:
4559 .LCFI52:
4560 .cfi_restore_state
3738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4561 .loc 1 3738 7 is_stmt 1 view .LVU1478
4562 004e 2046 mov r0, r4
4563 0050 FFF7FEFF bl HAL_SPI_ErrorCallback
4564 .LVL303:
3744:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4565 .loc 1 3744 1 is_stmt 0 view .LVU1479
4566 0054 F9E7 b .L328
4567 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 173
4568 .LFE116:
4570 .section .text.SPI_RxISR_8BIT,"ax",%progbits
4571 .align 1
4572 .syntax unified
4573 .thumb
4574 .thumb_func
4575 .fpu softvfp
4577 SPI_RxISR_8BIT:
4578 .LVL304:
4579 .LFB108:
3315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
4580 .loc 1 3315 1 is_stmt 1 view -0
4581 .cfi_startproc
4582 @ args = 0, pretend = 0, frame = 0
4583 @ frame_needed = 0, uses_anonymous_args = 0
3315:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR);
4584 .loc 1 3315 1 is_stmt 0 view .LVU1481
4585 0000 08B5 push {r3, lr}
4586 .LCFI53:
4587 .cfi_def_cfa_offset 8
4588 .cfi_offset 3, -8
4589 .cfi_offset 14, -4
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4590 .loc 1 3316 3 is_stmt 1 view .LVU1482
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4591 .loc 1 3316 46 is_stmt 0 view .LVU1483
4592 0002 0268 ldr r2, [r0]
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4593 .loc 1 3316 8 view .LVU1484
4594 0004 836B ldr r3, [r0, #56]
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4595 .loc 1 3316 24 view .LVU1485
4596 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3316:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4597 .loc 1 3316 21 view .LVU1486
4598 0008 1A70 strb r2, [r3]
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4599 .loc 1 3317 3 is_stmt 1 view .LVU1487
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4600 .loc 1 3317 7 is_stmt 0 view .LVU1488
4601 000a 836B ldr r3, [r0, #56]
3317:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4602 .loc 1 3317 19 view .LVU1489
4603 000c 0133 adds r3, r3, #1
4604 000e 8363 str r3, [r0, #56]
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4605 .loc 1 3318 3 is_stmt 1 view .LVU1490
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4606 .loc 1 3318 7 is_stmt 0 view .LVU1491
4607 0010 C38F ldrh r3, [r0, #62]
3318:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4608 .loc 1 3318 20 view .LVU1492
4609 0012 013B subs r3, r3, #1
4610 0014 9BB2 uxth r3, r3
4611 0016 C387 strh r3, [r0, #62] @ movhi
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4612 .loc 1 3335 3 is_stmt 1 view .LVU1493
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 174
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4613 .loc 1 3335 11 is_stmt 0 view .LVU1494
4614 0018 C38F ldrh r3, [r0, #62]
4615 001a 9BB2 uxth r3, r3
3335:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4616 .loc 1 3335 6 view .LVU1495
4617 001c 03B1 cbz r3, .L337
4618 .LVL305:
4619 .L334:
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4620 .loc 1 3346 1 view .LVU1496
4621 001e 08BD pop {r3, pc}
4622 .LVL306:
4623 .L337:
3344:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4624 .loc 1 3344 5 is_stmt 1 view .LVU1497
4625 0020 FFF7FEFF bl SPI_CloseRx_ISR
4626 .LVL307:
3346:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4627 .loc 1 3346 1 is_stmt 0 view .LVU1498
4628 0024 FBE7 b .L334
4629 .cfi_endproc
4630 .LFE108:
4632 .section .text.SPI_RxISR_16BIT,"ax",%progbits
4633 .align 1
4634 .syntax unified
4635 .thumb
4636 .thumb_func
4637 .fpu softvfp
4639 SPI_RxISR_16BIT:
4640 .LVL308:
4641 .LFB109:
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
4642 .loc 1 3374 1 is_stmt 1 view -0
4643 .cfi_startproc
4644 @ args = 0, pretend = 0, frame = 0
4645 @ frame_needed = 0, uses_anonymous_args = 0
3374:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR);
4646 .loc 1 3374 1 is_stmt 0 view .LVU1500
4647 0000 08B5 push {r3, lr}
4648 .LCFI54:
4649 .cfi_def_cfa_offset 8
4650 .cfi_offset 3, -8
4651 .cfi_offset 14, -4
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
4652 .loc 1 3375 3 is_stmt 1 view .LVU1501
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
4653 .loc 1 3375 52 is_stmt 0 view .LVU1502
4654 0002 0368 ldr r3, [r0]
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
4655 .loc 1 3375 62 view .LVU1503
4656 0004 DA68 ldr r2, [r3, #12]
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
4657 .loc 1 3375 21 view .LVU1504
4658 0006 836B ldr r3, [r0, #56]
3375:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
4659 .loc 1 3375 35 view .LVU1505
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 175
4660 0008 1A80 strh r2, [r3] @ movhi
3376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4661 .loc 1 3376 3 is_stmt 1 view .LVU1506
3376:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4662 .loc 1 3376 20 is_stmt 0 view .LVU1507
4663 000a 836B ldr r3, [r0, #56]
4664 000c 0233 adds r3, r3, #2
4665 000e 8363 str r3, [r0, #56]
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4666 .loc 1 3377 3 is_stmt 1 view .LVU1508
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4667 .loc 1 3377 7 is_stmt 0 view .LVU1509
4668 0010 C38F ldrh r3, [r0, #62]
3377:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4669 .loc 1 3377 20 view .LVU1510
4670 0012 013B subs r3, r3, #1
4671 0014 9BB2 uxth r3, r3
4672 0016 C387 strh r3, [r0, #62] @ movhi
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4673 .loc 1 3394 3 is_stmt 1 view .LVU1511
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4674 .loc 1 3394 11 is_stmt 0 view .LVU1512
4675 0018 C38F ldrh r3, [r0, #62]
4676 001a 9BB2 uxth r3, r3
3394:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4677 .loc 1 3394 6 view .LVU1513
4678 001c 03B1 cbz r3, .L341
4679 .LVL309:
4680 .L338:
3405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4681 .loc 1 3405 1 view .LVU1514
4682 001e 08BD pop {r3, pc}
4683 .LVL310:
4684 .L341:
3403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4685 .loc 1 3403 5 is_stmt 1 view .LVU1515
4686 0020 FFF7FEFF bl SPI_CloseRx_ISR
4687 .LVL311:
3405:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4688 .loc 1 3405 1 is_stmt 0 view .LVU1516
4689 0024 FBE7 b .L338
4690 .cfi_endproc
4691 .LFE109:
4693 .section .text.SPI_CloseRxTx_ISR,"ax",%progbits
4694 .align 1
4695 .syntax unified
4696 .thumb
4697 .thumb_func
4698 .fpu softvfp
4700 SPI_CloseRxTx_ISR:
4701 .LVL312:
4702 .LFB115:
3573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
4703 .loc 1 3573 1 is_stmt 1 view -0
4704 .cfi_startproc
4705 @ args = 0, pretend = 0, frame = 8
4706 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 176
3573:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
4707 .loc 1 3573 1 is_stmt 0 view .LVU1518
4708 0000 10B5 push {r4, lr}
4709 .LCFI55:
4710 .cfi_def_cfa_offset 8
4711 .cfi_offset 4, -8
4712 .cfi_offset 14, -4
4713 0002 82B0 sub sp, sp, #8
4714 .LCFI56:
4715 .cfi_def_cfa_offset 16
4716 0004 0446 mov r4, r0
3574:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
4717 .loc 1 3574 3 is_stmt 1 view .LVU1519
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4718 .loc 1 3575 3 view .LVU1520
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4719 .loc 1 3575 70 is_stmt 0 view .LVU1521
4720 0006 284B ldr r3, .L354
4721 0008 1B68 ldr r3, [r3]
4722 000a 284A ldr r2, .L354+4
4723 000c A2FB0323 umull r2, r3, r2, r3
4724 0010 5B0A lsrs r3, r3, #9
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4725 .loc 1 3575 45 view .LVU1522
4726 0012 6422 movs r2, #100
4727 0014 02FB03F3 mul r3, r2, r3
3575:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4728 .loc 1 3575 17 view .LVU1523
4729 0018 0193 str r3, [sp, #4]
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4730 .loc 1 3578 3 is_stmt 1 view .LVU1524
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4731 .loc 1 3578 15 is_stmt 0 view .LVU1525
4732 001a FFF7FEFF bl HAL_GetTick
4733 .LVL313:
3578:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4734 .loc 1 3578 15 view .LVU1526
4735 001e 0246 mov r2, r0
4736 .LVL314:
3581:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4737 .loc 1 3581 3 is_stmt 1 view .LVU1527
4738 0020 2168 ldr r1, [r4]
4739 0022 4B68 ldr r3, [r1, #4]
4740 0024 23F02003 bic r3, r3, #32
4741 0028 4B60 str r3, [r1, #4]
4742 .L345:
3584:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4743 .loc 1 3584 3 view .LVU1528
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4744 .loc 1 3586 5 view .LVU1529
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4745 .loc 1 3586 15 is_stmt 0 view .LVU1530
4746 002a 019B ldr r3, [sp, #4]
3586:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4747 .loc 1 3586 8 view .LVU1531
4748 002c 43B1 cbz r3, .L352
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 177
4749 .loc 1 3591 5 is_stmt 1 view .LVU1532
3591:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
4750 .loc 1 3591 10 is_stmt 0 view .LVU1533
4751 002e 019B ldr r3, [sp, #4]
4752 0030 013B subs r3, r3, #1
4753 0032 0193 str r3, [sp, #4]
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4754 .loc 1 3592 17 view .LVU1534
4755 0034 2368 ldr r3, [r4]
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4756 .loc 1 3592 27 view .LVU1535
4757 0036 9B68 ldr r3, [r3, #8]
3592:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4758 .loc 1 3592 3 view .LVU1536
4759 0038 13F0020F tst r3, #2
4760 003c F5D0 beq .L345
4761 003e 03E0 b .L344
4762 .L352:
3588:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
4763 .loc 1 3588 7 is_stmt 1 view .LVU1537
4764 0040 636D ldr r3, [r4, #84]
4765 0042 43F02003 orr r3, r3, #32
4766 0046 6365 str r3, [r4, #84]
3589:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4767 .loc 1 3589 7 view .LVU1538
4768 .L344:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4769 .loc 1 3595 3 view .LVU1539
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4770 .loc 1 3595 7 is_stmt 0 view .LVU1540
4771 0048 6421 movs r1, #100
4772 004a 2046 mov r0, r4
4773 .LVL315:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4774 .loc 1 3595 7 view .LVU1541
4775 004c FFF7FEFF bl SPI_EndRxTxTransaction
4776 .LVL316:
3595:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4777 .loc 1 3595 6 view .LVU1542
4778 0050 18B1 cbz r0, .L346
3597:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4779 .loc 1 3597 5 is_stmt 1 view .LVU1543
4780 0052 636D ldr r3, [r4, #84]
4781 0054 43F02003 orr r3, r3, #32
4782 0058 6365 str r3, [r4, #84]
4783 .L346:
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4784 .loc 1 3601 3 view .LVU1544
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4785 .loc 1 3601 17 is_stmt 0 view .LVU1545
4786 005a A368 ldr r3, [r4, #8]
3601:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4787 .loc 1 3601 6 view .LVU1546
4788 005c 33B9 cbnz r3, .L347
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4789 .loc 1 3603 5 is_stmt 1 view .LVU1547
4790 .LBB7:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 178
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4791 .loc 1 3603 5 view .LVU1548
4792 005e 0093 str r3, [sp]
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4793 .loc 1 3603 5 view .LVU1549
4794 0060 2368 ldr r3, [r4]
4795 0062 DA68 ldr r2, [r3, #12]
4796 0064 0092 str r2, [sp]
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4797 .loc 1 3603 5 view .LVU1550
4798 0066 9B68 ldr r3, [r3, #8]
4799 0068 0093 str r3, [sp]
3603:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4800 .loc 1 3603 5 view .LVU1551
4801 006a 009B ldr r3, [sp]
4802 .L347:
4803 .LBE7:
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4804 .loc 1 3634 5 view .LVU1552
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4805 .loc 1 3634 13 is_stmt 0 view .LVU1553
4806 006c 636D ldr r3, [r4, #84]
3634:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4807 .loc 1 3634 8 view .LVU1554
4808 006e 9BB9 cbnz r3, .L348
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4809 .loc 1 3636 7 is_stmt 1 view .LVU1555
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4810 .loc 1 3636 15 is_stmt 0 view .LVU1556
4811 0070 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
4812 0074 DBB2 uxtb r3, r3
3636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4813 .loc 1 3636 10 view .LVU1557
4814 0076 042B cmp r3, #4
4815 0078 07D0 beq .L353
3648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user TxRx complete callback */
4816 .loc 1 3648 9 is_stmt 1 view .LVU1558
3648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user TxRx complete callback */
4817 .loc 1 3648 21 is_stmt 0 view .LVU1559
4818 007a 0123 movs r3, #1
4819 007c 84F85130 strb r3, [r4, #81]
3653:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4820 .loc 1 3653 9 is_stmt 1 view .LVU1560
4821 0080 2046 mov r0, r4
4822 0082 FFF7FEFF bl HAL_SPI_TxRxCpltCallback
4823 .LVL317:
4824 .L342:
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4825 .loc 1 3670 1 is_stmt 0 view .LVU1561
4826 0086 02B0 add sp, sp, #8
4827 .LCFI57:
4828 .cfi_remember_state
4829 .cfi_def_cfa_offset 8
4830 @ sp needed
4831 0088 10BD pop {r4, pc}
4832 .LVL318:
4833 .L353:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 179
4834 .LCFI58:
4835 .cfi_restore_state
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
4836 .loc 1 3638 9 is_stmt 1 view .LVU1562
3638:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user Rx complete callback */
4837 .loc 1 3638 21 is_stmt 0 view .LVU1563
4838 008a 0123 movs r3, #1
4839 008c 84F85130 strb r3, [r4, #81]
3643:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4840 .loc 1 3643 9 is_stmt 1 view .LVU1564
4841 0090 2046 mov r0, r4
4842 0092 FFF7FEFF bl HAL_SPI_RxCpltCallback
4843 .LVL319:
4844 0096 F6E7 b .L342
4845 .L348:
3659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
4846 .loc 1 3659 7 view .LVU1565
3659:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
4847 .loc 1 3659 19 is_stmt 0 view .LVU1566
4848 0098 0123 movs r3, #1
4849 009a 84F85130 strb r3, [r4, #81]
3664:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
4850 .loc 1 3664 7 is_stmt 1 view .LVU1567
4851 009e 2046 mov r0, r4
4852 00a0 FFF7FEFF bl HAL_SPI_ErrorCallback
4853 .LVL320:
3670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4854 .loc 1 3670 1 is_stmt 0 view .LVU1568
4855 00a4 EFE7 b .L342
4856 .L355:
4857 00a6 00BF .align 2
4858 .L354:
4859 00a8 00000000 .word SystemCoreClock
4860 00ac F1197605 .word 91625969
4861 .cfi_endproc
4862 .LFE115:
4864 .section .text.SPI_2linesTxISR_8BIT,"ax",%progbits
4865 .align 1
4866 .syntax unified
4867 .thumb
4868 .thumb_func
4869 .fpu softvfp
4871 SPI_2linesTxISR_8BIT:
4872 .LVL321:
4873 .LFB105:
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
4874 .loc 1 3174 1 is_stmt 1 view -0
4875 .cfi_startproc
4876 @ args = 0, pretend = 0, frame = 0
4877 @ frame_needed = 0, uses_anonymous_args = 0
3174:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr);
4878 .loc 1 3174 1 is_stmt 0 view .LVU1570
4879 0000 08B5 push {r3, lr}
4880 .LCFI59:
4881 .cfi_def_cfa_offset 8
4882 .cfi_offset 3, -8
4883 .cfi_offset 14, -4
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 180
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4884 .loc 1 3175 3 is_stmt 1 view .LVU1571
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4885 .loc 1 3175 48 is_stmt 0 view .LVU1572
4886 0002 026B ldr r2, [r0, #48]
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4887 .loc 1 3175 25 view .LVU1573
4888 0004 0368 ldr r3, [r0]
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4889 .loc 1 3175 43 view .LVU1574
4890 0006 1278 ldrb r2, [r2] @ zero_extendqisi2
3175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr++;
4891 .loc 1 3175 40 view .LVU1575
4892 0008 1A73 strb r2, [r3, #12]
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4893 .loc 1 3176 3 is_stmt 1 view .LVU1576
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4894 .loc 1 3176 7 is_stmt 0 view .LVU1577
4895 000a 036B ldr r3, [r0, #48]
3176:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
4896 .loc 1 3176 19 view .LVU1578
4897 000c 0133 adds r3, r3, #1
4898 000e 0363 str r3, [r0, #48]
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4899 .loc 1 3177 3 is_stmt 1 view .LVU1579
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4900 .loc 1 3177 7 is_stmt 0 view .LVU1580
4901 0010 C38E ldrh r3, [r0, #54]
3177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4902 .loc 1 3177 20 view .LVU1581
4903 0012 013B subs r3, r3, #1
4904 0014 9BB2 uxth r3, r3
4905 0016 C386 strh r3, [r0, #54] @ movhi
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4906 .loc 1 3180 3 is_stmt 1 view .LVU1582
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4907 .loc 1 3180 11 is_stmt 0 view .LVU1583
4908 0018 C38E ldrh r3, [r0, #54]
4909 001a 9BB2 uxth r3, r3
3180:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4910 .loc 1 3180 6 view .LVU1584
4911 001c 3BB9 cbnz r3, .L356
3194:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4912 .loc 1 3194 5 is_stmt 1 view .LVU1585
4913 001e 0268 ldr r2, [r0]
4914 0020 5368 ldr r3, [r2, #4]
4915 0022 23F08003 bic r3, r3, #128
4916 0026 5360 str r3, [r2, #4]
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4917 .loc 1 3196 5 view .LVU1586
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4918 .loc 1 3196 13 is_stmt 0 view .LVU1587
4919 0028 C38F ldrh r3, [r0, #62]
4920 002a 9BB2 uxth r3, r3
3196:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4921 .loc 1 3196 8 view .LVU1588
4922 002c 03B1 cbz r3, .L359
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 181
4923 .LVL322:
4924 .L356:
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4925 .loc 1 3201 1 view .LVU1589
4926 002e 08BD pop {r3, pc}
4927 .LVL323:
4928 .L359:
3198:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
4929 .loc 1 3198 7 is_stmt 1 view .LVU1590
4930 0030 FFF7FEFF bl SPI_CloseRxTx_ISR
4931 .LVL324:
3201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4932 .loc 1 3201 1 is_stmt 0 view .LVU1591
4933 0034 FBE7 b .L356
4934 .cfi_endproc
4935 .LFE105:
4937 .section .text.SPI_2linesRxISR_8BIT,"ax",%progbits
4938 .align 1
4939 .syntax unified
4940 .thumb
4941 .thumb_func
4942 .fpu softvfp
4944 SPI_2linesRxISR_8BIT:
4945 .LVL325:
4946 .LFB104:
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 8bit mode */
4947 .loc 1 3118 1 is_stmt 1 view -0
4948 .cfi_startproc
4949 @ args = 0, pretend = 0, frame = 0
4950 @ frame_needed = 0, uses_anonymous_args = 0
3118:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 8bit mode */
4951 .loc 1 3118 1 is_stmt 0 view .LVU1593
4952 0000 08B5 push {r3, lr}
4953 .LCFI60:
4954 .cfi_def_cfa_offset 8
4955 .cfi_offset 3, -8
4956 .cfi_offset 14, -4
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4957 .loc 1 3120 3 is_stmt 1 view .LVU1594
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4958 .loc 1 3120 46 is_stmt 0 view .LVU1595
4959 0002 0268 ldr r2, [r0]
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4960 .loc 1 3120 8 view .LVU1596
4961 0004 836B ldr r3, [r0, #56]
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4962 .loc 1 3120 23 view .LVU1597
4963 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2
3120:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr++;
4964 .loc 1 3120 21 view .LVU1598
4965 0008 1A70 strb r2, [r3]
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4966 .loc 1 3121 3 is_stmt 1 view .LVU1599
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
4967 .loc 1 3121 7 is_stmt 0 view .LVU1600
4968 000a 836B ldr r3, [r0, #56]
3121:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 182
4969 .loc 1 3121 19 view .LVU1601
4970 000c 0133 adds r3, r3, #1
4971 000e 8363 str r3, [r0, #56]
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4972 .loc 1 3122 3 is_stmt 1 view .LVU1602
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4973 .loc 1 3122 7 is_stmt 0 view .LVU1603
4974 0010 C38F ldrh r3, [r0, #62]
3122:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4975 .loc 1 3122 20 view .LVU1604
4976 0012 013B subs r3, r3, #1
4977 0014 9BB2 uxth r3, r3
4978 0016 C387 strh r3, [r0, #62] @ movhi
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4979 .loc 1 3125 3 is_stmt 1 view .LVU1605
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4980 .loc 1 3125 11 is_stmt 0 view .LVU1606
4981 0018 C38F ldrh r3, [r0, #62]
4982 001a 9BB2 uxth r3, r3
3125:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4983 .loc 1 3125 6 view .LVU1607
4984 001c 3BB9 cbnz r3, .L360
3136:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4985 .loc 1 3136 5 is_stmt 1 view .LVU1608
4986 001e 0268 ldr r2, [r0]
4987 0020 5368 ldr r3, [r2, #4]
4988 0022 23F06003 bic r3, r3, #96
4989 0026 5360 str r3, [r2, #4]
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4990 .loc 1 3138 5 view .LVU1609
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4991 .loc 1 3138 13 is_stmt 0 view .LVU1610
4992 0028 C38E ldrh r3, [r0, #54]
4993 002a 9BB2 uxth r3, r3
3138:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
4994 .loc 1 3138 8 view .LVU1611
4995 002c 03B1 cbz r3, .L363
4996 .LVL326:
4997 .L360:
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
4998 .loc 1 3143 1 view .LVU1612
4999 002e 08BD pop {r3, pc}
5000 .LVL327:
5001 .L363:
3140:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5002 .loc 1 3140 7 is_stmt 1 view .LVU1613
5003 0030 FFF7FEFF bl SPI_CloseRxTx_ISR
5004 .LVL328:
3143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5005 .loc 1 3143 1 is_stmt 0 view .LVU1614
5006 0034 FBE7 b .L360
5007 .cfi_endproc
5008 .LFE104:
5010 .section .text.SPI_2linesTxISR_16BIT,"ax",%progbits
5011 .align 1
5012 .syntax unified
5013 .thumb
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 183
5014 .thumb_func
5015 .fpu softvfp
5017 SPI_2linesTxISR_16BIT:
5018 .LVL329:
5019 .LFB107:
3262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5020 .loc 1 3262 1 is_stmt 1 view -0
5021 .cfi_startproc
5022 @ args = 0, pretend = 0, frame = 0
5023 @ frame_needed = 0, uses_anonymous_args = 0
3262:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
5024 .loc 1 3262 1 is_stmt 0 view .LVU1616
5025 0000 08B5 push {r3, lr}
5026 .LCFI61:
5027 .cfi_def_cfa_offset 8
5028 .cfi_offset 3, -8
5029 .cfi_offset 14, -4
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5030 .loc 1 3264 3 is_stmt 1 view .LVU1617
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5031 .loc 1 3264 42 is_stmt 0 view .LVU1618
5032 0002 026B ldr r2, [r0, #48]
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5033 .loc 1 3264 7 view .LVU1619
5034 0004 0368 ldr r3, [r0]
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5035 .loc 1 3264 24 view .LVU1620
5036 0006 1288 ldrh r2, [r2]
3264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
5037 .loc 1 3264 22 view .LVU1621
5038 0008 DA60 str r2, [r3, #12]
3265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
5039 .loc 1 3265 3 is_stmt 1 view .LVU1622
3265:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount--;
5040 .loc 1 3265 20 is_stmt 0 view .LVU1623
5041 000a 036B ldr r3, [r0, #48]
5042 000c 0233 adds r3, r3, #2
5043 000e 0363 str r3, [r0, #48]
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5044 .loc 1 3266 3 is_stmt 1 view .LVU1624
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5045 .loc 1 3266 7 is_stmt 0 view .LVU1625
5046 0010 C38E ldrh r3, [r0, #54]
3266:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5047 .loc 1 3266 20 view .LVU1626
5048 0012 013B subs r3, r3, #1
5049 0014 9BB2 uxth r3, r3
5050 0016 C386 strh r3, [r0, #54] @ movhi
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5051 .loc 1 3269 3 is_stmt 1 view .LVU1627
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5052 .loc 1 3269 11 is_stmt 0 view .LVU1628
5053 0018 C38E ldrh r3, [r0, #54]
5054 001a 9BB2 uxth r3, r3
3269:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5055 .loc 1 3269 6 view .LVU1629
5056 001c 3BB9 cbnz r3, .L364
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 184
3283:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5057 .loc 1 3283 5 is_stmt 1 view .LVU1630
5058 001e 0268 ldr r2, [r0]
5059 0020 5368 ldr r3, [r2, #4]
5060 0022 23F08003 bic r3, r3, #128
5061 0026 5360 str r3, [r2, #4]
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5062 .loc 1 3285 5 view .LVU1631
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5063 .loc 1 3285 13 is_stmt 0 view .LVU1632
5064 0028 C38F ldrh r3, [r0, #62]
5065 002a 9BB2 uxth r3, r3
3285:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5066 .loc 1 3285 8 view .LVU1633
5067 002c 03B1 cbz r3, .L367
5068 .LVL330:
5069 .L364:
3290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5070 .loc 1 3290 1 view .LVU1634
5071 002e 08BD pop {r3, pc}
5072 .LVL331:
5073 .L367:
3287:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5074 .loc 1 3287 7 is_stmt 1 view .LVU1635
5075 0030 FFF7FEFF bl SPI_CloseRxTx_ISR
5076 .LVL332:
3290:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5077 .loc 1 3290 1 is_stmt 0 view .LVU1636
5078 0034 FBE7 b .L364
5079 .cfi_endproc
5080 .LFE107:
5082 .section .text.SPI_2linesRxISR_16BIT,"ax",%progbits
5083 .align 1
5084 .syntax unified
5085 .thumb
5086 .thumb_func
5087 .fpu softvfp
5089 SPI_2linesRxISR_16BIT:
5090 .LVL333:
5091 .LFB106:
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 16 Bit mode */
5092 .loc 1 3210 1 is_stmt 1 view -0
5093 .cfi_startproc
5094 @ args = 0, pretend = 0, frame = 0
5095 @ frame_needed = 0, uses_anonymous_args = 0
3210:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Receive data in 16 Bit mode */
5096 .loc 1 3210 1 is_stmt 0 view .LVU1638
5097 0000 08B5 push {r3, lr}
5098 .LCFI62:
5099 .cfi_def_cfa_offset 8
5100 .cfi_offset 3, -8
5101 .cfi_offset 14, -4
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5102 .loc 1 3212 3 is_stmt 1 view .LVU1639
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5103 .loc 1 3212 52 is_stmt 0 view .LVU1640
5104 0002 0368 ldr r3, [r0]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 185
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5105 .loc 1 3212 62 view .LVU1641
5106 0004 DA68 ldr r2, [r3, #12]
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5107 .loc 1 3212 21 view .LVU1642
5108 0006 836B ldr r3, [r0, #56]
3212:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
5109 .loc 1 3212 35 view .LVU1643
5110 0008 1A80 strh r2, [r3] @ movhi
3213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
5111 .loc 1 3213 3 is_stmt 1 view .LVU1644
3213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount--;
5112 .loc 1 3213 20 is_stmt 0 view .LVU1645
5113 000a 836B ldr r3, [r0, #56]
5114 000c 0233 adds r3, r3, #2
5115 000e 8363 str r3, [r0, #56]
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5116 .loc 1 3214 3 is_stmt 1 view .LVU1646
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5117 .loc 1 3214 7 is_stmt 0 view .LVU1647
5118 0010 C38F ldrh r3, [r0, #62]
3214:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5119 .loc 1 3214 20 view .LVU1648
5120 0012 013B subs r3, r3, #1
5121 0014 9BB2 uxth r3, r3
5122 0016 C387 strh r3, [r0, #62] @ movhi
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5123 .loc 1 3216 3 is_stmt 1 view .LVU1649
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5124 .loc 1 3216 11 is_stmt 0 view .LVU1650
5125 0018 C38F ldrh r3, [r0, #62]
5126 001a 9BB2 uxth r3, r3
3216:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5127 .loc 1 3216 6 view .LVU1651
5128 001c 3BB9 cbnz r3, .L368
3227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5129 .loc 1 3227 5 is_stmt 1 view .LVU1652
5130 001e 0268 ldr r2, [r0]
5131 0020 5368 ldr r3, [r2, #4]
5132 0022 23F04003 bic r3, r3, #64
5133 0026 5360 str r3, [r2, #4]
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5134 .loc 1 3229 5 view .LVU1653
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5135 .loc 1 3229 13 is_stmt 0 view .LVU1654
5136 0028 C38E ldrh r3, [r0, #54]
5137 002a 9BB2 uxth r3, r3
3229:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5138 .loc 1 3229 8 view .LVU1655
5139 002c 03B1 cbz r3, .L371
5140 .LVL334:
5141 .L368:
3234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5142 .loc 1 3234 1 view .LVU1656
5143 002e 08BD pop {r3, pc}
5144 .LVL335:
5145 .L371:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 186
3231:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5146 .loc 1 3231 7 is_stmt 1 view .LVU1657
5147 0030 FFF7FEFF bl SPI_CloseRxTx_ISR
5148 .LVL336:
3234:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5149 .loc 1 3234 1 is_stmt 0 view .LVU1658
5150 0034 FBE7 b .L368
5151 .cfi_endproc
5152 .LFE106:
5154 .section .text.SPI_DMAError,"ax",%progbits
5155 .align 1
5156 .syntax unified
5157 .thumb
5158 .thumb_func
5159 .fpu softvfp
5161 SPI_DMAError:
5162 .LVL337:
5163 .LFB100:
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5164 .loc 1 2951 1 is_stmt 1 view -0
5165 .cfi_startproc
5166 @ args = 0, pretend = 0, frame = 0
5167 @ frame_needed = 0, uses_anonymous_args = 0
2951:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5168 .loc 1 2951 1 is_stmt 0 view .LVU1660
5169 0000 08B5 push {r3, lr}
5170 .LCFI63:
5171 .cfi_def_cfa_offset 8
5172 .cfi_offset 3, -8
5173 .cfi_offset 14, -4
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5174 .loc 1 2952 3 is_stmt 1 view .LVU1661
2952:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5175 .loc 1 2952 22 is_stmt 0 view .LVU1662
5176 0002 406A ldr r0, [r0, #36]
5177 .LVL338:
2955:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5178 .loc 1 2955 3 is_stmt 1 view .LVU1663
5179 0004 0268 ldr r2, [r0]
5180 0006 5368 ldr r3, [r2, #4]
5181 0008 23F00303 bic r3, r3, #3
5182 000c 5360 str r3, [r2, #4]
2957:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5183 .loc 1 2957 3 view .LVU1664
5184 000e 436D ldr r3, [r0, #84]
5185 0010 43F01003 orr r3, r3, #16
5186 0014 4365 str r3, [r0, #84]
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
5187 .loc 1 2958 3 view .LVU1665
2958:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Call user error callback */
5188 .loc 1 2958 15 is_stmt 0 view .LVU1666
5189 0016 0123 movs r3, #1
5190 0018 80F85130 strb r3, [r0, #81]
2963:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5191 .loc 1 2963 3 is_stmt 1 view .LVU1667
5192 001c FFF7FEFF bl HAL_SPI_ErrorCallback
5193 .LVL339:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 187
2965:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5194 .loc 1 2965 1 is_stmt 0 view .LVU1668
5195 0020 08BD pop {r3, pc}
5196 .cfi_endproc
5197 .LFE100:
5199 .section .text.SPI_DMATransmitCplt,"ax",%progbits
5200 .align 1
5201 .syntax unified
5202 .thumb
5203 .thumb_func
5204 .fpu softvfp
5206 SPI_DMATransmitCplt:
5207 .LVL340:
5208 .LFB94:
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5209 .loc 1 2670 1 is_stmt 1 view -0
5210 .cfi_startproc
5211 @ args = 0, pretend = 0, frame = 8
5212 @ frame_needed = 0, uses_anonymous_args = 0
2670:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5213 .loc 1 2670 1 is_stmt 0 view .LVU1670
5214 0000 30B5 push {r4, r5, lr}
5215 .LCFI64:
5216 .cfi_def_cfa_offset 12
5217 .cfi_offset 4, -12
5218 .cfi_offset 5, -8
5219 .cfi_offset 14, -4
5220 0002 83B0 sub sp, sp, #12
5221 .LCFI65:
5222 .cfi_def_cfa_offset 24
5223 0004 0546 mov r5, r0
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5224 .loc 1 2671 3 is_stmt 1 view .LVU1671
2671:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5225 .loc 1 2671 22 is_stmt 0 view .LVU1672
5226 0006 446A ldr r4, [r0, #36]
5227 .LVL341:
2672:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5228 .loc 1 2672 3 is_stmt 1 view .LVU1673
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5229 .loc 1 2675 3 view .LVU1674
2675:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5230 .loc 1 2675 15 is_stmt 0 view .LVU1675
5231 0008 FFF7FEFF bl HAL_GetTick
5232 .LVL342:
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5233 .loc 1 2678 3 is_stmt 1 view .LVU1676
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5234 .loc 1 2678 12 is_stmt 0 view .LVU1677
5235 000c 2B68 ldr r3, [r5]
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5236 .loc 1 2678 22 view .LVU1678
5237 000e 1B68 ldr r3, [r3]
2678:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5238 .loc 1 2678 6 view .LVU1679
5239 0010 13F0200F tst r3, #32
5240 0014 23D1 bne .L375
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 188
2681:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5241 .loc 1 2681 5 is_stmt 1 view .LVU1680
5242 0016 2268 ldr r2, [r4]
5243 0018 5368 ldr r3, [r2, #4]
5244 001a 23F02003 bic r3, r3, #32
5245 001e 5360 str r3, [r2, #4]
2684:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5246 .loc 1 2684 5 view .LVU1681
5247 0020 2268 ldr r2, [r4]
5248 0022 5368 ldr r3, [r2, #4]
5249 0024 23F00203 bic r3, r3, #2
5250 0028 5360 str r3, [r2, #4]
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5251 .loc 1 2687 5 view .LVU1682
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5252 .loc 1 2687 9 is_stmt 0 view .LVU1683
5253 002a 0246 mov r2, r0
5254 002c 6421 movs r1, #100
5255 002e 2046 mov r0, r4
5256 .LVL343:
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5257 .loc 1 2687 9 view .LVU1684
5258 0030 FFF7FEFF bl SPI_EndRxTxTransaction
5259 .LVL344:
2687:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5260 .loc 1 2687 8 view .LVU1685
5261 0034 18B1 cbz r0, .L376
2689:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5262 .loc 1 2689 7 is_stmt 1 view .LVU1686
5263 0036 636D ldr r3, [r4, #84]
5264 0038 43F02003 orr r3, r3, #32
5265 003c 6365 str r3, [r4, #84]
5266 .L376:
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5267 .loc 1 2693 5 view .LVU1687
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5268 .loc 1 2693 19 is_stmt 0 view .LVU1688
5269 003e A368 ldr r3, [r4, #8]
2693:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5270 .loc 1 2693 8 view .LVU1689
5271 0040 33B9 cbnz r3, .L377
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5272 .loc 1 2695 7 is_stmt 1 view .LVU1690
5273 .LBB8:
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5274 .loc 1 2695 7 view .LVU1691
5275 0042 0193 str r3, [sp, #4]
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5276 .loc 1 2695 7 view .LVU1692
5277 0044 2368 ldr r3, [r4]
5278 0046 DA68 ldr r2, [r3, #12]
5279 0048 0192 str r2, [sp, #4]
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5280 .loc 1 2695 7 view .LVU1693
5281 004a 9B68 ldr r3, [r3, #8]
5282 004c 0193 str r3, [sp, #4]
2695:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 189
5283 .loc 1 2695 7 view .LVU1694
5284 004e 019B ldr r3, [sp, #4]
5285 .L377:
5286 .LBE8:
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5287 .loc 1 2698 5 view .LVU1695
2698:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5288 .loc 1 2698 23 is_stmt 0 view .LVU1696
5289 0050 0023 movs r3, #0
5290 0052 E386 strh r3, [r4, #54] @ movhi
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5291 .loc 1 2699 5 is_stmt 1 view .LVU1697
2699:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5292 .loc 1 2699 17 is_stmt 0 view .LVU1698
5293 0054 0123 movs r3, #1
5294 0056 84F85130 strb r3, [r4, #81]
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5295 .loc 1 2701 5 is_stmt 1 view .LVU1699
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5296 .loc 1 2701 13 is_stmt 0 view .LVU1700
5297 005a 636D ldr r3, [r4, #84]
2701:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5298 .loc 1 2701 8 view .LVU1701
5299 005c 23B9 cbnz r3, .L380
5300 .L375:
2716:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5301 .loc 1 2716 3 is_stmt 1 view .LVU1702
5302 005e 2046 mov r0, r4
5303 0060 FFF7FEFF bl HAL_SPI_TxCpltCallback
5304 .LVL345:
5305 .L374:
2718:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5306 .loc 1 2718 1 is_stmt 0 view .LVU1703
5307 0064 03B0 add sp, sp, #12
5308 .LCFI66:
5309 .cfi_remember_state
5310 .cfi_def_cfa_offset 12
5311 @ sp needed
5312 0066 30BD pop {r4, r5, pc}
5313 .LVL346:
5314 .L380:
5315 .LCFI67:
5316 .cfi_restore_state
2707:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5317 .loc 1 2707 7 is_stmt 1 view .LVU1704
5318 0068 2046 mov r0, r4
5319 006a FFF7FEFF bl HAL_SPI_ErrorCallback
5320 .LVL347:
2709:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5321 .loc 1 2709 7 view .LVU1705
5322 006e F9E7 b .L374
5323 .cfi_endproc
5324 .LFE94:
5326 .section .text.SPI_DMAReceiveCplt,"ax",%progbits
5327 .align 1
5328 .syntax unified
5329 .thumb
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 190
5330 .thumb_func
5331 .fpu softvfp
5333 SPI_DMAReceiveCplt:
5334 .LVL348:
5335 .LFB95:
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5336 .loc 1 2727 1 view -0
5337 .cfi_startproc
5338 @ args = 0, pretend = 0, frame = 0
5339 @ frame_needed = 0, uses_anonymous_args = 0
2727:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5340 .loc 1 2727 1 is_stmt 0 view .LVU1707
5341 0000 38B5 push {r3, r4, r5, lr}
5342 .LCFI68:
5343 .cfi_def_cfa_offset 16
5344 .cfi_offset 3, -16
5345 .cfi_offset 4, -12
5346 .cfi_offset 5, -8
5347 .cfi_offset 14, -4
5348 0002 0546 mov r5, r0
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5349 .loc 1 2728 3 is_stmt 1 view .LVU1708
2728:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5350 .loc 1 2728 22 is_stmt 0 view .LVU1709
5351 0004 446A ldr r4, [r0, #36]
5352 .LVL349:
2729:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5353 .loc 1 2729 3 is_stmt 1 view .LVU1710
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5354 .loc 1 2732 3 view .LVU1711
2732:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5355 .loc 1 2732 15 is_stmt 0 view .LVU1712
5356 0006 FFF7FEFF bl HAL_GetTick
5357 .LVL350:
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5358 .loc 1 2735 3 is_stmt 1 view .LVU1713
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5359 .loc 1 2735 12 is_stmt 0 view .LVU1714
5360 000a 2B68 ldr r3, [r5]
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5361 .loc 1 2735 22 view .LVU1715
5362 000c 1B68 ldr r3, [r3]
2735:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5363 .loc 1 2735 6 view .LVU1716
5364 000e 13F0200F tst r3, #32
5365 0012 18D1 bne .L382
2738:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5366 .loc 1 2738 5 is_stmt 1 view .LVU1717
5367 0014 2268 ldr r2, [r4]
5368 0016 5368 ldr r3, [r2, #4]
5369 0018 23F02003 bic r3, r3, #32
5370 001c 5360 str r3, [r2, #4]
2756:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5371 .loc 1 2756 5 view .LVU1718
5372 001e 2268 ldr r2, [r4]
5373 0020 5368 ldr r3, [r2, #4]
5374 0022 23F00303 bic r3, r3, #3
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 191
5375 0026 5360 str r3, [r2, #4]
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5376 .loc 1 2759 5 view .LVU1719
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5377 .loc 1 2759 9 is_stmt 0 view .LVU1720
5378 0028 0246 mov r2, r0
5379 002a 6421 movs r1, #100
5380 002c 2046 mov r0, r4
5381 .LVL351:
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5382 .loc 1 2759 9 view .LVU1721
5383 002e FFF7FEFF bl SPI_EndRxTransaction
5384 .LVL352:
2759:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5385 .loc 1 2759 8 view .LVU1722
5386 0032 08B1 cbz r0, .L383
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5387 .loc 1 2761 7 is_stmt 1 view .LVU1723
2761:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5388 .loc 1 2761 23 is_stmt 0 view .LVU1724
5389 0034 2023 movs r3, #32
5390 0036 6365 str r3, [r4, #84]
5391 .L383:
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5392 .loc 1 2764 5 is_stmt 1 view .LVU1725
2764:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5393 .loc 1 2764 23 is_stmt 0 view .LVU1726
5394 0038 0023 movs r3, #0
5395 003a E387 strh r3, [r4, #62] @ movhi
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5396 .loc 1 2765 5 is_stmt 1 view .LVU1727
2765:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5397 .loc 1 2765 17 is_stmt 0 view .LVU1728
5398 003c 0123 movs r3, #1
5399 003e 84F85130 strb r3, [r4, #81]
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5400 .loc 1 2786 5 is_stmt 1 view .LVU1729
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5401 .loc 1 2786 13 is_stmt 0 view .LVU1730
5402 0042 636D ldr r3, [r4, #84]
2786:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5403 .loc 1 2786 8 view .LVU1731
5404 0044 1BB9 cbnz r3, .L386
5405 .L382:
2801:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5406 .loc 1 2801 3 is_stmt 1 view .LVU1732
5407 0046 2046 mov r0, r4
5408 0048 FFF7FEFF bl HAL_SPI_RxCpltCallback
5409 .LVL353:
5410 .L381:
2803:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5411 .loc 1 2803 1 is_stmt 0 view .LVU1733
5412 004c 38BD pop {r3, r4, r5, pc}
5413 .LVL354:
5414 .L386:
2792:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5415 .loc 1 2792 7 is_stmt 1 view .LVU1734
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 192
5416 004e 2046 mov r0, r4
5417 0050 FFF7FEFF bl HAL_SPI_ErrorCallback
5418 .LVL355:
2794:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5419 .loc 1 2794 7 view .LVU1735
5420 0054 FAE7 b .L381
5421 .cfi_endproc
5422 .LFE95:
5424 .section .text.SPI_DMATransmitReceiveCplt,"ax",%progbits
5425 .align 1
5426 .syntax unified
5427 .thumb
5428 .thumb_func
5429 .fpu softvfp
5431 SPI_DMATransmitReceiveCplt:
5432 .LVL356:
5433 .LFB96:
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5434 .loc 1 2812 1 view -0
5435 .cfi_startproc
5436 @ args = 0, pretend = 0, frame = 0
5437 @ frame_needed = 0, uses_anonymous_args = 0
2812:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5438 .loc 1 2812 1 is_stmt 0 view .LVU1737
5439 0000 38B5 push {r3, r4, r5, lr}
5440 .LCFI69:
5441 .cfi_def_cfa_offset 16
5442 .cfi_offset 3, -16
5443 .cfi_offset 4, -12
5444 .cfi_offset 5, -8
5445 .cfi_offset 14, -4
5446 0002 0546 mov r5, r0
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5447 .loc 1 2813 3 is_stmt 1 view .LVU1738
2813:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t tickstart;
5448 .loc 1 2813 22 is_stmt 0 view .LVU1739
5449 0004 446A ldr r4, [r0, #36]
5450 .LVL357:
2814:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5451 .loc 1 2814 3 is_stmt 1 view .LVU1740
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5452 .loc 1 2817 3 view .LVU1741
2817:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5453 .loc 1 2817 15 is_stmt 0 view .LVU1742
5454 0006 FFF7FEFF bl HAL_GetTick
5455 .LVL358:
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5456 .loc 1 2820 3 is_stmt 1 view .LVU1743
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5457 .loc 1 2820 12 is_stmt 0 view .LVU1744
5458 000a 2B68 ldr r3, [r5]
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5459 .loc 1 2820 22 view .LVU1745
5460 000c 1B68 ldr r3, [r3]
2820:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5461 .loc 1 2820 6 view .LVU1746
5462 000e 13F0200F tst r3, #32
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 193
5463 0012 1BD1 bne .L388
2823:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5464 .loc 1 2823 5 is_stmt 1 view .LVU1747
5465 0014 2268 ldr r2, [r4]
5466 0016 5368 ldr r3, [r2, #4]
5467 0018 23F02003 bic r3, r3, #32
5468 001c 5360 str r3, [r2, #4]
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5469 .loc 1 2840 5 view .LVU1748
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5470 .loc 1 2840 9 is_stmt 0 view .LVU1749
5471 001e 0246 mov r2, r0
5472 0020 6421 movs r1, #100
5473 0022 2046 mov r0, r4
5474 .LVL359:
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5475 .loc 1 2840 9 view .LVU1750
5476 0024 FFF7FEFF bl SPI_EndRxTxTransaction
5477 .LVL360:
2840:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5478 .loc 1 2840 8 view .LVU1751
5479 0028 18B1 cbz r0, .L389
2842:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5480 .loc 1 2842 7 is_stmt 1 view .LVU1752
5481 002a 636D ldr r3, [r4, #84]
5482 002c 43F02003 orr r3, r3, #32
5483 0030 6365 str r3, [r4, #84]
5484 .L389:
2846:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5485 .loc 1 2846 5 view .LVU1753
5486 0032 2268 ldr r2, [r4]
5487 0034 5368 ldr r3, [r2, #4]
5488 0036 23F00303 bic r3, r3, #3
5489 003a 5360 str r3, [r2, #4]
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
5490 .loc 1 2848 5 view .LVU1754
2848:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
5491 .loc 1 2848 23 is_stmt 0 view .LVU1755
5492 003c 0023 movs r3, #0
5493 003e E386 strh r3, [r4, #54] @ movhi
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5494 .loc 1 2849 5 is_stmt 1 view .LVU1756
2849:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5495 .loc 1 2849 23 is_stmt 0 view .LVU1757
5496 0040 E387 strh r3, [r4, #62] @ movhi
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5497 .loc 1 2850 5 is_stmt 1 view .LVU1758
2850:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5498 .loc 1 2850 17 is_stmt 0 view .LVU1759
5499 0042 0123 movs r3, #1
5500 0044 84F85130 strb r3, [r4, #81]
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5501 .loc 1 2871 5 is_stmt 1 view .LVU1760
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5502 .loc 1 2871 13 is_stmt 0 view .LVU1761
5503 0048 636D ldr r3, [r4, #84]
2871:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 194
5504 .loc 1 2871 8 view .LVU1762
5505 004a 1BB9 cbnz r3, .L392
5506 .L388:
2886:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5507 .loc 1 2886 3 is_stmt 1 view .LVU1763
5508 004c 2046 mov r0, r4
5509 004e FFF7FEFF bl HAL_SPI_TxRxCpltCallback
5510 .LVL361:
5511 .L387:
2888:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5512 .loc 1 2888 1 is_stmt 0 view .LVU1764
5513 0052 38BD pop {r3, r4, r5, pc}
5514 .LVL362:
5515 .L392:
2877:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5516 .loc 1 2877 7 is_stmt 1 view .LVU1765
5517 0054 2046 mov r0, r4
5518 0056 FFF7FEFF bl HAL_SPI_ErrorCallback
5519 .LVL363:
2879:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5520 .loc 1 2879 7 view .LVU1766
5521 005a FAE7 b .L387
5522 .cfi_endproc
5523 .LFE96:
5525 .section .text.HAL_SPI_IRQHandler,"ax",%progbits
5526 .align 1
5527 .global HAL_SPI_IRQHandler
5528 .syntax unified
5529 .thumb
5530 .thumb_func
5531 .fpu softvfp
5533 HAL_SPI_IRQHandler:
5534 .LVL364:
5535 .LFB83:
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
5536 .loc 1 2382 1 view -0
5537 .cfi_startproc
5538 @ args = 0, pretend = 0, frame = 16
5539 @ frame_needed = 0, uses_anonymous_args = 0
2382:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2;
5540 .loc 1 2382 1 is_stmt 0 view .LVU1768
5541 0000 10B5 push {r4, lr}
5542 .LCFI70:
5543 .cfi_def_cfa_offset 8
5544 .cfi_offset 4, -8
5545 .cfi_offset 14, -4
5546 0002 84B0 sub sp, sp, #16
5547 .LCFI71:
5548 .cfi_def_cfa_offset 24
5549 0004 0446 mov r4, r0
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
5550 .loc 1 2383 3 is_stmt 1 view .LVU1769
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
5551 .loc 1 2383 27 is_stmt 0 view .LVU1770
5552 0006 0268 ldr r2, [r0]
2383:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
5553 .loc 1 2383 12 view .LVU1771
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 195
5554 0008 5068 ldr r0, [r2, #4]
5555 .LVL365:
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5556 .loc 1 2384 3 is_stmt 1 view .LVU1772
2384:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5557 .loc 1 2384 12 is_stmt 0 view .LVU1773
5558 000a 9368 ldr r3, [r2, #8]
5559 .LVL366:
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
5560 .loc 1 2387 3 is_stmt 1 view .LVU1774
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
5561 .loc 1 2387 8 is_stmt 0 view .LVU1775
5562 000c C3F38011 ubfx r1, r3, #6, #1
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
5563 .loc 1 2387 6 view .LVU1776
5564 0010 29B9 cbnz r1, .L394
2387:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN
5565 .loc 1 2387 55 discriminator 1 view .LVU1777
5566 0012 13F0010F tst r3, #1
5567 0016 02D0 beq .L394
2388:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5568 .loc 1 2388 56 view .LVU1778
5569 0018 10F0400F tst r0, #64
5570 001c 58D1 bne .L405
5571 .L394:
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5572 .loc 1 2395 3 is_stmt 1 view .LVU1779
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5573 .loc 1 2395 6 is_stmt 0 view .LVU1780
5574 001e 13F0020F tst r3, #2
5575 0022 02D0 beq .L396
2395:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5576 .loc 1 2395 55 discriminator 1 view .LVU1781
5577 0024 10F0800F tst r0, #128
5578 0028 56D1 bne .L406
5579 .L396:
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_ERR) != RESET))
5580 .loc 1 2402 3 is_stmt 1 view .LVU1782
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_ERR) != RESET))
5581 .loc 1 2402 9 is_stmt 0 view .LVU1783
5582 002a C3F34013 ubfx r3, r3, #5, #1
5583 .LVL367:
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_ERR) != RESET))
5584 .loc 1 2402 6 view .LVU1784
5585 002e 0BB9 cbnz r3, .L397
2402:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_ERR) != RESET))
5586 .loc 1 2402 57 discriminator 1 view .LVU1785
5587 0030 0029 cmp r1, #0
5588 0032 54D0 beq .L393
5589 .L397:
2403:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5590 .loc 1 2403 8 view .LVU1786
5591 0034 10F0200F tst r0, #32
5592 0038 51D0 beq .L393
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5593 .loc 1 2406 5 is_stmt 1 view .LVU1787
2406:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 196
5594 .loc 1 2406 8 is_stmt 0 view .LVU1788
5595 003a 79B1 cbz r1, .L398
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5596 .loc 1 2408 7 is_stmt 1 view .LVU1789
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5597 .loc 1 2408 15 is_stmt 0 view .LVU1790
5598 003c 94F85110 ldrb r1, [r4, #81] @ zero_extendqisi2
5599 0040 C9B2 uxtb r1, r1
2408:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5600 .loc 1 2408 10 view .LVU1791
5601 0042 0329 cmp r1, #3
5602 0044 4DD0 beq .L399
2410:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
5603 .loc 1 2410 9 is_stmt 1 view .LVU1792
5604 0046 616D ldr r1, [r4, #84]
5605 0048 41F00401 orr r1, r1, #4
5606 004c 6165 str r1, [r4, #84]
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5607 .loc 1 2411 9 view .LVU1793
5608 .LBB9:
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5609 .loc 1 2411 9 view .LVU1794
5610 004e 0021 movs r1, #0
5611 0050 0191 str r1, [sp, #4]
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5612 .loc 1 2411 9 view .LVU1795
5613 0052 D168 ldr r1, [r2, #12]
5614 0054 0191 str r1, [sp, #4]
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5615 .loc 1 2411 9 view .LVU1796
5616 0056 9168 ldr r1, [r2, #8]
5617 0058 0191 str r1, [sp, #4]
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5618 .loc 1 2411 9 view .LVU1797
5619 005a 0199 ldr r1, [sp, #4]
5620 .L398:
2411:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5621 .loc 1 2411 9 is_stmt 0 view .LVU1798
5622 .LBE9:
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5623 .loc 1 2421 5 is_stmt 1 view .LVU1799
2421:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5624 .loc 1 2421 8 is_stmt 0 view .LVU1800
5625 005c 63B1 cbz r3, .L400
2423:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
5626 .loc 1 2423 7 is_stmt 1 view .LVU1801
5627 005e 636D ldr r3, [r4, #84]
5628 0060 43F00103 orr r3, r3, #1
5629 0064 6365 str r3, [r4, #84]
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5630 .loc 1 2424 7 view .LVU1802
5631 .LBB10:
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5632 .loc 1 2424 7 view .LVU1803
5633 0066 0023 movs r3, #0
5634 0068 0393 str r3, [sp, #12]
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 197
5635 .loc 1 2424 7 view .LVU1804
5636 006a 9368 ldr r3, [r2, #8]
5637 006c 0393 str r3, [sp, #12]
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5638 .loc 1 2424 7 view .LVU1805
5639 006e 1368 ldr r3, [r2]
5640 0070 23F04003 bic r3, r3, #64
5641 0074 1360 str r3, [r2]
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5642 .loc 1 2424 7 view .LVU1806
5643 0076 039B ldr r3, [sp, #12]
5644 .L400:
2424:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5645 .loc 1 2424 7 is_stmt 0 view .LVU1807
5646 .LBE10:
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5647 .loc 1 2429 5 is_stmt 1 view .LVU1808
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5648 .loc 1 2429 13 is_stmt 0 view .LVU1809
5649 0078 636D ldr r3, [r4, #84]
2429:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5650 .loc 1 2429 8 view .LVU1810
5651 007a 002B cmp r3, #0
5652 007c 2FD0 beq .L393
2432:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5653 .loc 1 2432 7 is_stmt 1 view .LVU1811
5654 007e 2268 ldr r2, [r4]
5655 0080 5368 ldr r3, [r2, #4]
5656 0082 23F0E003 bic r3, r3, #224
5657 0086 5360 str r3, [r2, #4]
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
5658 .loc 1 2434 7 view .LVU1812
2434:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
5659 .loc 1 2434 19 is_stmt 0 view .LVU1813
5660 0088 0123 movs r3, #1
5661 008a 84F85130 strb r3, [r4, #81]
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5662 .loc 1 2436 7 is_stmt 1 view .LVU1814
2436:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5663 .loc 1 2436 10 is_stmt 0 view .LVU1815
5664 008e 10F0030F tst r0, #3
5665 0092 2ED0 beq .L402
2438:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5666 .loc 1 2438 9 is_stmt 1 view .LVU1816
5667 0094 2268 ldr r2, [r4]
5668 0096 5368 ldr r3, [r2, #4]
5669 0098 23F00303 bic r3, r3, #3
5670 009c 5360 str r3, [r2, #4]
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5671 .loc 1 2441 9 view .LVU1817
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5672 .loc 1 2441 17 is_stmt 0 view .LVU1818
5673 009e E36C ldr r3, [r4, #76]
2441:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5674 .loc 1 2441 12 view .LVU1819
5675 00a0 4BB1 cbz r3, .L403
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 198
5676 .loc 1 2445 11 is_stmt 1 view .LVU1820
2445:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
5677 .loc 1 2445 43 is_stmt 0 view .LVU1821
5678 00a2 164A ldr r2, .L407
5679 00a4 5A63 str r2, [r3, #52]
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5680 .loc 1 2446 11 is_stmt 1 view .LVU1822
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5681 .loc 1 2446 25 is_stmt 0 view .LVU1823
5682 00a6 E06C ldr r0, [r4, #76]
5683 .LVL368:
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5684 .loc 1 2446 25 view .LVU1824
5685 00a8 FFF7FEFF bl HAL_DMA_Abort_IT
5686 .LVL369:
2446:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5687 .loc 1 2446 14 view .LVU1825
5688 00ac 18B1 cbz r0, .L403
2448:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5689 .loc 1 2448 13 is_stmt 1 view .LVU1826
5690 00ae 636D ldr r3, [r4, #84]
5691 00b0 43F04003 orr r3, r3, #64
5692 00b4 6365 str r3, [r4, #84]
5693 .L403:
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5694 .loc 1 2452 9 view .LVU1827
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5695 .loc 1 2452 17 is_stmt 0 view .LVU1828
5696 00b6 A36C ldr r3, [r4, #72]
2452:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5697 .loc 1 2452 12 view .LVU1829
5698 00b8 8BB1 cbz r3, .L393
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
5699 .loc 1 2456 11 is_stmt 1 view .LVU1830
2456:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
5700 .loc 1 2456 43 is_stmt 0 view .LVU1831
5701 00ba 104A ldr r2, .L407
5702 00bc 5A63 str r2, [r3, #52]
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5703 .loc 1 2457 11 is_stmt 1 view .LVU1832
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5704 .loc 1 2457 25 is_stmt 0 view .LVU1833
5705 00be A06C ldr r0, [r4, #72]
5706 00c0 FFF7FEFF bl HAL_DMA_Abort_IT
5707 .LVL370:
2457:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5708 .loc 1 2457 14 view .LVU1834
5709 00c4 58B1 cbz r0, .L393
2459:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5710 .loc 1 2459 13 is_stmt 1 view .LVU1835
5711 00c6 636D ldr r3, [r4, #84]
5712 00c8 43F04003 orr r3, r3, #64
5713 00cc 6365 str r3, [r4, #84]
5714 00ce 06E0 b .L393
5715 .LVL371:
5716 .L405:
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 199
5717 .loc 1 2390 5 view .LVU1836
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5718 .loc 1 2390 9 is_stmt 0 view .LVU1837
5719 00d0 236C ldr r3, [r4, #64]
5720 .LVL372:
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5721 .loc 1 2390 5 view .LVU1838
5722 00d2 2046 mov r0, r4
5723 .LVL373:
2390:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5724 .loc 1 2390 5 view .LVU1839
5725 00d4 9847 blx r3
5726 .LVL374:
2391:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5727 .loc 1 2391 5 is_stmt 1 view .LVU1840
5728 00d6 02E0 b .L393
5729 .LVL375:
5730 .L406:
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5731 .loc 1 2397 5 view .LVU1841
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5732 .loc 1 2397 9 is_stmt 0 view .LVU1842
5733 00d8 636C ldr r3, [r4, #68]
5734 .LVL376:
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5735 .loc 1 2397 5 view .LVU1843
5736 00da 2046 mov r0, r4
5737 .LVL377:
2397:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5738 .loc 1 2397 5 view .LVU1844
5739 00dc 9847 blx r3
5740 .LVL378:
2398:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5741 .loc 1 2398 5 is_stmt 1 view .LVU1845
5742 .L393:
2475:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5743 .loc 1 2475 1 is_stmt 0 view .LVU1846
5744 00de 04B0 add sp, sp, #16
5745 .LCFI72:
5746 .cfi_remember_state
5747 .cfi_def_cfa_offset 8
5748 @ sp needed
5749 00e0 10BD pop {r4, pc}
5750 .LVL379:
5751 .L399:
5752 .LCFI73:
5753 .cfi_restore_state
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5754 .loc 1 2415 9 is_stmt 1 view .LVU1847
5755 .LBB11:
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5756 .loc 1 2415 9 view .LVU1848
5757 00e2 0023 movs r3, #0
5758 00e4 0293 str r3, [sp, #8]
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5759 .loc 1 2415 9 view .LVU1849
5760 00e6 D368 ldr r3, [r2, #12]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 200
5761 00e8 0293 str r3, [sp, #8]
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5762 .loc 1 2415 9 view .LVU1850
5763 00ea 9368 ldr r3, [r2, #8]
5764 00ec 0293 str r3, [sp, #8]
2415:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** return;
5765 .loc 1 2415 9 view .LVU1851
5766 00ee 029B ldr r3, [sp, #8]
5767 .LBE11:
2416:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5768 .loc 1 2416 9 view .LVU1852
5769 00f0 F5E7 b .L393
5770 .L402:
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5771 .loc 1 2469 9 view .LVU1853
5772 00f2 2046 mov r0, r4
5773 .LVL380:
2469:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5774 .loc 1 2469 9 is_stmt 0 view .LVU1854
5775 00f4 FFF7FEFF bl HAL_SPI_ErrorCallback
5776 .LVL381:
2473:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5777 .loc 1 2473 5 is_stmt 1 view .LVU1855
5778 00f8 F1E7 b .L393
5779 .L408:
5780 00fa 00BF .align 2
5781 .L407:
5782 00fc 00000000 .word SPI_DMAAbortOnError
5783 .cfi_endproc
5784 .LFE83:
5786 .section .text.SPI_DMAAbortOnError,"ax",%progbits
5787 .align 1
5788 .syntax unified
5789 .thumb
5790 .thumb_func
5791 .fpu softvfp
5793 SPI_DMAAbortOnError:
5794 .LVL382:
5795 .LFB101:
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5796 .loc 1 2974 1 view -0
5797 .cfi_startproc
5798 @ args = 0, pretend = 0, frame = 0
5799 @ frame_needed = 0, uses_anonymous_args = 0
2974:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
5800 .loc 1 2974 1 is_stmt 0 view .LVU1857
5801 0000 08B5 push {r3, lr}
5802 .LCFI74:
5803 .cfi_def_cfa_offset 8
5804 .cfi_offset 3, -8
5805 .cfi_offset 14, -4
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
5806 .loc 1 2975 3 is_stmt 1 view .LVU1858
2975:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->RxXferCount = 0U;
5807 .loc 1 2975 22 is_stmt 0 view .LVU1859
5808 0002 406A ldr r0, [r0, #36]
5809 .LVL383:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 201
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
5810 .loc 1 2976 3 is_stmt 1 view .LVU1860
2976:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
5811 .loc 1 2976 21 is_stmt 0 view .LVU1861
5812 0004 0023 movs r3, #0
5813 0006 C387 strh r3, [r0, #62] @ movhi
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5814 .loc 1 2977 3 is_stmt 1 view .LVU1862
2977:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5815 .loc 1 2977 21 is_stmt 0 view .LVU1863
5816 0008 C386 strh r3, [r0, #54] @ movhi
2983:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5817 .loc 1 2983 3 is_stmt 1 view .LVU1864
5818 000a FFF7FEFF bl HAL_SPI_ErrorCallback
5819 .LVL384:
2985:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5820 .loc 1 2985 1 is_stmt 0 view .LVU1865
5821 000e 08BD pop {r3, pc}
5822 .cfi_endproc
5823 .LFE101:
5825 .section .text.HAL_SPI_AbortCpltCallback,"ax",%progbits
5826 .align 1
5827 .weak HAL_SPI_AbortCpltCallback
5828 .syntax unified
5829 .thumb
5830 .thumb_func
5831 .fpu softvfp
5833 HAL_SPI_AbortCpltCallback:
5834 .LVL385:
5835 .LFB91:
2598:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5836 .loc 1 2598 1 is_stmt 1 view -0
5837 .cfi_startproc
5838 @ args = 0, pretend = 0, frame = 0
5839 @ frame_needed = 0, uses_anonymous_args = 0
5840 @ link register save eliminated.
2600:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5841 .loc 1 2600 3 view .LVU1867
2605:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5842 .loc 1 2605 1 is_stmt 0 view .LVU1868
5843 0000 7047 bx lr
5844 .cfi_endproc
5845 .LFE91:
5847 .section .text.HAL_SPI_Abort_IT,"ax",%progbits
5848 .align 1
5849 .global HAL_SPI_Abort_IT
5850 .syntax unified
5851 .thumb
5852 .thumb_func
5853 .fpu softvfp
5855 HAL_SPI_Abort_IT:
5856 .LVL386:
5857 .LFB79:
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
5858 .loc 1 2142 1 is_stmt 1 view -0
5859 .cfi_startproc
5860 @ args = 0, pretend = 0, frame = 16
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 202
5861 @ frame_needed = 0, uses_anonymous_args = 0
2142:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
5862 .loc 1 2142 1 is_stmt 0 view .LVU1870
5863 0000 70B5 push {r4, r5, r6, lr}
5864 .LCFI75:
5865 .cfi_def_cfa_offset 16
5866 .cfi_offset 4, -16
5867 .cfi_offset 5, -12
5868 .cfi_offset 6, -8
5869 .cfi_offset 14, -4
5870 0002 84B0 sub sp, sp, #16
5871 .LCFI76:
5872 .cfi_def_cfa_offset 32
5873 0004 0446 mov r4, r0
2143:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** uint32_t abortcplt ;
5874 .loc 1 2143 3 is_stmt 1 view .LVU1871
2144:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
5875 .loc 1 2144 3 view .LVU1872
2145:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t resetcount;
5876 .loc 1 2145 3 view .LVU1873
2146:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5877 .loc 1 2146 3 view .LVU1874
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** abortcplt = 1U;
5878 .loc 1 2149 3 view .LVU1875
5879 .LVL387:
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
5880 .loc 1 2150 3 view .LVU1876
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
5881 .loc 1 2151 3 view .LVU1877
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
5882 .loc 1 2151 61 is_stmt 0 view .LVU1878
5883 0006 4E4B ldr r3, .L438
5884 0008 1B68 ldr r3, [r3]
5885 000a 4E4A ldr r2, .L438+4
5886 000c A2FB0323 umull r2, r3, r2, r3
5887 0010 5B0A lsrs r3, r3, #9
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
5888 .loc 1 2151 36 view .LVU1879
5889 0012 6422 movs r2, #100
5890 0014 02FB03F3 mul r3, r2, r3
2151:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = resetcount;
5891 .loc 1 2151 14 view .LVU1880
5892 0018 0293 str r3, [sp, #8]
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5893 .loc 1 2152 3 is_stmt 1 view .LVU1881
2152:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5894 .loc 1 2152 9 is_stmt 0 view .LVU1882
5895 001a 029B ldr r3, [sp, #8]
5896 001c 0393 str r3, [sp, #12]
2155:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
5897 .loc 1 2155 3 is_stmt 1 view .LVU1883
5898 001e 0268 ldr r2, [r0]
5899 0020 5368 ldr r3, [r2, #4]
5900 0022 23F02003 bic r3, r3, #32
5901 0026 5360 str r3, [r2, #4]
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5902 .loc 1 2158 3 view .LVU1884
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 203
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5903 .loc 1 2158 7 is_stmt 0 view .LVU1885
5904 0028 0368 ldr r3, [r0]
5905 002a 5B68 ldr r3, [r3, #4]
2158:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5906 .loc 1 2158 6 view .LVU1886
5907 002c 13F0800F tst r3, #128
5908 0030 12D0 beq .L413
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
5909 .loc 1 2160 5 is_stmt 1 view .LVU1887
2160:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
5910 .loc 1 2160 17 is_stmt 0 view .LVU1888
5911 0032 454B ldr r3, .L438+8
5912 0034 4364 str r3, [r0, #68]
5913 .L416:
2162:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5914 .loc 1 2162 5 is_stmt 1 view .LVU1889
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5915 .loc 1 2164 7 view .LVU1890
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5916 .loc 1 2164 17 is_stmt 0 view .LVU1891
5917 0036 039B ldr r3, [sp, #12]
2164:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5918 .loc 1 2164 10 view .LVU1892
5919 0038 43B1 cbz r3, .L435
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
5920 .loc 1 2169 7 is_stmt 1 view .LVU1893
2169:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
5921 .loc 1 2169 12 is_stmt 0 view .LVU1894
5922 003a 039B ldr r3, [sp, #12]
5923 003c 013B subs r3, r3, #1
5924 003e 0393 str r3, [sp, #12]
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
5925 .loc 1 2170 18 view .LVU1895
5926 0040 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
5927 0044 DBB2 uxtb r3, r3
2170:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
5928 .loc 1 2170 5 view .LVU1896
5929 0046 072B cmp r3, #7
5930 0048 F5D1 bne .L416
5931 004a 03E0 b .L415
5932 .L435:
2166:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
5933 .loc 1 2166 9 is_stmt 1 view .LVU1897
5934 004c 636D ldr r3, [r4, #84]
5935 004e 43F04003 orr r3, r3, #64
5936 0052 6365 str r3, [r4, #84]
2167:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5937 .loc 1 2167 9 view .LVU1898
5938 .L415:
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5939 .loc 1 2172 5 view .LVU1899
2172:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5940 .loc 1 2172 11 is_stmt 0 view .LVU1900
5941 0054 029B ldr r3, [sp, #8]
5942 0056 0393 str r3, [sp, #12]
5943 .L413:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 204
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5944 .loc 1 2175 3 is_stmt 1 view .LVU1901
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5945 .loc 1 2175 7 is_stmt 0 view .LVU1902
5946 0058 2368 ldr r3, [r4]
5947 005a 5B68 ldr r3, [r3, #4]
2175:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5948 .loc 1 2175 6 view .LVU1903
5949 005c 13F0400F tst r3, #64
5950 0060 12D0 beq .L417
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
5951 .loc 1 2177 5 is_stmt 1 view .LVU1904
2177:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */
5952 .loc 1 2177 17 is_stmt 0 view .LVU1905
5953 0062 3A4B ldr r3, .L438+12
5954 0064 2364 str r3, [r4, #64]
5955 .L420:
2179:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5956 .loc 1 2179 5 is_stmt 1 view .LVU1906
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5957 .loc 1 2181 7 view .LVU1907
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5958 .loc 1 2181 17 is_stmt 0 view .LVU1908
5959 0066 039B ldr r3, [sp, #12]
2181:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5960 .loc 1 2181 10 view .LVU1909
5961 0068 43B1 cbz r3, .L436
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
5962 .loc 1 2186 7 is_stmt 1 view .LVU1910
2186:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT);
5963 .loc 1 2186 12 is_stmt 0 view .LVU1911
5964 006a 039B ldr r3, [sp, #12]
5965 006c 013B subs r3, r3, #1
5966 006e 0393 str r3, [sp, #12]
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
5967 .loc 1 2187 18 view .LVU1912
5968 0070 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2
5969 0074 DBB2 uxtb r3, r3
2187:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Reset Timeout Counter */
5970 .loc 1 2187 5 view .LVU1913
5971 0076 072B cmp r3, #7
5972 0078 F5D1 bne .L420
5973 007a 03E0 b .L419
5974 .L436:
2183:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
5975 .loc 1 2183 9 is_stmt 1 view .LVU1914
5976 007c 636D ldr r3, [r4, #84]
5977 007e 43F04003 orr r3, r3, #64
5978 0082 6365 str r3, [r4, #84]
2184:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5979 .loc 1 2184 9 view .LVU1915
5980 .L419:
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5981 .loc 1 2189 5 view .LVU1916
2189:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5982 .loc 1 2189 11 is_stmt 0 view .LVU1917
5983 0084 029B ldr r3, [sp, #8]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 205
5984 0086 0393 str r3, [sp, #12]
5985 .L417:
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5986 .loc 1 2195 3 is_stmt 1 view .LVU1918
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5987 .loc 1 2195 11 is_stmt 0 view .LVU1919
5988 0088 A36C ldr r3, [r4, #72]
2195:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5989 .loc 1 2195 6 view .LVU1920
5990 008a 33B1 cbz r3, .L421
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5991 .loc 1 2199 5 is_stmt 1 view .LVU1921
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5992 .loc 1 2199 9 is_stmt 0 view .LVU1922
5993 008c 2268 ldr r2, [r4]
5994 008e 5268 ldr r2, [r2, #4]
2199:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
5995 .loc 1 2199 8 view .LVU1923
5996 0090 12F0020F tst r2, #2
5997 0094 1BD0 beq .L422
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5998 .loc 1 2201 7 is_stmt 1 view .LVU1924
2201:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
5999 .loc 1 2201 39 is_stmt 0 view .LVU1925
6000 0096 2E4A ldr r2, .L438+16
6001 0098 5A63 str r2, [r3, #52]
6002 .L421:
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6003 .loc 1 2209 3 is_stmt 1 view .LVU1926
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6004 .loc 1 2209 11 is_stmt 0 view .LVU1927
6005 009a E36C ldr r3, [r4, #76]
2209:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6006 .loc 1 2209 6 view .LVU1928
6007 009c 33B1 cbz r3, .L423
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6008 .loc 1 2213 5 is_stmt 1 view .LVU1929
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6009 .loc 1 2213 9 is_stmt 0 view .LVU1930
6010 009e 2268 ldr r2, [r4]
6011 00a0 5268 ldr r2, [r2, #4]
2213:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6012 .loc 1 2213 8 view .LVU1931
6013 00a2 12F0010F tst r2, #1
6014 00a6 15D0 beq .L424
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6015 .loc 1 2215 7 is_stmt 1 view .LVU1932
2215:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6016 .loc 1 2215 39 is_stmt 0 view .LVU1933
6017 00a8 2A4A ldr r2, .L438+20
6018 00aa 5A63 str r2, [r3, #52]
6019 .L423:
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6020 .loc 1 2224 3 is_stmt 1 view .LVU1934
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6021 .loc 1 2224 7 is_stmt 0 view .LVU1935
6022 00ac 2368 ldr r3, [r4]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 206
6023 00ae 5B68 ldr r3, [r3, #4]
2224:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6024 .loc 1 2224 6 view .LVU1936
6025 00b0 13F0020F tst r3, #2
6026 00b4 11D0 beq .L429
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6027 .loc 1 2227 5 is_stmt 1 view .LVU1937
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6028 .loc 1 2227 13 is_stmt 0 view .LVU1938
6029 00b6 A06C ldr r0, [r4, #72]
6030 .LVL388:
2227:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6031 .loc 1 2227 8 view .LVU1939
6032 00b8 28B3 cbz r0, .L430
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6033 .loc 1 2230 7 is_stmt 1 view .LVU1940
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6034 .loc 1 2230 11 is_stmt 0 view .LVU1941
6035 00ba FFF7FEFF bl HAL_DMA_Abort_IT
6036 .LVL389:
2230:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6037 .loc 1 2230 10 view .LVU1942
6038 00be 20B3 cbz r0, .L431
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6039 .loc 1 2232 9 is_stmt 1 view .LVU1943
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6040 .loc 1 2232 13 is_stmt 0 view .LVU1944
6041 00c0 A36C ldr r3, [r4, #72]
2232:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6042 .loc 1 2232 41 view .LVU1945
6043 00c2 0022 movs r2, #0
6044 00c4 5A63 str r2, [r3, #52]
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6045 .loc 1 2233 9 is_stmt 1 view .LVU1946
2233:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6046 .loc 1 2233 25 is_stmt 0 view .LVU1947
6047 00c6 4023 movs r3, #64
6048 00c8 6365 str r3, [r4, #84]
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6049 .loc 1 2150 13 view .LVU1948
6050 00ca 0126 movs r6, #1
6051 00cc 06E0 b .L425
6052 .LVL390:
6053 .L422:
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6054 .loc 1 2205 7 is_stmt 1 view .LVU1949
2205:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6055 .loc 1 2205 39 is_stmt 0 view .LVU1950
6056 00ce 0022 movs r2, #0
6057 00d0 5A63 str r2, [r3, #52]
6058 00d2 E2E7 b .L421
6059 .L424:
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6060 .loc 1 2219 7 is_stmt 1 view .LVU1951
2219:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6061 .loc 1 2219 39 is_stmt 0 view .LVU1952
6062 00d4 0022 movs r2, #0
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 207
6063 00d6 5A63 str r2, [r3, #52]
6064 00d8 E8E7 b .L423
6065 .L429:
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6066 .loc 1 2150 13 view .LVU1953
6067 00da 0126 movs r6, #1
6068 .LVL391:
6069 .L425:
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6070 .loc 1 2242 3 is_stmt 1 view .LVU1954
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6071 .loc 1 2242 7 is_stmt 0 view .LVU1955
6072 00dc 2368 ldr r3, [r4]
6073 00de 5B68 ldr r3, [r3, #4]
2242:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6074 .loc 1 2242 6 view .LVU1956
6075 00e0 13F0010F tst r3, #1
6076 00e4 0AD0 beq .L426
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6077 .loc 1 2245 5 is_stmt 1 view .LVU1957
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6078 .loc 1 2245 13 is_stmt 0 view .LVU1958
6079 00e6 E06C ldr r0, [r4, #76]
2245:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6080 .loc 1 2245 8 view .LVU1959
6081 00e8 40B1 cbz r0, .L426
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6082 .loc 1 2248 7 is_stmt 1 view .LVU1960
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6083 .loc 1 2248 11 is_stmt 0 view .LVU1961
6084 00ea FFF7FEFF bl HAL_DMA_Abort_IT
6085 .LVL392:
2248:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6086 .loc 1 2248 10 view .LVU1962
6087 00ee 0546 mov r5, r0
6088 00f0 30B1 cbz r0, .L427
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6089 .loc 1 2250 9 is_stmt 1 view .LVU1963
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6090 .loc 1 2250 13 is_stmt 0 view .LVU1964
6091 00f2 E36C ldr r3, [r4, #76]
2250:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
6092 .loc 1 2250 41 view .LVU1965
6093 00f4 0022 movs r2, #0
6094 00f6 5A63 str r2, [r3, #52]
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6095 .loc 1 2251 9 is_stmt 1 view .LVU1966
2251:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6096 .loc 1 2251 25 is_stmt 0 view .LVU1967
6097 00f8 4023 movs r3, #64
6098 00fa 6365 str r3, [r4, #84]
6099 .L426:
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6100 .loc 1 2260 3 is_stmt 1 view .LVU1968
2260:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6101 .loc 1 2260 6 is_stmt 0 view .LVU1969
6102 00fc 3EB9 cbnz r6, .L437
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 208
2149:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** abortcplt = 1U;
6103 .loc 1 2149 13 view .LVU1970
6104 00fe 0025 movs r5, #0
6105 .LVL393:
6106 .L427:
2292:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6107 .loc 1 2292 3 is_stmt 1 view .LVU1971
2293:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6108 .loc 1 2293 1 is_stmt 0 view .LVU1972
6109 0100 2846 mov r0, r5
6110 0102 04B0 add sp, sp, #16
6111 .LCFI77:
6112 .cfi_remember_state
6113 .cfi_def_cfa_offset 16
6114 @ sp needed
6115 0104 70BD pop {r4, r5, r6, pc}
6116 .LVL394:
6117 .L430:
6118 .LCFI78:
6119 .cfi_restore_state
2150:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6120 .loc 1 2150 13 view .LVU1973
6121 0106 0126 movs r6, #1
6122 0108 E8E7 b .L425
6123 .L431:
2237:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6124 .loc 1 2237 19 view .LVU1974
6125 010a 0026 movs r6, #0
6126 010c E6E7 b .L425
6127 .LVL395:
6128 .L437:
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6129 .loc 1 2263 5 is_stmt 1 view .LVU1975
2263:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6130 .loc 1 2263 23 is_stmt 0 view .LVU1976
6131 010e 0023 movs r3, #0
6132 0110 E387 strh r3, [r4, #62] @ movhi
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6133 .loc 1 2264 5 is_stmt 1 view .LVU1977
2264:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6134 .loc 1 2264 23 is_stmt 0 view .LVU1978
6135 0112 E386 strh r3, [r4, #54] @ movhi
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6136 .loc 1 2267 5 is_stmt 1 view .LVU1979
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6137 .loc 1 2267 13 is_stmt 0 view .LVU1980
6138 0114 636D ldr r3, [r4, #84]
2267:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6139 .loc 1 2267 8 view .LVU1981
6140 0116 402B cmp r3, #64
6141 0118 10D0 beq .L433
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6142 .loc 1 2275 7 is_stmt 1 view .LVU1982
2275:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6143 .loc 1 2275 23 is_stmt 0 view .LVU1983
6144 011a 0025 movs r5, #0
6145 011c 6565 str r5, [r4, #84]
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 209
6146 .L428:
6147 .LVL396:
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6148 .loc 1 2279 5 is_stmt 1 view .LVU1984
6149 .LBB12:
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6150 .loc 1 2279 5 view .LVU1985
6151 011e 0023 movs r3, #0
6152 0120 0193 str r3, [sp, #4]
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6153 .loc 1 2279 5 view .LVU1986
6154 0122 2368 ldr r3, [r4]
6155 0124 DA68 ldr r2, [r3, #12]
6156 0126 0192 str r2, [sp, #4]
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6157 .loc 1 2279 5 view .LVU1987
6158 0128 9B68 ldr r3, [r3, #8]
6159 012a 0193 str r3, [sp, #4]
2279:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6160 .loc 1 2279 5 view .LVU1988
6161 012c 019B ldr r3, [sp, #4]
6162 .LBE12:
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6163 .loc 1 2282 5 view .LVU1989
2282:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6164 .loc 1 2282 17 is_stmt 0 view .LVU1990
6165 012e 0123 movs r3, #1
6166 0130 84F85130 strb r3, [r4, #81]
2288:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6167 .loc 1 2288 5 is_stmt 1 view .LVU1991
6168 0134 2046 mov r0, r4
6169 0136 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6170 .LVL397:
6171 013a E1E7 b .L427
6172 .LVL398:
6173 .L433:
2270:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6174 .loc 1 2270 17 is_stmt 0 view .LVU1992
6175 013c 0125 movs r5, #1
6176 013e EEE7 b .L428
6177 .L439:
6178 .align 2
6179 .L438:
6180 0140 00000000 .word SystemCoreClock
6181 0144 F1197605 .word 91625969
6182 0148 00000000 .word SPI_AbortTx_ISR
6183 014c 00000000 .word SPI_AbortRx_ISR
6184 0150 00000000 .word SPI_DMATxAbortCallback
6185 0154 00000000 .word SPI_DMARxAbortCallback
6186 .cfi_endproc
6187 .LFE79:
6189 .section .text.SPI_DMARxAbortCallback,"ax",%progbits
6190 .align 1
6191 .syntax unified
6192 .thumb
6193 .thumb_func
6194 .fpu softvfp
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 210
6196 SPI_DMARxAbortCallback:
6197 .LVL399:
6198 .LFB103:
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6199 .loc 1 3060 1 is_stmt 1 view -0
6200 .cfi_startproc
6201 @ args = 0, pretend = 0, frame = 8
6202 @ frame_needed = 0, uses_anonymous_args = 0
3060:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6203 .loc 1 3060 1 is_stmt 0 view .LVU1994
6204 0000 10B5 push {r4, lr}
6205 .LCFI79:
6206 .cfi_def_cfa_offset 8
6207 .cfi_offset 4, -8
6208 .cfi_offset 14, -4
6209 0002 82B0 sub sp, sp, #8
6210 .LCFI80:
6211 .cfi_def_cfa_offset 16
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6212 .loc 1 3061 3 is_stmt 1 view .LVU1995
3061:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6213 .loc 1 3061 22 is_stmt 0 view .LVU1996
6214 0004 446A ldr r4, [r0, #36]
6215 .LVL400:
3064:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6216 .loc 1 3064 3 is_stmt 1 view .LVU1997
6217 0006 2268 ldr r2, [r4]
6218 0008 1368 ldr r3, [r2]
6219 000a 23F04003 bic r3, r3, #64
6220 000e 1360 str r3, [r2]
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6221 .loc 1 3066 3 view .LVU1998
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6222 .loc 1 3066 7 is_stmt 0 view .LVU1999
6223 0010 E36C ldr r3, [r4, #76]
3066:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6224 .loc 1 3066 35 view .LVU2000
6225 0012 0022 movs r2, #0
6226 0014 5A63 str r2, [r3, #52]
3069:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6227 .loc 1 3069 3 is_stmt 1 view .LVU2001
6228 0016 2268 ldr r2, [r4]
6229 0018 5368 ldr r3, [r2, #4]
6230 001a 23F00103 bic r3, r3, #1
6231 001e 5360 str r3, [r2, #4]
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6232 .loc 1 3072 3 view .LVU2002
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6233 .loc 1 3072 7 is_stmt 0 view .LVU2003
6234 0020 FFF7FEFF bl HAL_GetTick
6235 .LVL401:
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6236 .loc 1 3072 7 view .LVU2004
6237 0024 0246 mov r2, r0
6238 0026 6421 movs r1, #100
6239 0028 2046 mov r0, r4
6240 002a FFF7FEFF bl SPI_EndRxTxTransaction
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 211
6241 .LVL402:
3072:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6242 .loc 1 3072 6 view .LVU2005
6243 002e 18B1 cbz r0, .L441
3074:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6244 .loc 1 3074 5 is_stmt 1 view .LVU2006
6245 0030 636D ldr r3, [r4, #84]
6246 0032 43F04003 orr r3, r3, #64
6247 0036 6365 str r3, [r4, #84]
6248 .L441:
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6249 .loc 1 3078 3 view .LVU2007
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6250 .loc 1 3078 11 is_stmt 0 view .LVU2008
6251 0038 A36C ldr r3, [r4, #72]
3078:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6252 .loc 1 3078 6 view .LVU2009
6253 003a 0BB1 cbz r3, .L442
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6254 .loc 1 3080 5 is_stmt 1 view .LVU2010
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6255 .loc 1 3080 21 is_stmt 0 view .LVU2011
6256 003c 5B6B ldr r3, [r3, #52]
3080:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6257 .loc 1 3080 8 view .LVU2012
6258 003e ABB9 cbnz r3, .L440
6259 .L442:
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6260 .loc 1 3087 3 is_stmt 1 view .LVU2013
3087:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6261 .loc 1 3087 21 is_stmt 0 view .LVU2014
6262 0040 0023 movs r3, #0
6263 0042 E387 strh r3, [r4, #62] @ movhi
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6264 .loc 1 3088 3 is_stmt 1 view .LVU2015
3088:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6265 .loc 1 3088 21 is_stmt 0 view .LVU2016
6266 0044 E386 strh r3, [r4, #54] @ movhi
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6267 .loc 1 3091 3 is_stmt 1 view .LVU2017
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6268 .loc 1 3091 11 is_stmt 0 view .LVU2018
6269 0046 636D ldr r3, [r4, #84]
3091:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6270 .loc 1 3091 6 view .LVU2019
6271 0048 402B cmp r3, #64
6272 004a 01D0 beq .L444
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6273 .loc 1 3094 5 is_stmt 1 view .LVU2020
3094:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6274 .loc 1 3094 21 is_stmt 0 view .LVU2021
6275 004c 0023 movs r3, #0
6276 004e 6365 str r3, [r4, #84]
6277 .L444:
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6278 .loc 1 3098 3 is_stmt 1 view .LVU2022
6279 .LBB13:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 212
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6280 .loc 1 3098 3 view .LVU2023
6281 0050 0023 movs r3, #0
6282 0052 0193 str r3, [sp, #4]
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6283 .loc 1 3098 3 view .LVU2024
6284 0054 2368 ldr r3, [r4]
6285 0056 DA68 ldr r2, [r3, #12]
6286 0058 0192 str r2, [sp, #4]
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6287 .loc 1 3098 3 view .LVU2025
6288 005a 9B68 ldr r3, [r3, #8]
6289 005c 0193 str r3, [sp, #4]
3098:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6290 .loc 1 3098 3 view .LVU2026
6291 005e 019B ldr r3, [sp, #4]
6292 .LBE13:
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6293 .loc 1 3101 3 view .LVU2027
3101:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6294 .loc 1 3101 16 is_stmt 0 view .LVU2028
6295 0060 0123 movs r3, #1
6296 0062 84F85130 strb r3, [r4, #81]
3107:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6297 .loc 1 3107 3 is_stmt 1 view .LVU2029
6298 0066 2046 mov r0, r4
6299 0068 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6300 .LVL403:
6301 .L440:
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6302 .loc 1 3109 1 is_stmt 0 view .LVU2030
6303 006c 02B0 add sp, sp, #8
6304 .LCFI81:
6305 .cfi_def_cfa_offset 8
6306 @ sp needed
6307 006e 10BD pop {r4, pc}
3109:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6308 .loc 1 3109 1 view .LVU2031
6309 .cfi_endproc
6310 .LFE103:
6312 .section .text.SPI_DMATxAbortCallback,"ax",%progbits
6313 .align 1
6314 .syntax unified
6315 .thumb
6316 .thumb_func
6317 .fpu softvfp
6319 SPI_DMATxAbortCallback:
6320 .LVL404:
6321 .LFB102:
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6322 .loc 1 2996 1 is_stmt 1 view -0
6323 .cfi_startproc
6324 @ args = 0, pretend = 0, frame = 8
6325 @ frame_needed = 0, uses_anonymous_args = 0
2996:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
6326 .loc 1 2996 1 is_stmt 0 view .LVU2033
6327 0000 00B5 push {lr}
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 213
6328 .LCFI82:
6329 .cfi_def_cfa_offset 4
6330 .cfi_offset 14, -4
6331 0002 83B0 sub sp, sp, #12
6332 .LCFI83:
6333 .cfi_def_cfa_offset 16
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
6334 .loc 1 2997 3 is_stmt 1 view .LVU2034
2997:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** __IO uint32_t count;
6335 .loc 1 2997 22 is_stmt 0 view .LVU2035
6336 0004 406A ldr r0, [r0, #36]
6337 .LVL405:
2998:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6338 .loc 1 2998 3 is_stmt 1 view .LVU2036
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6339 .loc 1 3000 3 view .LVU2037
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6340 .loc 1 3000 7 is_stmt 0 view .LVU2038
6341 0006 836C ldr r3, [r0, #72]
3000:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U);
6342 .loc 1 3000 35 view .LVU2039
6343 0008 0022 movs r2, #0
6344 000a 5A63 str r2, [r3, #52]
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6345 .loc 1 3001 3 is_stmt 1 view .LVU2040
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6346 .loc 1 3001 56 is_stmt 0 view .LVU2041
6347 000c 1C4B ldr r3, .L455
6348 000e 1B68 ldr r3, [r3]
6349 0010 1C4A ldr r2, .L455+4
6350 0012 A2FB0323 umull r2, r3, r2, r3
6351 0016 5B0A lsrs r3, r3, #9
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6352 .loc 1 3001 31 view .LVU2042
6353 0018 6422 movs r2, #100
6354 001a 02FB03F3 mul r3, r2, r3
3001:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6355 .loc 1 3001 9 view .LVU2043
6356 001e 0193 str r3, [sp, #4]
3004:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6357 .loc 1 3004 3 is_stmt 1 view .LVU2044
6358 0020 0268 ldr r2, [r0]
6359 0022 5368 ldr r3, [r2, #4]
6360 0024 23F00203 bic r3, r3, #2
6361 0028 5360 str r3, [r2, #4]
6362 .L449:
3007:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6363 .loc 1 3007 3 view .LVU2045
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6364 .loc 1 3009 5 view .LVU2046
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6365 .loc 1 3009 15 is_stmt 0 view .LVU2047
6366 002a 019B ldr r3, [sp, #4]
3009:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6367 .loc 1 3009 8 view .LVU2048
6368 002c 43B1 cbz r3, .L454
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 214
6369 .loc 1 3014 5 is_stmt 1 view .LVU2049
3014:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET);
6370 .loc 1 3014 10 is_stmt 0 view .LVU2050
6371 002e 019B ldr r3, [sp, #4]
6372 0030 013B subs r3, r3, #1
6373 0032 0193 str r3, [sp, #4]
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6374 .loc 1 3015 17 view .LVU2051
6375 0034 0368 ldr r3, [r0]
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6376 .loc 1 3015 27 view .LVU2052
6377 0036 9B68 ldr r3, [r3, #8]
3015:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6378 .loc 1 3015 3 view .LVU2053
6379 0038 13F0020F tst r3, #2
6380 003c F5D0 beq .L449
6381 003e 03E0 b .L448
6382 .L454:
3011:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** break;
6383 .loc 1 3011 7 is_stmt 1 view .LVU2054
6384 0040 436D ldr r3, [r0, #84]
6385 0042 43F04003 orr r3, r3, #64
6386 0046 4365 str r3, [r0, #84]
3012:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6387 .loc 1 3012 7 view .LVU2055
6388 .L448:
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6389 .loc 1 3018 3 view .LVU2056
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6390 .loc 1 3018 11 is_stmt 0 view .LVU2057
6391 0048 C36C ldr r3, [r0, #76]
3018:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6392 .loc 1 3018 6 view .LVU2058
6393 004a 0BB1 cbz r3, .L450
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6394 .loc 1 3020 5 is_stmt 1 view .LVU2059
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6395 .loc 1 3020 21 is_stmt 0 view .LVU2060
6396 004c 5B6B ldr r3, [r3, #52]
3020:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6397 .loc 1 3020 8 view .LVU2061
6398 004e A3B9 cbnz r3, .L446
6399 .L450:
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6400 .loc 1 3027 3 is_stmt 1 view .LVU2062
3027:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** hspi->TxXferCount = 0U;
6401 .loc 1 3027 21 is_stmt 0 view .LVU2063
6402 0050 0023 movs r3, #0
6403 0052 C387 strh r3, [r0, #62] @ movhi
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6404 .loc 1 3028 3 is_stmt 1 view .LVU2064
3028:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6405 .loc 1 3028 21 is_stmt 0 view .LVU2065
6406 0054 C386 strh r3, [r0, #54] @ movhi
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6407 .loc 1 3031 3 is_stmt 1 view .LVU2066
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 215
6408 .loc 1 3031 11 is_stmt 0 view .LVU2067
6409 0056 436D ldr r3, [r0, #84]
3031:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** {
6410 .loc 1 3031 6 view .LVU2068
6411 0058 402B cmp r3, #64
6412 005a 01D0 beq .L452
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6413 .loc 1 3034 5 is_stmt 1 view .LVU2069
3034:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6414 .loc 1 3034 21 is_stmt 0 view .LVU2070
6415 005c 0023 movs r3, #0
6416 005e 4365 str r3, [r0, #84]
6417 .L452:
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6418 .loc 1 3038 3 is_stmt 1 view .LVU2071
6419 .LBB14:
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6420 .loc 1 3038 3 view .LVU2072
6421 0060 0023 movs r3, #0
6422 0062 0093 str r3, [sp]
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6423 .loc 1 3038 3 view .LVU2073
6424 0064 0368 ldr r3, [r0]
6425 0066 DA68 ldr r2, [r3, #12]
6426 0068 0092 str r2, [sp]
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6427 .loc 1 3038 3 view .LVU2074
6428 006a 9B68 ldr r3, [r3, #8]
6429 006c 0093 str r3, [sp]
3038:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6430 .loc 1 3038 3 view .LVU2075
6431 006e 009B ldr r3, [sp]
6432 .LBE14:
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6433 .loc 1 3041 3 view .LVU2076
3041:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6434 .loc 1 3041 16 is_stmt 0 view .LVU2077
6435 0070 0123 movs r3, #1
6436 0072 80F85130 strb r3, [r0, #81]
3047:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6437 .loc 1 3047 3 is_stmt 1 view .LVU2078
6438 0076 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6439 .LVL406:
6440 .L446:
3049:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6441 .loc 1 3049 1 is_stmt 0 view .LVU2079
6442 007a 03B0 add sp, sp, #12
6443 .LCFI84:
6444 .cfi_def_cfa_offset 4
6445 @ sp needed
6446 007c 5DF804FB ldr pc, [sp], #4
6447 .L456:
6448 .align 2
6449 .L455:
6450 0080 00000000 .word SystemCoreClock
6451 0084 F1197605 .word 91625969
6452 .cfi_endproc
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 216
6453 .LFE102:
6455 .section .text.HAL_SPI_GetState,"ax",%progbits
6456 .align 1
6457 .global HAL_SPI_GetState
6458 .syntax unified
6459 .thumb
6460 .thumb_func
6461 .fpu softvfp
6463 HAL_SPI_GetState:
6464 .LVL407:
6465 .LFB92:
2633:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return SPI handle state */
6466 .loc 1 2633 1 is_stmt 1 view -0
6467 .cfi_startproc
6468 @ args = 0, pretend = 0, frame = 0
6469 @ frame_needed = 0, uses_anonymous_args = 0
6470 @ link register save eliminated.
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6471 .loc 1 2635 3 view .LVU2081
2635:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6472 .loc 1 2635 14 is_stmt 0 view .LVU2082
6473 0000 90F85100 ldrb r0, [r0, #81] @ zero_extendqisi2
6474 .LVL408:
2636:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6475 .loc 1 2636 1 view .LVU2083
6476 0004 7047 bx lr
6477 .cfi_endproc
6478 .LFE92:
6480 .section .text.HAL_SPI_GetError,"ax",%progbits
6481 .align 1
6482 .global HAL_SPI_GetError
6483 .syntax unified
6484 .thumb
6485 .thumb_func
6486 .fpu softvfp
6488 HAL_SPI_GetError:
6489 .LVL409:
6490 .LFB93:
2645:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** /* Return SPI ErrorCode */
6491 .loc 1 2645 1 is_stmt 1 view -0
6492 .cfi_startproc
6493 @ args = 0, pretend = 0, frame = 0
6494 @ frame_needed = 0, uses_anonymous_args = 0
6495 @ link register save eliminated.
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6496 .loc 1 2647 3 view .LVU2085
2647:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c **** }
6497 .loc 1 2647 14 is_stmt 0 view .LVU2086
6498 0000 406D ldr r0, [r0, #84]
6499 .LVL410:
2648:Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c ****
6500 .loc 1 2648 1 view .LVU2087
6501 0002 7047 bx lr
6502 .cfi_endproc
6503 .LFE93:
6505 .text
6506 .Letext0:
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 217
6507 .file 2 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
6508 .file 3 "c:\\users\\mike\\appdata\\roaming\\xpacks\\@gnu-mcu-eclipse\\arm-none-eabi-gcc\\8.2.1-1.7
6509 .file 4 "Drivers/CMSIS/Include/core_cm3.h"
6510 .file 5 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h"
6511 .file 6 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h"
6512 .file 7 "Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h"
6513 .file 8 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h"
6514 .file 9 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h"
6515 .file 10 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h"
6516 .file 11 "Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h"
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 218
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f1xx_hal_spi.c
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:16 .text.SPI_AbortRx_ISR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:23 .text.SPI_AbortRx_ISR:0000000000000000 SPI_AbortRx_ISR
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:101 .text.SPI_AbortRx_ISR:0000000000000058 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:107 .text.SPI_AbortTx_ISR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:113 .text.SPI_AbortTx_ISR:0000000000000000 SPI_AbortTx_ISR
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:141 .text.SPI_WaitFlagStateUntilTimeout:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:147 .text.SPI_WaitFlagStateUntilTimeout:0000000000000000 SPI_WaitFlagStateUntilTimeout
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:271 .text.SPI_EndRxTxTransaction:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:277 .text.SPI_EndRxTxTransaction:0000000000000000 SPI_EndRxTxTransaction
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:334 .text.SPI_EndRxTransaction:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:340 .text.SPI_EndRxTransaction:0000000000000000 SPI_EndRxTransaction
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:460 .text.HAL_SPI_MspInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:467 .text.HAL_SPI_MspInit:0000000000000000 HAL_SPI_MspInit
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:482 .text.HAL_SPI_Init:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:489 .text.HAL_SPI_Init:0000000000000000 HAL_SPI_Init
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:606 .text.HAL_SPI_MspDeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:613 .text.HAL_SPI_MspDeInit:0000000000000000 HAL_SPI_MspDeInit
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:628 .text.HAL_SPI_DeInit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:635 .text.HAL_SPI_DeInit:0000000000000000 HAL_SPI_DeInit
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:693 .text.HAL_SPI_Transmit:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:700 .text.HAL_SPI_Transmit:0000000000000000 HAL_SPI_Transmit
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:1103 .text.HAL_SPI_TransmitReceive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:1110 .text.HAL_SPI_TransmitReceive:0000000000000000 HAL_SPI_TransmitReceive
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:1678 .text.HAL_SPI_Receive:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:1685 .text.HAL_SPI_Receive:0000000000000000 HAL_SPI_Receive
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2031 .text.HAL_SPI_Transmit_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2038 .text.HAL_SPI_Transmit_IT:0000000000000000 HAL_SPI_Transmit_IT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2196 .text.HAL_SPI_Transmit_IT:0000000000000098 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4416 .text.SPI_TxISR_16BIT:0000000000000000 SPI_TxISR_16BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4354 .text.SPI_TxISR_8BIT:0000000000000000 SPI_TxISR_8BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2202 .text.HAL_SPI_TransmitReceive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2209 .text.HAL_SPI_TransmitReceive_IT:0000000000000000 HAL_SPI_TransmitReceive_IT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2433 .text.HAL_SPI_TransmitReceive_IT:00000000000000b8 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5089 .text.SPI_2linesRxISR_16BIT:0000000000000000 SPI_2linesRxISR_16BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5017 .text.SPI_2linesTxISR_16BIT:0000000000000000 SPI_2linesTxISR_16BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4944 .text.SPI_2linesRxISR_8BIT:0000000000000000 SPI_2linesRxISR_8BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4871 .text.SPI_2linesTxISR_8BIT:0000000000000000 SPI_2linesTxISR_8BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2441 .text.HAL_SPI_Receive_IT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2448 .text.HAL_SPI_Receive_IT:0000000000000000 HAL_SPI_Receive_IT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2639 .text.HAL_SPI_Receive_IT:00000000000000b4 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4639 .text.SPI_RxISR_16BIT:0000000000000000 SPI_RxISR_16BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4577 .text.SPI_RxISR_8BIT:0000000000000000 SPI_RxISR_8BIT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2645 .text.HAL_SPI_Transmit_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2652 .text.HAL_SPI_Transmit_DMA:0000000000000000 HAL_SPI_Transmit_DMA
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2860 .text.HAL_SPI_Transmit_DMA:00000000000000d0 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4039 .text.SPI_DMAHalfTransmitCplt:0000000000000000 SPI_DMAHalfTransmitCplt
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5206 .text.SPI_DMATransmitCplt:0000000000000000 SPI_DMATransmitCplt
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5161 .text.SPI_DMAError:0000000000000000 SPI_DMAError
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2867 .text.HAL_SPI_TransmitReceive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:2874 .text.HAL_SPI_TransmitReceive_DMA:0000000000000000 HAL_SPI_TransmitReceive_DMA
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3206 .text.HAL_SPI_TransmitReceive_DMA:000000000000013c $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4149 .text.SPI_DMAHalfTransmitReceiveCplt:0000000000000000 SPI_DMAHalfTransmitReceiveCplt
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5431 .text.SPI_DMATransmitReceiveCplt:0000000000000000 SPI_DMATransmitReceiveCplt
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4094 .text.SPI_DMAHalfReceiveCplt:0000000000000000 SPI_DMAHalfReceiveCplt
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5333 .text.SPI_DMAReceiveCplt:0000000000000000 SPI_DMAReceiveCplt
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 219
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3215 .text.HAL_SPI_Receive_DMA:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3222 .text.HAL_SPI_Receive_DMA:0000000000000000 HAL_SPI_Receive_DMA
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3449 .text.HAL_SPI_Receive_DMA:00000000000000e8 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3456 .text.HAL_SPI_Abort:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3463 .text.HAL_SPI_Abort:0000000000000000 HAL_SPI_Abort
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3747 .text.HAL_SPI_Abort:0000000000000130 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3755 .text.HAL_SPI_DMAPause:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3762 .text.HAL_SPI_DMAPause:0000000000000000 HAL_SPI_DMAPause
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3804 .text.HAL_SPI_DMAResume:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3811 .text.HAL_SPI_DMAResume:0000000000000000 HAL_SPI_DMAResume
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3853 .text.HAL_SPI_DMAStop:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3860 .text.HAL_SPI_DMAStop:0000000000000000 HAL_SPI_DMAStop
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3945 .text.HAL_SPI_TxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3952 .text.HAL_SPI_TxCpltCallback:0000000000000000 HAL_SPI_TxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3967 .text.HAL_SPI_RxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3974 .text.HAL_SPI_RxCpltCallback:0000000000000000 HAL_SPI_RxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3989 .text.HAL_SPI_TxRxCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:3996 .text.HAL_SPI_TxRxCpltCallback:0000000000000000 HAL_SPI_TxRxCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4011 .text.HAL_SPI_TxHalfCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4018 .text.HAL_SPI_TxHalfCpltCallback:0000000000000000 HAL_SPI_TxHalfCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4033 .text.SPI_DMAHalfTransmitCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4066 .text.HAL_SPI_RxHalfCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4073 .text.HAL_SPI_RxHalfCpltCallback:0000000000000000 HAL_SPI_RxHalfCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4088 .text.SPI_DMAHalfReceiveCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4121 .text.HAL_SPI_TxRxHalfCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4128 .text.HAL_SPI_TxRxHalfCpltCallback:0000000000000000 HAL_SPI_TxRxHalfCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4143 .text.SPI_DMAHalfTransmitReceiveCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4176 .text.HAL_SPI_ErrorCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4183 .text.HAL_SPI_ErrorCallback:0000000000000000 HAL_SPI_ErrorCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4198 .text.SPI_CloseTx_ISR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4204 .text.SPI_CloseTx_ISR:0000000000000000 SPI_CloseTx_ISR
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4342 .text.SPI_CloseTx_ISR:0000000000000088 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4348 .text.SPI_TxISR_8BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4410 .text.SPI_TxISR_16BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4471 .text.SPI_CloseRx_ISR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4477 .text.SPI_CloseRx_ISR:0000000000000000 SPI_CloseRx_ISR
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4571 .text.SPI_RxISR_8BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4633 .text.SPI_RxISR_16BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4694 .text.SPI_CloseRxTx_ISR:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4700 .text.SPI_CloseRxTx_ISR:0000000000000000 SPI_CloseRxTx_ISR
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4859 .text.SPI_CloseRxTx_ISR:00000000000000a8 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4865 .text.SPI_2linesTxISR_8BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:4938 .text.SPI_2linesRxISR_8BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5011 .text.SPI_2linesTxISR_16BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5083 .text.SPI_2linesRxISR_16BIT:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5155 .text.SPI_DMAError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5200 .text.SPI_DMATransmitCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5327 .text.SPI_DMAReceiveCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5425 .text.SPI_DMATransmitReceiveCplt:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5526 .text.HAL_SPI_IRQHandler:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5533 .text.HAL_SPI_IRQHandler:0000000000000000 HAL_SPI_IRQHandler
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5782 .text.HAL_SPI_IRQHandler:00000000000000fc $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5793 .text.SPI_DMAAbortOnError:0000000000000000 SPI_DMAAbortOnError
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5787 .text.SPI_DMAAbortOnError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5826 .text.HAL_SPI_AbortCpltCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5833 .text.HAL_SPI_AbortCpltCallback:0000000000000000 HAL_SPI_AbortCpltCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5848 .text.HAL_SPI_Abort_IT:0000000000000000 $t
ARM GAS C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s page 220
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:5855 .text.HAL_SPI_Abort_IT:0000000000000000 HAL_SPI_Abort_IT
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6180 .text.HAL_SPI_Abort_IT:0000000000000140 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6319 .text.SPI_DMATxAbortCallback:0000000000000000 SPI_DMATxAbortCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6196 .text.SPI_DMARxAbortCallback:0000000000000000 SPI_DMARxAbortCallback
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6190 .text.SPI_DMARxAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6313 .text.SPI_DMATxAbortCallback:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6450 .text.SPI_DMATxAbortCallback:0000000000000080 $d
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6456 .text.HAL_SPI_GetState:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6463 .text.HAL_SPI_GetState:0000000000000000 HAL_SPI_GetState
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6481 .text.HAL_SPI_GetError:0000000000000000 $t
C:\Users\mike\AppData\Local\Temp\ccaYui4Q.s:6488 .text.HAL_SPI_GetError:0000000000000000 HAL_SPI_GetError
UNDEFINED SYMBOLS
SystemCoreClock
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_Abort_IT