ams-master/Software/build/debug/stm32h7xx_hal_spi.lst
2025-03-10 15:48:19 +01:00

14081 lines
884 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

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

ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 1
1 .cpu cortex-m7
2 .arch armv7e-m
3 .fpu fpv5-d16
4 .eabi_attribute 28, 1
5 .eabi_attribute 20, 1
6 .eabi_attribute 21, 1
7 .eabi_attribute 23, 3
8 .eabi_attribute 24, 1
9 .eabi_attribute 25, 1
10 .eabi_attribute 26, 1
11 .eabi_attribute 30, 1
12 .eabi_attribute 34, 1
13 .eabi_attribute 18, 4
14 .file "stm32h7xx_hal_spi.c"
15 .text
16 .Ltext0:
17 .cfi_sections .debug_frame
18 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c"
19 .section .text.SPI_RxISR_8BIT,"ax",%progbits
20 .align 1
21 .syntax unified
22 .thumb
23 .thumb_func
25 SPI_RxISR_8BIT:
26 .LVL0:
27 .LFB375:
1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ******************************************************************************
3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @file stm32h7xx_hal_spi.c
4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @author MCD Application Team
5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI HAL module driver.
6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * functionalities of the Serial Peripheral Interface (SPI) peripheral:
8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Initialization and de-initialization functions
9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + IO operation functions
10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Peripheral Control functions
11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Peripheral State functions
12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ******************************************************************************
14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @attention
15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * Copyright (c) 2017 STMicroelectronics.
17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * All rights reserved.
18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * This software is licensed under terms that can be found in the LICENSE file
20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * in the root directory of this software component.
21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ******************************************************************************
24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @verbatim
25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ==============================================================================
26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ##### How to use this driver #####
27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ==============================================================================
28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..]
29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** The SPI HAL driver can be used as follows:
30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) Declare a SPI_HandleTypeDef handle structure, for example:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 2
32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef hspi;
33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API:
35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) Enable the SPIx interface clock
36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) SPI pins configuration
37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Enable the clock for the SPI GPIOs
38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Configure these SPI pins as alternate function push-pull
39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) NVIC configuration if you need to use interrupt process or DMA process
40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Configure the SPIx interrupt priority
41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Enable the NVIC SPI IRQ handle
42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) DMA Configuration if you need to use DMA process
43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream
44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Enable the DMAx clock
45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Configure the DMA handle parameters
46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Configure the DMA Tx or Rx Stream/Channel
47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Associate the initialized hdma_tx handle to the hspi DMA Tx or Rx handle
48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt
49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** or Rx Stream/Channel
50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS
52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str
53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) Initialize the SPI registers by calling the HAL_SPI_Init() API:
55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc)
56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** by calling the customized HAL_SPI_MspInit() API.
57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..]
58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Callback registration:
59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1UL
61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** allows the user to configure dynamically the driver callbacks.
62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback.
63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Function HAL_SPI_RegisterCallback() allows to register following callbacks:
65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxCpltCallback : SPI Tx Completed callback
66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) RxCpltCallback : SPI Rx Completed callback
67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxRxCpltCallback : SPI TxRx Completed callback
68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxHalfCpltCallback : SPI Tx Half Completed callback
69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) RxHalfCpltCallback : SPI Rx Half Completed callback
70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) ErrorCallback : SPI Error callback
72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) AbortCpltCallback : SPI Abort callback
73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) SuspendCallback : SPI Suspend callback
74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) MspInitCallback : SPI Msp Init callback
75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) MspDeInitCallback : SPI Msp DeInit callback
76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** and a pointer to the user callback function.
78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default
81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** weak function.
82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle,
83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** and the Callback ID.
84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** This function allows to reset following callbacks:
85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxCpltCallback : SPI Tx Completed callback
86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) RxCpltCallback : SPI Rx Completed callback
87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxRxCpltCallback : SPI TxRx Completed callback
88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxHalfCpltCallback : SPI Tx Half Completed callback
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 3
89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) RxHalfCpltCallback : SPI Rx Half Completed callback
90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) TxRxHalfCpltCallback : SPI TxRx Half Completed callback
91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) ErrorCallback : SPI Error callback
92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) AbortCpltCallback : SPI Abort callback
93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) SuspendCallback : SPI Suspend callback
94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) MspInitCallback : SPI Msp Init callback
95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) MspDeInitCallback : SPI Msp DeInit callback
96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET
98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** all callbacks are set to the corresponding weak functions:
99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback().
100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Exception done for MspInit and MspDeInit functions that are
101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** reset to the legacy weak functions in the HAL_SPI_Init()/ HAL_SPI_DeInit() only when
102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** these callbacks are null (not registered beforehand).
103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit()
104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state
105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only.
107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state,
109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit()
112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** or HAL_SPI_Init() function.
113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** When The compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or not defined,
115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the callback registering feature is not available and weak callbacks are used.
116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SuspendCallback restriction:
118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SuspendCallback is called only when MasterReceiverAutoSusp is enabled and
119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** EOT interrupt is activated. SuspendCallback is used in relation with functions
120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_Transmit_IT, HAL_SPI_Receive_IT and HAL_SPI_TransmitReceive_IT.
121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..]
123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Circular mode restriction:
124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) The DMA circular mode cannot be used when the SPI is configured in these modes:
125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Master 2Lines RxOnly
126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Master 1Line Rx
127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) The CRC feature is not managed when the DMA circular mode is enabled
128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) The functions HAL_SPI_DMAPause()/ HAL_SPI_DMAResume() are not supported. Return always
129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_ERROR with ErrorCode set to HAL_SPI_ERROR_NOT_SUPPORTED.
130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Those functions are maintained for backward compatibility reasons.
131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @endverbatim
133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Includes ------------------------------------------------------------------*/
136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #include "stm32h7xx_hal.h"
137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @addtogroup STM32H7xx_HAL_Driver
139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI SPI
143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI HAL module driver
144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 4
146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED
147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/
149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/
150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants
151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100UL
154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Private macros ------------------------------------------------------------*/
159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/
160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/
161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions
162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma);
165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma);
166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma);
167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma);
168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma);
169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma);
170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma);
171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma);
172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma);
173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma);
174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitOnFlagUntilTimeout(const SPI_HandleTypeDef *hspi, uint32_t Flag,
175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** FlagStatus FlagStatus, uint32_t Timeout, uint32
176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_8BIT(SPI_HandleTypeDef *hspi);
177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_16BIT(SPI_HandleTypeDef *hspi);
178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_32BIT(SPI_HandleTypeDef *hspi);
179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_8BIT(SPI_HandleTypeDef *hspi);
180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_16BIT(SPI_HandleTypeDef *hspi);
181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_32BIT(SPI_HandleTypeDef *hspi);
182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_AbortTransfer(SPI_HandleTypeDef *hspi);
183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_CloseTransfer(SPI_HandleTypeDef *hspi);
184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static uint32_t SPI_GetPacketSize(const SPI_HandleTypeDef *hspi);
185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Exported functions --------------------------------------------------------*/
192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions
193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions
197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Initialization and Configuration functions
198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @verbatim
200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ===============================================================================
201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ##### Initialization and de-initialization functions #####
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ===============================================================================
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 5
203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..] This subsection provides a set of functions allowing to initialize and
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** de-initialize the SPIx peripheral:
205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) User must implement HAL_SPI_MspInit() function in which he configures
207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) Call the function HAL_SPI_Init() to configure the selected device with
210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the selected configuration:
211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Mode
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Direction
213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Data Size
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) Clock Polarity and Phase
215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) NSS Management
216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) BaudRate Prescaler
217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) FirstBit
218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) TIMode
219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) CRC Calculation
220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) CRC Polynomial if CRC enabled
221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) CRC Length, used only with Data8 and Data16
222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) FIFO reception threshold
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (++) FIFO transmission threshold
224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) Call the function HAL_SPI_DeInit() to restore the default configuration
226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** of the selected SPIx peripheral.
227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @endverbatim
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Initialize the SPI according to the specified parameters
234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * in the SPI_InitTypeDef and initialize the associated handle.
235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t crc_length;
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t packet_length;
243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t crc_poly_msb_mask;
245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the SPI handle allocation */
248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi == NULL)
249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the parameters */
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_FIFOTHRESHOLD(hspi->Init.FifoThreshold));
259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 6
260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity));
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation));
271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength));
274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial));
275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_INITIALIZATION_PATTERN(hspi->Init.TxCRCInitializationPattern));
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_INITIALIZATION_PATTERN(hspi->Init.RxCRCInitializationPattern));
277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Verify that the SPI instance supports Data Size higher than 16bits */
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (hspi->Init.DataSize > SPI_DATASIZE_16BIT))
284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Verify that the SPI instance supports requested data packing */
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** packet_length = SPI_GetPacketSize(hspi);
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_LOWEND_FIFO_SIZE)) ||
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Verify that the SPI instance supports CRC Length higher than 16bits */
300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (hspi->Init.CRCLength > SPI_CRC_LENGTH_16BIT)
301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Align the CRC Length on the data size */
306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCLength == SPI_CRC_LENGTH_DATASIZE)
307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** crc_length = (hspi->Init.DataSize >> SPI_CFG1_DSIZE_Pos) << SPI_CFG1_CRCSIZE_Pos;
309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** crc_length = hspi->Init.CRCLength;
313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Verify the correctness of polynom size */
316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL_SIZE(hspi->Init.CRCPolynomial, crc_length));
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 7
317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Verify that the CRC Length is higher than DataSize */
319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Init.DataSize >> SPI_CFG1_DSIZE_Pos) > (crc_length >> SPI_CFG1_CRCSIZE_Pos))
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** crc_length = hspi->Init.DataSize << SPI_CFG1_CRCSIZE_Pos;
327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_RESET)
331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Allocate lock resource and initialize it */
333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Lock = HAL_UNLOCKED;
334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init the SPI Callback settings */
337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback
341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback
342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback
343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->SuspendCallback = HAL_SPI_SuspendCallback; /* Legacy weak SuspendCallback
346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->MspInitCallback == NULL)
348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit */
350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback(hspi);
354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_MspInit(hspi);
357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the selected SPI peripheral */
363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC == 0)
366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Keep the default value of CRCSIZE in case of CRC is not used */
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** crc_length = hspi->Instance->CFG1 & SPI_CFG1_CRCSIZE;
368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/
371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management,
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** Communication speed, First bit, CRC calculation state, CRC Length */
373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 8
374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPIx NSS Software Management Configuration */
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Init.NSS == SPI_NSS_SOFT) && (((hspi->Init.Mode == SPI_MODE_MASTER) && \
376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.Mode == SPI_MODE_SLAVE) && \
378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_HIGH))))
379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_SSI);
381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPIx Master Rx Auto Suspend Configuration */
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((hspi->Init.Mode & SPI_MODE_MASTER) == SPI_MODE_MASTER) && (hspi->Init.DataSize >= SPI_DATAS
385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR1, SPI_CR1_MASRX, hspi->Init.MasterReceiverAutoSusp);
387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_MASRX);
391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPIx CFG1 Configuration */
394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** WRITE_REG(hspi->Instance->CFG1, (hspi->Init.BaudRatePrescaler | hspi->Init.CRCCalculation | crc_l
395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.FifoThreshold | hspi->Init.DataSize));
396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPIx CFG2 Configuration */
398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** WRITE_REG(hspi->Instance->CFG2, (hspi->Init.NSSPMode | hspi->Init.TIMode |
399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.NSSPolarity | hspi->Init.NSS |
400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.CLKPolarity | hspi->Init.CLKPhase |
401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.FirstBit | hspi->Init.Mode |
402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.MasterInterDataIdleness | hspi->Init.Direction |
403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.MasterSSIdleness | hspi->Init.IOSwap));
404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration ------------------*/
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure : CRC Polynomial */
408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Initialize TXCRC Pattern Initial Value */
411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.TxCRCInitializationPattern == SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN)
412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_TCRCINI);
414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_TCRCINI);
418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Initialize RXCRC Pattern Initial Value */
421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.RxCRCInitializationPattern == SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN)
422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_RCRCINI);
424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_RCRCINI);
428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable 33/17 bits CRC computation */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 9
431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (crc_length == SPI_CRC_LENGTH_16BIT)) ||
432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (crc_length == SPI_CRC_LENGTH_32BIT)))
433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set SPI_CR1_CRC33_17 bit */
435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRC33_17);
436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Write CRC polynomial in SPI Register */
437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPOLY, hspi->Init.CRCPolynomial);
438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear SPI_CR1_CRC33_17 bit */
442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR1, SPI_CR1_CRC33_17);
443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Write CRC polynomial and set MSB bit at 1 in SPI Register */
445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set MSB is mandatory for a correct CRC computation */
446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** crc_poly_msb_mask = (0x1UL << ((crc_length >> SPI_CFG1_CRCSIZE_Pos) + 0x1U));
447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPOLY, (hspi->Init.CRCPolynomial) | crc_poly_msb_mask);
448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Insure that Underrun configuration is managed only by Salve */
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_SLAVE)
454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set Default Underrun configuration */
456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_DISABLE)
458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRDET, SPI_CFG1_UDRDET_0);
461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CFG1, SPI_CFG1_UDRCFG, SPI_CFG1_UDRCFG_1);
463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD)
466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */
467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD);
468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Insure that AFCNTR is managed only by Master */
471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Init.Mode & SPI_MODE_MASTER) == SPI_MODE_MASTER)
472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Alternate function GPIOs control */
474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CFG2, SPI_CFG2_AFCNTR, (hspi->Init.MasterKeepIOState));
475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief De-Initialize the SPI peripheral.
485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 10
488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the SPI handle allocation */
492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi == NULL)
493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check SPI Instance parameter */
498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance));
499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY;
501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the SPI Peripheral Clock */
503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->MspDeInitCallback == NULL)
507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit */
509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback(hspi);
513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_MspDeInit(hspi);
516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Release Lock */
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Initialize the SPI MSP.
529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_MspInit should be implemented in the user file
540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief De-Initialize the SPI MSP.
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 11
545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_MspDeInit should be implemented in the user file
556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Register a User SPI Callback
562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * To be used instead of the weak predefined callback
563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI.
565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param CallbackID ID of the callback to be registered
566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pCallback pointer to the Callback function
567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note The HAL_SPI_RegisterCallback() may be called before HAL_SPI_Init() in HAL_SPI_STATE_RES
568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * to register callbacks for HAL_SPI_MSPINIT_CB_ID and HAL_SPI_MSPDEINIT_CB_ID
569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb
572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** pSPI_CallbackTypeDef pCallback)
573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (pCallback == NULL)
577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK;
580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** switch (CallbackID)
587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxCpltCallback = pCallback;
590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxCpltCallback = pCallback;
594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxCpltCallback = pCallback;
598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxHalfCpltCallback = pCallback;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 12
602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxHalfCpltCallback = pCallback;
606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = pCallback;
610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback = pCallback;
614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback = pCallback;
618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_SUSPEND_CB_ID :
621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->SuspendCallback = pCallback;
622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** default :
633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** switch (CallbackID)
644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback = pCallback;
647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback;
651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** default :
654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 13
659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return status;
672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Unregister an SPI Callback
676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * SPI callback is redirected to the weak predefined callback
677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains
678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI.
679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param CallbackID ID of the callback to be unregistered
680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note The HAL_SPI_UnRegisterCallback() may be called before HAL_SPI_Init() in HAL_SPI_STATE_R
681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * to un-register callbacks for HAL_SPI_MSPINIT_CB_ID and HAL_SPI_MSPDEINIT_CB_ID
682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal
685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK;
687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State)
689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** switch (CallbackID)
691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID :
693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback
694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID :
697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback
698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID :
701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback
702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID :
705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallbac
706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID :
709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallbac
710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID :
713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb
714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 14
716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID :
717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback
718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID :
721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback
722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_SUSPEND_CB_ID :
725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->SuspendCallback = HAL_SPI_SuspendCallback; /* Legacy weak SuspendCallback
726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** default :
737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State)
746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** switch (CallbackID)
748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID :
750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit
751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID :
754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit
755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** default :
758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update the error code */
769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK);
770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return error status */
772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** status = HAL_ERROR;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 15
773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return status;
776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions
783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Data transfers functions
784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @verbatim
786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ==============================================================================
787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ##### IO operation functions #####
788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ===============================================================================
789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..]
790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** This subsection provides a set of functions allowing to manage the SPI
791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** data transfers.
792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..] The SPI supports master and slave mode :
794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) There are two modes of transfer:
796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) Blocking mode: The communication is performed in polling mode.
797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** The HAL status of all data processing is returned by the same function
798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** after finishing transfer.
799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (##) No-Blocking mode: The communication is performed using Interrupts
800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** or DMA, These APIs return the HAL status.
801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** The end of the data processing will be indicated through the
802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when
803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** using DMA mode.
804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u
805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** will be executed respectively at the end of the transmit or Receive process
806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is
807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either I
809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** exist for 1Line (simplex) and 2Lines (full duplex) modes.
810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @endverbatim
812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit an amount of data in blocking mode.
817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData : pointer to data buffer
820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Timeout: Timeout duration
822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size, ui
825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *ptxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->TXDR));
828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 16
830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tickstart;
831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction));
834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init tickstart for timeout management*/
836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tickstart = HAL_GetTick();
837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*Init field not used in handle to zero */
859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = NULL;
860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction : 1Line */
866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_TX(hspi);
869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_TX(hspi);
873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 17
887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 32 Bit mode */
888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 32 Bit mode */
891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->TxXferCount > 0UL)
892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until TXP flag is set to send data */
894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP))
895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->TxXferCount > 0UL)
924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until TXP flag is set to send data */
926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP))
927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->TxXferCount > 1UL) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA))
929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *ptxdr_16bits = *((const uint16_t *)hspi->pTxBuffPtr);
938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint16_t *)&hspi->Instance->TXDR) = *((const uint16_t *)hspi->pTxBuffPtr);
940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 18
944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->TxXferCount > 0UL)
968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until TXP flag is set to send data */
970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP))
971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->TxXferCount > 3UL) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_03DATA))
973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)4UL;
977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->TxXferCount > 1UL) && (hspi->Init.FifoThreshold > SPI_FIFO_THRESHOLD_01DATA
979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *ptxdr_16bits = *((const uint16_t *)hspi->pTxBuffPtr);
982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint16_t *)&hspi->Instance->TXDR) = *((const uint16_t *)hspi->pTxBuffPtr);
984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->TXDR) = *((const uint8_t *)hspi->pTxBuffPtr);
991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 19
1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait for Tx (and CRC) data to be sent */
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, Timeout, tickstart) != HAL_OK)
1017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
1019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
1030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Receive an amount of data in blocking mode.
1041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData : pointer to data buffer
1044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be received
1045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Timeout: Timeout duration
1046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tickstart;
1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t temp_sr_reg;
1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t init_max_data_in_fifo;
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** init_max_data_in_fifo = (((uint16_t)(hspi->Init.FifoThreshold >> 5U) + 1U));
1054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
1056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 20
1058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction));
1060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init tickstart for timeout management*/
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tickstart = HAL_GetTick();
1063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
1067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
1070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*Init field not used in handle to zero */
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = NULL;
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction: 1Line */
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_RX(hspi);
1099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
1103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
1108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
1111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 32 Bit mode */
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 21
1115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transfer loop */
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->RxXferCount > 0UL)
1118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk) !=
1131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 16 Bit mode */
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transfer loop */
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->RxXferCount > 0UL)
1160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 22
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk) !=
1177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
1191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXPLVL flags when RXWNE cannot be reached */
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->RxXferCount == 1UL) && ((temp_sr_reg & SPI_SR_RXPLVL_0) != 0UL))
1194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 8 Bit mode */
1223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transfer loop */
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->RxXferCount > 0UL)
1227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 23
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk) !=
1240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
1250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXPLVL flags when RXWNE cannot be reached */
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((hspi->RxXferCount < 4UL) && ((temp_sr_reg & SPI_SR_RXPLVL_Msk) != 0UL))
1253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout =
1262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
1279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
1280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait for crc data to be received */
1282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, Timeout, tickstart) != HAL_OK)
1283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
1285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 24
1286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
1288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
1299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in blocking mode.
1310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pTxData: pointer to transmission data buffer
1313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pRxData: pointer to reception data buffer
1314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent and received
1315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Timeout: Timeout duration
1316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t
1319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t Size, uint32_t Timeout)
1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *ptxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->TXDR));
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
1324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tickstart;
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t fifo_length;
1328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t temp_sr_reg;
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t initial_TxXferCount;
1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t initial_RxXferCount;
1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t init_max_data_in_fifo;
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** init_max_data_in_fifo = (((uint16_t)(hspi->Init.FifoThreshold >> 5U) + 1U));
1333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init tickstart for timeout management*/
1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tickstart = HAL_GetTick();
1339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = Size;
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = Size;
1342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 25
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
1346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0UL))
1349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
1365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*Init field not used in handle to zero */
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set Full-Duplex mode */
1371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES(hspi);
1372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Initialize FIFO length */
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (IS_SPI_HIGHEND_INSTANCE(hspi->Instance))
1375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** fifo_length = SPI_HIGHEND_FIFO_SIZE;
1377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** fifo_length = SPI_LOWEND_FIFO_SIZE;
1381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
1385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
1389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
1391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
1392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit and Receive data in 32 Bit mode */
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
1396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adapt fifo length to 32bits data width */
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** fifo_length = (fifo_length / 4UL);
1399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 26
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while ((initial_TxXferCount > 0UL) || (initial_RxXferCount > 0UL))
1401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check TXP flag */
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP)) && (initial_TxXferCount > 0UL) &&
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
1405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount --;
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
1410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (initial_RxXferCount > 0UL)
1416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((initial_RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk)
1427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout
1437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit and Receive data in 16 Bit mode */
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adapt fifo length to 16bits data width */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 27
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** fifo_length = (fifo_length / 2UL);
1458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while ((initial_TxXferCount > 0UL) || (initial_RxXferCount > 0UL))
1460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the TXP flag */
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP)) && (initial_TxXferCount > 0UL) &&
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
1464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *ptxdr_16bits = *((const uint16_t *)hspi->pTxBuffPtr);
1467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint16_t *)&hspi->Instance->TXDR) = *((const uint16_t *)hspi->pTxBuffPtr);
1469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
1473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (initial_RxXferCount > 0UL)
1479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((initial_RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk)
1494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXPLVL flags when RXWNE cannot be reached */
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((initial_RxXferCount == 1UL) && ((temp_sr_reg & SPI_SR_RXPLVL_0) != 0UL))
1512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 28
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
1515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
1517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout
1526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit and Receive data in 8 Bit mode */
1543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while ((initial_TxXferCount > 0UL) || (initial_RxXferCount > 0UL))
1546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the TXP flag */
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP)) && (initial_TxXferCount > 0UL) &&
1549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
1550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->TXDR) = *((const uint8_t *)hspi->pTxBuffPtr);
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
1555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Evaluate state of SR register */
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** temp_sr_reg = hspi->Instance->SR;
1559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (initial_RxXferCount > 0UL)
1561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the RXP flag */
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXP))
1564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXWNE flag if RXP cannot be reached */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 29
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((initial_RxXferCount < init_max_data_in_fifo) && ((temp_sr_reg & SPI_SR_RXWNE_Msk)
1572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check RXPLVL flags when RXWNE cannot be reached */
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if ((initial_RxXferCount < 4UL) && ((temp_sr_reg & SPI_SR_RXPLVL_Msk) != 0UL))
1586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
1591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Timeout management */
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout
1596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_TIMEOUT);
1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
1607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait for Tx/Rx (and CRC) data to be sent/received */
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (SPI_WaitOnFlagUntilTimeout(hspi, SPI_FLAG_EOT, RESET, Timeout, tickstart) != HAL_OK)
1615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG);
1617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call standard close procedure with error check */
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
1621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 30
1628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with Interrupt.
1639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
1642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
1643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size)
1646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
1648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction));
1649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
1651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
1658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
1667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
1669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init field not used in handle to zero */
1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = NULL;
1672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
1674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
1677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
1678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pTxBuffPtr = NULL;
1679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.TxXferSize = NULL;
1680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
1681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the function for IT treatment */
1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
1684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 31
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_32BIT;
1686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
1690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
1694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction : 1Line */
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_TX(hspi);
1700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_TX(hspi);
1704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
1708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT, TXP, FRE, MODF, UDR and TSERF interrupts */
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXP | SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF | SPI_
1717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
1719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
1722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with Interrupt.
1729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
1732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
1733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction));
1739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 32
1742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
1743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
1746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init field not used in handle to zero */
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = NULL;
1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
1767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
1768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pRxBuffPtr = NULL;
1769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.RxXferSize = NULL;
1770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
1771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the function for IT treatment */
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
1774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_32BIT;
1776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
1780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
1784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction : 1Line */
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
1788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_RX(hspi);
1790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_RX(hspi);
1794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Note : The SPI must be enabled after unlocking current process
1797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** to avoid the risk of SPI interrupt handle execution before current
1798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** process unlock */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 33
1799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
1802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT, RXP, OVR, FRE, MODF and TSERF interrupts */
1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_RXP | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF | SPI_
1811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
1813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
1816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt.
1823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pTxData: pointer to transmission data buffer
1826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pRxData: pointer to reception data buffer
1827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent and received
1828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8
1831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t Size)
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tmp_TxXferCount;
1834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *ptxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->TXDR));
1836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
1840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
1842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
1844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0UL))
1847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 34
1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
1864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
1866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
1867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pRxBuffPtr = NULL;
1868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.RxXferSize = NULL;
1869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pTxBuffPtr = NULL;
1870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.TxXferSize = NULL;
1871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
1872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the function for IT treatment */
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
1875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_32BIT;
1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_32BIT;
1878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT;
1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
1883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT;
1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
1888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set Full-Duplex mode */
1891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES(hspi);
1892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
1895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
1897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
1898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Fill in the TxFIFO */
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXP)) && (tmp_TxXferCount != 0UL))
1901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 32 Bit mode */
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
1904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
1909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
1912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 35
1913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *ptxdr_16bits = *((const uint16_t *)hspi->pTxBuffPtr);
1915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint16_t *)&hspi->Instance->TXDR) = *((const uint16_t *)hspi->pTxBuffPtr);
1917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
1921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
1923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->TXDR) = *((const uint8_t *)hspi->pTxBuffPtr);
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
1929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT, DXP, UDR, OVR, FRE, MODF and TSERF interrupts */
1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_DXP | SPI_IT_UDR | SPI_IT_OVR |
1937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_FRE | SPI_IT_MODF | SPI_IT_TSERF));
1938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
1940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Start Master transfer */
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
1943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
1949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit an additional amount of data in blocking mode.
1951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
1954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
1955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Reload_Transmit_IT(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_
1958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* check if there is already a request to reload */
1960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Reload.Requested == 1UL) || (pData == NULL) || (Size == 0UL))
1961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_TX)
1966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
1968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
1969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 36
1970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Insert the new number of data to be sent just after the current one */
1971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSER, (Size & 0xFFFFFFFFUL) << 16UL);
1972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
1974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 1UL;
1975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pTxBuffPtr = (const uint8_t *)pData;
1976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.TxXferSize = Size;
1977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
1979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
1980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
1982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
1984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
1986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
1989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
1991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
1992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Receive an additional amount of data in blocking mode.
1993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
1994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
1995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
1996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
1997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
1998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
1999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Reload_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
2000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* check if there is already a request to reload */
2002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Reload.Requested == 1UL) || (pData == NULL) || (Size == 0UL))
2003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX)
2008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Insert the new number of data that will be received just after the current one */
2013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSER, (Size & 0xFFFFFFFFUL) << 16UL);
2014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
2016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 1UL;
2017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pRxBuffPtr = (uint8_t *)pData;
2018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.RxXferSize = Size;
2019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
2024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 37
2027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
2031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
2033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit and receive an additional amount of data in blocking mode.
2035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
2036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
2037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pTxData: pointer to transmission data buffer
2038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pRxData: pointer to reception data buffer
2039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent and received
2040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Reload_TransmitReceive_IT(SPI_HandleTypeDef *hspi, const uint8_t *pTxData
2043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint8_t *pRxData, uint16_t Size)
2044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* check if there is already a request to reload */
2046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((hspi->Reload.Requested == 1UL) || (pTxData == NULL) || (pRxData == NULL) || (Size == 0UL))
2047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_TX_RX)
2052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Insert the new number of data that will be sent and received just after the current one */
2057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSER, (Size & 0xFFFFFFFFUL) << 16UL);
2058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
2060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 1UL;
2061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pTxBuffPtr = (const uint8_t *)pTxData;
2062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.TxXferSize = Size;
2063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.pRxBuffPtr = (uint8_t *)pRxData;
2064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.RxXferSize = Size;
2065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
2070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
2077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with DMA.
2080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
2081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
2082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
2083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 38
2084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
2090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(hspi->Init.Direction));
2091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
2093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
2095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
2098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
2106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX;
2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
2110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
2111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init field not used in handle to zero */
2113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = NULL;
2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
2115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
2116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t)0UL;
2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t)0UL;
2118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction : 1Line */
2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
2121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_TX(hspi);
2123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_TX(hspi);
2127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmatx->Init.MemDataAlignment != DMA_MD
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
2132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmatx->Init.MemDataAlignment != DMA_MD
2133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjust XferCount according to DMA alignment / Data size */
2140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 39
2141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 1UL) >> 1UL;
2145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 3UL) >> 2UL;
2149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT)
2152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 1UL) >> 1UL;
2156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjustment done */
2161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI TxDMA Half transfer complete callback */
2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt;
2165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI TxDMA transfer complete callback */
2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt;
2168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA error callback */
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError;
2171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear TXDMAEN bit*/
2176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN);
2177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
2181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update SPI error code */
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR)
2194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0UL);
2196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 40
2198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
2200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable Tx DMA Request */
2203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN);
2204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF));
2207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
2209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
2212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
2214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
2215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
2221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with DMA.
2225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
2226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
2227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pData: pointer to data buffer
2228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
2229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note When the CRC feature is enabled the pData Length must be Size + 1.
2230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
2233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(hspi->Init.Direction));
2237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
2240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
2243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pData == NULL) || (Size == 0UL))
2246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 41
2255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX;
2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
2259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
2260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /*Init field not used in handle to zero */
2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
2263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
2264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
2265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
2266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Configure communication direction : 1Line */
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE)
2269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_1LINE_RX(hspi);
2271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES_RX(hspi);
2275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear RXDMAEN bit */
2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN);
2289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjust XferCount according to DMA alignment / Data size */
2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
2292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 1UL) >> 1UL;
2296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 3UL) >> 2UL;
2300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT)
2303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 1UL) >> 1UL;
2307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjustment done */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 42
2312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI RxDMA Half transfer complete callback */
2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt;
2316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI Rx DMA transfer complete callback */
2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt;
2319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA error callback */
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */
2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->RXDR, (uint32_t)hspi->pRx
2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
2329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update SPI error code */
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the number of data at current transfer */
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.Mode == DMA_CIRCULAR)
2342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0UL);
2344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
2348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable Rx DMA Request */
2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN);
2352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF));
2355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
2357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
2360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
2362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
2363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 43
2369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with DMA.
2373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi : pointer to a SPI_HandleTypeDef structure that contains
2374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
2375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pTxData: pointer to transmission data buffer
2376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param pRxData: pointer to reception data buffer
2377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Size : amount of data to be sent
2378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note When the CRC feature is enabled the pRxData Length must be Size + 1
2379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint
2382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t Size)
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
2385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction));
2386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY)
2388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
2390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0UL))
2393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the transaction information */
2401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX;
2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
2405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
2409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Init field not used in handle to zero */
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
2413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set Full-Duplex mode */
2415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_2LINES(hspi);
2416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Reset the Tx/Rx DMA bits */
2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);
2419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Packing mode management is enabled by the DMA settings */
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((hspi->Init.DataSize > SPI_DATASIZE_16BIT) && (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
2424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restriction the DMA data received is not allowed in this mode */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 44
2426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjust XferCount according to DMA alignment / Data size */
2432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize <= SPI_DATASIZE_8BIT)
2433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 1UL) >> 1UL;
2437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 3UL) >> 2UL;
2441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD)
2443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 1UL) >> 1UL;
2445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 3UL) >> 2UL;
2449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize <= SPI_DATASIZE_16BIT)
2452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (hspi->TxXferCount + (uint16_t) 1UL) >> 1UL;
2456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.MemDataAlignment == DMA_MDATAALIGN_WORD)
2458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (hspi->RxXferCount + (uint16_t) 1UL) >> 1UL;
2460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Adjustment done */
2465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI Tx/Rx DMA Half transfer complete callback */
2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt;
2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
2470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA error callback */
2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError;
2473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA AbortCallback */
2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->RXDR, (uint32_t)hspi->pRx
2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
2480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update SPI error code */
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 45
2483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable Rx DMA Request */
2492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN);
2493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing
2495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** is performed in DMA reception complete callback */
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = NULL;
2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the DMA error callback */
2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError;
2502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc
2505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
2506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort Rx DMA Channel already started */
2508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (void)HAL_DMA_Abort(hspi->hdmarx);
2509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Update SPI error code */
2511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
2512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR)
2521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, 0UL);
2523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** MODIFY_REG(hspi->Instance->CR2, SPI_CR2_TSIZE, Size);
2527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable Tx DMA Request */
2530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN);
2531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_OVR | SPI_IT_UDR | SPI_IT_FRE | SPI_IT_MODF));
2534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable SPI peripheral */
2536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi);
2537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER)
2539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 46
2540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Master transfer start */
2541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSTART);
2542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Abort ongoing transfer (blocking mode).
2552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi SPI handle.
2553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * started in Interrupt or DMA mode.
2555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure performs following operations :
2556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Disable SPI Interrupts (depending of transfer direction)
2557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Disable the DMA transfer in the peripheral register (if enabled)
2558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode)
2559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Set handle State to READY.
2560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere
2561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi)
2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint32_t count;
2568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Lock the process */
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_LOCK(hspi);
2571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set hspi->state to aborting to avoid any interaction */
2573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
2574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Initialized local variable */
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** errorcode = HAL_OK;
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24UL / 1000UL);
2578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* If master communication on going, make sure current frame is done before closing the connectio
2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART))
2581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable EOT interrupt */
2583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT);
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
2585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->IER, SPI_IT_EOT));
2593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Request a Suspend transfer */
2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSUSP);
2596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 47
2597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART));
2605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear SUSP flag */
2607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
2608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
2609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_SUSP));
2617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */
2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN))
2621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK)
2629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_GetError(hspi->hdmatx) == HAL_DMA_ERROR_TIMEOUT)
2631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */
2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN))
2640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */
2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK)
2648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_GetError(hspi->hdmarx) == HAL_DMA_ERROR_TIMEOUT)
2650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT;
2652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 48
2654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Proceed with abort procedure */
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_AbortTransfer(hspi);
2659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check error during Abort procedure */
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->ErrorCode, HAL_SPI_ERROR_ABORT))
2662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** errorcode = HAL_ERROR;
2665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Reset errorCode */
2669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->state to ready */
2673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Unlock the process */
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_UNLOCK(hspi);
2677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return errorcode;
2679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Abort ongoing transfer (Interrupt mode).
2683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi SPI handle.
2684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx),
2685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * started in Interrupt or DMA mode.
2686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure performs following operations :
2687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Disable SPI Interrupts (depending of transfer direction)
2688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Disable the DMA transfer in the peripheral register (if enabled)
2689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode)
2690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + Set handle State to READY
2691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * + At abort completion, call user abort complete callback.
2692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be
2693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * considered as completed only when user abort complete callback is executed (not when ex
2694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
2695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi)
2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
2699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint32_t count;
2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_tx_abort_done = 1UL;
2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_rx_abort_done = 1UL;
2702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set hspi->state to aborting to avoid any interaction */
2704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT;
2705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Initialized local variable */
2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** errorcode = HAL_OK;
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24UL / 1000UL);
2709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* If master communication on going, make sure current frame is done before closing the connectio
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 49
2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART))
2712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable EOT interrupt */
2714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT);
2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
2716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->IER, SPI_IT_EOT));
2724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Request a Suspend transfer */
2726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CSUSP);
2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
2728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (HAL_IS_BIT_SET(hspi->Instance->CR1, SPI_CR1_CSTART));
2736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear SUSP flag */
2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
2739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
2740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count--;
2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
2743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
2746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_SUSP));
2748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks sho
2751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** before any call to DMA Abort functions */
2752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx != NULL)
2754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN))
2756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set DMA Abort Complete callback if SPI DMA Tx request if enabled */
2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback;
2759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** dma_tx_abort_done = 0UL;
2761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK)
2764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_GetError(hspi->hdmatx) == HAL_DMA_ERROR_NO_XFER)
2766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** dma_tx_abort_done = 1UL;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 50
2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
2775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx != NULL)
2779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CFG1, SPI_CFG1_RXDMAEN))
2781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set DMA Abort Complete callback if SPI DMA Rx request if enabled */
2783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback;
2784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** dma_rx_abort_done = 0UL;
2786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */
2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK)
2789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_GetError(hspi->hdmarx) == HAL_DMA_ERROR_NO_XFER)
2791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** dma_rx_abort_done = 1UL;
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
2800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* If no running DMA transfer, finish cleanup and call callbacks */
2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((dma_tx_abort_done == 1UL) && (dma_rx_abort_done == 1UL))
2805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Proceed with abort procedure */
2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_AbortTransfer(hspi);
2808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check error during Abort procedure */
2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->ErrorCode, HAL_SPI_ERROR_ABORT))
2811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** errorcode = HAL_ERROR;
2814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Reset errorCode */
2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->state to ready */
2822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call user Abort complete callback */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 51
2825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
2826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
2827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
2829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return errorcode;
2833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Pause the DMA Transfer.
2837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * This API is not supported, it is maintained for backward compatibility.
2838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
2839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI module.
2840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL_ERROR
2841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
2843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
2845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED);
2846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Resume the DMA Transfer.
2852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * This API is not supported, it is maintained for backward compatibility.
2853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
2854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI module.
2855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL_ERROR
2856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
2860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED);
2861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Stop the DMA Transfer.
2867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * This API is not supported, it is maintained for backward compatibility.
2868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
2869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI module.
2870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL_ERROR
2871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
2873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_NOT_SUPPORTED);
2876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
2881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Handle SPI interrupt request.
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 52
2882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
2883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified SPI module.
2884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
2885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
2886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itsource = hspi->Instance->IER;
2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
2890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t trigger = itsource & itflag;
2891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t cfg1 = hspi->Instance->CFG1;
2892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t handled = 0UL;
2893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_StateTypeDef State = hspi->State;
2895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
2897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
2898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI in SUSPEND mode ----------------------------------------------------*/
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(itflag, SPI_FLAG_SUSP) && HAL_IS_BIT_SET(itsource, SPI_FLAG_EOT))
2901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear the Suspend flag */
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
2904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Suspend on going, Call the Suspend callback */
2906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
2907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->SuspendCallback(hspi);
2908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_SuspendCallback(hspi);
2910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
2911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
2912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI in mode Transmitter and Receiver ------------------------------------*/
2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR) && HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR) && \
2916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))
2917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR(hspi);
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
2920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
2921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI in mode Receiver ----------------------------------------------------*/
2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_CLR(trigger, SPI_FLAG_OVR) && HAL_IS_BIT_SET(trigger, SPI_FLAG_RXP) && \
2925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
2926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
2929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI in mode Transmitter -------------------------------------------------*/
2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_CLR(trigger, SPI_FLAG_UDR) && HAL_IS_BIT_SET(trigger, SPI_FLAG_TXP) && \
2933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
2934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR(hspi);
2936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
2937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 53
2939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
2940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Reload -------------------------------------------------*/
2941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(trigger, SPI_FLAG_TSERF))
2942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TSERFFLAG(hspi);
2944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
2946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (handled != 0UL)
2948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
2950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI End Of Transfer: DMA or IT based transfer */
2953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(trigger, SPI_FLAG_EOT))
2954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear EOT/TXTF/SUSP flag */
2956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_EOTFLAG(hspi);
2957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TXTFFLAG(hspi);
2958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
2959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable EOT interrupt */
2961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_EOT);
2962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* For the IT based receive extra polling maybe required for last packet */
2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_CLR(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN))
2965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Pooling remaining data */
2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while (hspi->RxXferCount != 0UL)
2968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 32 Bit mode */
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_16BIT)
2971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR);
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 16 Bit mode */
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (hspi->Init.DataSize > SPI_DATASIZE_8BIT)
2977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
2980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR);
2982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
2984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 8 Bit mode */
2986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
2987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 54
2996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call SPI Standard close procedure */
2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
2998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3002:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3006:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
3008:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3010:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3011:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call appropriate user callback */
3012:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (State == HAL_SPI_STATE_BUSY_TX_RX)
3013:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3014:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
3015:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (State == HAL_SPI_STATE_BUSY_RX)
3017:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3019:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3020:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (State == HAL_SPI_STATE_BUSY_TX)
3021:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
3023:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3025:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call appropriate user callback */
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (State == HAL_SPI_STATE_BUSY_TX_RX)
3027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
3029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (State == HAL_SPI_STATE_BUSY_RX)
3031:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3033:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else if (State == HAL_SPI_STATE_BUSY_TX)
3035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
3037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3038:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3039:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3040:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3041:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* End of the appropriate call */
3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3043:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
3045:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3046:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3047:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI in Error Treatment --------------------------------------------------*/
3048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((trigger & (SPI_FLAG_MODF | SPI_FLAG_OVR | SPI_FLAG_FRE | SPI_FLAG_UDR)) != 0UL)
3049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Overrun error interrupt occurred ----------------------------------*/
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((trigger & SPI_FLAG_OVR) != 0UL)
3052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 55
3053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
3055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3056:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3057:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/
3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((trigger & SPI_FLAG_MODF) != 0UL)
3059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
3062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3063:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/
3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((trigger & SPI_FLAG_FRE) != 0UL)
3066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE);
3068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
3069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3070:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3071:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Underrun error interrupt occurred ------------------------------------*/
3072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((trigger & SPI_FLAG_UDR) != 0UL)
3073:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_UDR);
3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_UDRFLAG(hspi);
3076:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3077:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
3079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable SPI peripheral */
3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
3082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3083:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable all interrupts */
3084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_RXP | SPI_IT_TXP | SPI_IT_MODF |
3085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_OVR | SPI_IT_FRE | SPI_IT_UDR));
3086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */
3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_IS_BIT_SET(cfg1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN))
3089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable the SPI DMA requests */
3091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);
3092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3093:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort the SPI DMA Rx channel */
3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx != NULL)
3095:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3096:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
3097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
3098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError;
3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
3100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
3102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Abort the SPI DMA Tx channel */
3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx != NULL)
3106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set the SPI DMA Abort callback :
3108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */
3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 56
3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
3111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT);
3113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->State to Ready */
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call user error callback */
3122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
3130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Tx Transfer completed callback.
3135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 */
3140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_TxCpltCallback should be implemented in the user file
3146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Rx Transfer completed callback.
3151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 */
3156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_RxCpltCallback should be implemented in the user file
3162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Tx and Rx Transfer completed callback.
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 57
3167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 */
3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_TxRxCpltCallback should be implemented in the user file
3178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Tx Half Transfer completed callback.
3183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13
3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_TxHalfCpltCallback should be implemented in the user file
3194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Rx Half Transfer completed callback.
3199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13
3204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file
3210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Tx and Rx Half Transfer callback.
3215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.1
3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 58
3224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file
3226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI error callback.
3231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 */
3236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_ErrorCallback should be implemented in the user file
3242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes
3244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** and user can use HAL_SPI_GetError() API to check the latest error occurred
3245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI Abort Complete callback.
3250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi SPI handle.
3251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 *
3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_AbortCpltCallback can be implemented in the user file.
3260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI Suspend callback.
3265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi SPI handle.
3266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __weak void HAL_SPI_SuspendCallback(SPI_HandleTypeDef *hspi) /* Derogation MISRAC2012-Rule-8.13 */
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** UNUSED(hspi);
3272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed,
3274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** the HAL_SPI_SuspendCallback can be implemented in the user file.
3275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
3280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 59
3281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions
3283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief SPI control functions
3284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *
3285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @verbatim
3286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ===============================================================================
3287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ##### Peripheral State and Errors functions #####
3288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ===============================================================================
3289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** [..]
3290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** This subsection provides a set of functions allowing to control the SPI.
3291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral
3292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (+) HAL_SPI_GetError() check in run-time Errors occurring during communication
3293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** @endverbatim
3294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
3295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Return the SPI handle state.
3299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval SPI state
3302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(const SPI_HandleTypeDef *hspi)
3304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return SPI handle state */
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return hspi->State;
3307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Return the SPI error code.
3311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval SPI error code in bitmap format
3314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t HAL_SPI_GetError(const SPI_HandleTypeDef *hspi)
3316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return SPI ErrorCode */
3318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return hspi->ErrorCode;
3319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
3323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @}
3327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions
3330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Private functions
3331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @{
3332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI transmit process complete callback.
3336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 60
3338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma)
3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_ABORT)
3345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR)
3347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxCpltCallback(hspi);
3350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi);
3352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT interrupt */
3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT);
3358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI receive process complete callback.
3364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma)
3369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_ABORT)
3373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->Init.Mode == DMA_CIRCULAR)
3375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxCpltCallback(hspi);
3378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi);
3380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT interrupt */
3385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT);
3386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI transmit receive process complete callback.
3392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 61
3395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma)
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_ABORT)
3401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->Init.Mode == DMA_CIRCULAR)
3403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi);
3406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi);
3408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Enable EOT interrupt */
3413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, SPI_IT_EOT);
3414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI half transmit process complete callback.
3420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma) /* Derogation MISRAC2012-Rule-8.13 */
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
3427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
3428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxHalfCpltCallback(hspi);
3431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxHalfCpltCallback(hspi);
3433:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3435:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3437:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI half receive process complete callback
3438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma) /* Derogation MISRAC2012-Rule-8.13 */
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
3445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
3446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxHalfCpltCallback(hspi);
3449:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_RxHalfCpltCallback(hspi);
3451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 62
3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI half transmit receive process complete callback.
3456:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3458:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma) /* Derogation MISRAC2012-Rule-8
3461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
3463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
3464:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxRxHalfCpltCallback(hspi);
3467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_TxRxHalfCpltCallback(hspi);
3469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3473:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI communication error callback.
3474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma: pointer to a DMA_HandleTypeDef structure that contains
3475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for the specified DMA module.
3476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma)
3479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* if DMA error is FIFO error ignore it */
3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE)
3484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3485:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call SPI standard close procedure */
3486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_CloseTransfer(hspi);
3487:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA);
3489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3491:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3495:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3499:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI communication abort callback, when initiated by HAL services on Error
3500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * (To be called at end of DMA Abort procedure following error occurrence).
3501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma DMA handle.
3502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma)
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 63
3509:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3510:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->State to Ready */
3511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3513:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCallback(hspi);
3515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi);
3517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3521:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI Tx communication abort callback, when initiated by user
3522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * (To be called at end of DMA Tx Abort procedure following user abort request).
3523:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * Abort still ongoing for Rx DMA Handle.
3525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma DMA handle.
3526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3527:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma)
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
3533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx != NULL)
3536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmarx->XferAbortCallback != NULL)
3538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3539:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
3540:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3542:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3543:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call the Abort procedure */
3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_AbortTransfer(hspi);
3545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3546:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->State to Ready */
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call user Abort complete callback */
3550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3556:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief DMA SPI Rx communication abort callback, when initiated by user
3559:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * (To be called at end of DMA Rx Abort procedure following user abort request).
3560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no
3561:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * Abort still ongoing for Tx DMA Handle.
3562:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hdma DMA handle.
3563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 64
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
3568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
3570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if an Abort process is still ongoing */
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx != NULL)
3573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->hdmatx->XferAbortCallback != NULL)
3575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return;
3577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call the Abort procedure */
3581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_AbortTransfer(hspi);
3582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Restore hspi->State to Ready */
3584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Call user Abort complete callback */
3587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
3588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->AbortCpltCallback(hspi);
3589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi);
3591:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3593:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3594:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Manage the receive 8-bit in Interrupt context.
3596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3597:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_8BIT(SPI_HandleTypeDef *hspi)
3601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
28 .loc 1 3601 1 view -0
29 .cfi_startproc
30 @ args = 0, pretend = 0, frame = 0
31 @ frame_needed = 0, uses_anonymous_args = 0
32 @ link register save eliminated.
3602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 8 Bit mode */
3603:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = (*(__IO uint8_t *)&hspi->Instance->RXDR);
33 .loc 1 3603 3 view .LVU1
34 .loc 1 3603 59 is_stmt 0 view .LVU2
35 0000 0268 ldr r2, [r0]
36 .loc 1 3603 20 view .LVU3
37 0002 436E ldr r3, [r0, #100]
38 .loc 1 3603 37 view .LVU4
39 0004 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
40 .loc 1 3603 34 view .LVU5
41 0008 1A70 strb r2, [r3]
3604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
42 .loc 1 3604 3 is_stmt 1 view .LVU6
43 .loc 1 3604 7 is_stmt 0 view .LVU7
44 000a 436E ldr r3, [r0, #100]
45 .loc 1 3604 20 view .LVU8
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 65
46 000c 0133 adds r3, r3, #1
47 000e 4366 str r3, [r0, #100]
3605:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
48 .loc 1 3605 3 is_stmt 1 view .LVU9
49 .loc 1 3605 7 is_stmt 0 view .LVU10
50 0010 B0F86A30 ldrh r3, [r0, #106]
51 0014 9BB2 uxth r3, r3
52 .loc 1 3605 20 view .LVU11
53 0016 013B subs r3, r3, #1
54 0018 9BB2 uxth r3, r3
55 001a A0F86A30 strh r3, [r0, #106] @ movhi
3606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->RxXferCount == 0UL)
56 .loc 1 3608 3 is_stmt 1 view .LVU12
57 .loc 1 3608 11 is_stmt 0 view .LVU13
58 001e B0F86A30 ldrh r3, [r0, #106]
59 0022 9BB2 uxth r3, r3
60 .loc 1 3608 6 view .LVU14
61 0024 23B9 cbnz r3, .L1
3609:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3612:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = hspi->Reload.RxXferSize;
3615:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = hspi->Reload.RxXferSize;
3616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = hspi->Reload.pRxBuffPtr;
3617:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3618:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3619:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3621:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
3623:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3624:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3626:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
62 .loc 1 3626 5 is_stmt 1 view .LVU15
63 0026 0268 ldr r2, [r0]
64 0028 1369 ldr r3, [r2, #16]
65 002a 23F00103 bic r3, r3, #1
66 002e 1361 str r3, [r2, #16]
67 .L1:
3627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3629:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
68 .loc 1 3629 1 is_stmt 0 view .LVU16
69 0030 7047 bx lr
70 .cfi_endproc
71 .LFE375:
73 .section .text.SPI_RxISR_16BIT,"ax",%progbits
74 .align 1
75 .syntax unified
76 .thumb
77 .thumb_func
79 SPI_RxISR_16BIT:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 66
80 .LVL1:
81 .LFB376:
3630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3631:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Manage the 16-bit receive in Interrupt context.
3634:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3636:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3637:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3638:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_16BIT(SPI_HandleTypeDef *hspi)
3639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
82 .loc 1 3639 1 is_stmt 1 view -0
83 .cfi_startproc
84 @ args = 0, pretend = 0, frame = 0
85 @ frame_needed = 0, uses_anonymous_args = 0
86 @ link register save eliminated.
3640:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 16 Bit mode */
3641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
3642:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
87 .loc 1 3642 3 view .LVU18
88 .loc 1 3642 57 is_stmt 0 view .LVU19
89 0000 0268 ldr r2, [r0]
90 .LVL2:
3643:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = *prxdr_16bits;
91 .loc 1 3644 3 is_stmt 1 view .LVU20
92 .loc 1 3644 21 is_stmt 0 view .LVU21
93 0002 436E ldr r3, [r0, #100]
94 .loc 1 3644 37 view .LVU22
95 0004 128E ldrh r2, [r2, #48]
96 .LVL3:
97 .loc 1 3644 35 view .LVU23
98 0006 1A80 strh r2, [r3] @ movhi
99 .LVL4:
3645:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (*(__IO uint16_t *)&hspi->Instance->RXDR);
3647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
3648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t);
100 .loc 1 3648 3 is_stmt 1 view .LVU24
101 .loc 1 3648 7 is_stmt 0 view .LVU25
102 0008 436E ldr r3, [r0, #100]
103 .loc 1 3648 20 view .LVU26
104 000a 0233 adds r3, r3, #2
105 000c 4366 str r3, [r0, #100]
3649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
106 .loc 1 3649 3 is_stmt 1 view .LVU27
107 .loc 1 3649 7 is_stmt 0 view .LVU28
108 000e B0F86A30 ldrh r3, [r0, #106]
109 0012 9BB2 uxth r3, r3
110 .loc 1 3649 20 view .LVU29
111 0014 013B subs r3, r3, #1
112 0016 9BB2 uxth r3, r3
113 0018 A0F86A30 strh r3, [r0, #106] @ movhi
3650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->RxXferCount == 0UL)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 67
114 .loc 1 3652 3 is_stmt 1 view .LVU30
115 .loc 1 3652 11 is_stmt 0 view .LVU31
116 001c B0F86A30 ldrh r3, [r0, #106]
117 0020 9BB2 uxth r3, r3
118 .loc 1 3652 6 view .LVU32
119 0022 23B9 cbnz r3, .L3
3653:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3654:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3656:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = hspi->Reload.RxXferSize;
3659:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = hspi->Reload.RxXferSize;
3660:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = hspi->Reload.pRxBuffPtr;
3661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3662:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3663:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
3667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3670:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
120 .loc 1 3670 5 is_stmt 1 view .LVU33
121 0024 0268 ldr r2, [r0]
122 0026 1369 ldr r3, [r2, #16]
123 0028 23F00103 bic r3, r3, #1
124 002c 1361 str r3, [r2, #16]
125 .L3:
3671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
126 .loc 1 3673 1 is_stmt 0 view .LVU34
127 002e 7047 bx lr
128 .cfi_endproc
129 .LFE376:
131 .section .text.SPI_RxISR_32BIT,"ax",%progbits
132 .align 1
133 .syntax unified
134 .thumb
135 .thumb_func
137 SPI_RxISR_32BIT:
138 .LVL5:
139 .LFB377:
3674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3675:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3677:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Manage the 32-bit receive in Interrupt context.
3678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3680:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3681:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3682:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_RxISR_32BIT(SPI_HandleTypeDef *hspi)
3683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
140 .loc 1 3683 1 is_stmt 1 view -0
141 .cfi_startproc
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 68
142 @ args = 0, pretend = 0, frame = 0
143 @ frame_needed = 0, uses_anonymous_args = 0
144 @ link register save eliminated.
3684:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Receive data in 32 Bit mode */
3685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint32_t *)hspi->pRxBuffPtr) = (*(__IO uint32_t *)&hspi->Instance->RXDR);
145 .loc 1 3685 3 view .LVU36
146 .loc 1 3685 61 is_stmt 0 view .LVU37
147 0000 0268 ldr r2, [r0]
148 .loc 1 3685 21 view .LVU38
149 0002 436E ldr r3, [r0, #100]
150 .loc 1 3685 38 view .LVU39
151 0004 126B ldr r2, [r2, #48]
152 .loc 1 3685 35 view .LVU40
153 0006 1A60 str r2, [r3]
3686:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
154 .loc 1 3686 3 is_stmt 1 view .LVU41
155 .loc 1 3686 7 is_stmt 0 view .LVU42
156 0008 436E ldr r3, [r0, #100]
157 .loc 1 3686 20 view .LVU43
158 000a 0433 adds r3, r3, #4
159 000c 4366 str r3, [r0, #100]
3687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
160 .loc 1 3687 3 is_stmt 1 view .LVU44
161 .loc 1 3687 7 is_stmt 0 view .LVU45
162 000e B0F86A30 ldrh r3, [r0, #106]
163 0012 9BB2 uxth r3, r3
164 .loc 1 3687 20 view .LVU46
165 0014 013B subs r3, r3, #1
166 0016 9BB2 uxth r3, r3
167 0018 A0F86A30 strh r3, [r0, #106] @ movhi
3688:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3690:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->RxXferCount == 0UL)
168 .loc 1 3690 3 is_stmt 1 view .LVU47
169 .loc 1 3690 11 is_stmt 0 view .LVU48
170 001c B0F86A30 ldrh r3, [r0, #106]
171 0020 9BB2 uxth r3, r3
172 .loc 1 3690 6 view .LVU49
173 0022 23B9 cbnz r3, .L5
3691:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3692:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3694:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3695:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3696:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = hspi->Reload.RxXferSize;
3697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = hspi->Reload.RxXferSize;
3698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = hspi->Reload.pRxBuffPtr;
3699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3702:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
3705:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3706:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable RXP interrupts */
3708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXP);
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 69
174 .loc 1 3708 5 is_stmt 1 view .LVU50
175 0024 0268 ldr r2, [r0]
176 0026 1369 ldr r3, [r2, #16]
177 0028 23F00103 bic r3, r3, #1
178 002c 1361 str r3, [r2, #16]
179 .L5:
3709:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
180 .loc 1 3711 1 is_stmt 0 view .LVU51
181 002e 7047 bx lr
182 .cfi_endproc
183 .LFE377:
185 .section .text.SPI_TxISR_8BIT,"ax",%progbits
186 .align 1
187 .syntax unified
188 .thumb
189 .thumb_func
191 SPI_TxISR_8BIT:
192 .LVL6:
193 .LFB378:
3712:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Handle the data 8-bit transmit in Interrupt mode.
3716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3719:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_8BIT(SPI_HandleTypeDef *hspi)
3721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
194 .loc 1 3721 1 is_stmt 1 view -0
195 .cfi_startproc
196 @ args = 0, pretend = 0, frame = 0
197 @ frame_needed = 0, uses_anonymous_args = 0
198 @ link register save eliminated.
3722:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 8 Bit mode */
3723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->TXDR = *((const uint8_t *)hspi->pTxBuffPtr);
199 .loc 1 3723 3 view .LVU53
200 .loc 1 3723 67 is_stmt 0 view .LVU54
201 0000 C26D ldr r2, [r0, #92]
202 .loc 1 3723 25 view .LVU55
203 0002 0368 ldr r3, [r0]
204 .loc 1 3723 44 view .LVU56
205 0004 1278 ldrb r2, [r2] @ zero_extendqisi2
206 .loc 1 3723 42 view .LVU57
207 0006 83F82020 strb r2, [r3, #32]
3724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
208 .loc 1 3724 3 is_stmt 1 view .LVU58
209 .loc 1 3724 7 is_stmt 0 view .LVU59
210 000a C36D ldr r3, [r0, #92]
211 .loc 1 3724 20 view .LVU60
212 000c 0133 adds r3, r3, #1
213 000e C365 str r3, [r0, #92]
3725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
214 .loc 1 3725 3 is_stmt 1 view .LVU61
215 .loc 1 3725 7 is_stmt 0 view .LVU62
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 70
216 0010 B0F86230 ldrh r3, [r0, #98]
217 0014 9BB2 uxth r3, r3
218 .loc 1 3725 20 view .LVU63
219 0016 013B subs r3, r3, #1
220 0018 9BB2 uxth r3, r3
221 001a A0F86230 strh r3, [r0, #98] @ movhi
3726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3728:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->TxXferCount == 0UL)
222 .loc 1 3728 3 is_stmt 1 view .LVU64
223 .loc 1 3728 11 is_stmt 0 view .LVU65
224 001e B0F86230 ldrh r3, [r0, #98]
225 0022 9BB2 uxth r3, r3
226 .loc 1 3728 6 view .LVU66
227 0024 23B9 cbnz r3, .L7
3729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3731:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3734:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = hspi->Reload.TxXferSize;
3735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = hspi->Reload.TxXferSize;
3736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = hspi->Reload.pTxBuffPtr;
3737:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* In full duplex mode the reload request is reset in RX side */
3739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_TX)
3740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3743:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3746:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
3748:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3749:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3750:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
228 .loc 1 3751 5 is_stmt 1 view .LVU67
229 0026 0268 ldr r2, [r0]
230 0028 1369 ldr r3, [r2, #16]
231 002a 23F00203 bic r3, r3, #2
232 002e 1361 str r3, [r2, #16]
233 .L7:
3752:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
234 .loc 1 3754 1 is_stmt 0 view .LVU68
235 0030 7047 bx lr
236 .cfi_endproc
237 .LFE378:
239 .section .text.SPI_TxISR_16BIT,"ax",%progbits
240 .align 1
241 .syntax unified
242 .thumb
243 .thumb_func
245 SPI_TxISR_16BIT:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 71
246 .LVL7:
247 .LFB379:
3755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Handle the data 16-bit transmit in Interrupt mode.
3758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3759:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_16BIT(SPI_HandleTypeDef *hspi)
3763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
248 .loc 1 3763 1 is_stmt 1 view -0
249 .cfi_startproc
250 @ args = 0, pretend = 0, frame = 0
251 @ frame_needed = 0, uses_anonymous_args = 0
252 @ link register save eliminated.
3764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 16 Bit mode */
3765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
3766:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *ptxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->TXDR));
253 .loc 1 3766 3 view .LVU70
254 .loc 1 3766 57 is_stmt 0 view .LVU71
255 0000 0368 ldr r3, [r0]
256 .LVL8:
3767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *ptxdr_16bits = *((const uint16_t *)hspi->pTxBuffPtr);
257 .loc 1 3768 3 is_stmt 1 view .LVU72
258 .loc 1 3768 43 is_stmt 0 view .LVU73
259 0002 C26D ldr r2, [r0, #92]
260 .loc 1 3768 19 view .LVU74
261 0004 1288 ldrh r2, [r2]
262 .loc 1 3768 17 view .LVU75
263 0006 1A84 strh r2, [r3, #32] @ movhi
3769:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3770:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint16_t *)&hspi->Instance->TXDR) = *((const uint16_t *)hspi->pTxBuffPtr);
3771:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
3772:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t);
264 .loc 1 3772 3 is_stmt 1 view .LVU76
265 .loc 1 3772 7 is_stmt 0 view .LVU77
266 0008 C36D ldr r3, [r0, #92]
267 .LVL9:
268 .loc 1 3772 20 view .LVU78
269 000a 0233 adds r3, r3, #2
270 000c C365 str r3, [r0, #92]
3773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
271 .loc 1 3773 3 is_stmt 1 view .LVU79
272 .loc 1 3773 7 is_stmt 0 view .LVU80
273 000e B0F86230 ldrh r3, [r0, #98]
274 0012 9BB2 uxth r3, r3
275 .loc 1 3773 20 view .LVU81
276 0014 013B subs r3, r3, #1
277 0016 9BB2 uxth r3, r3
278 0018 A0F86230 strh r3, [r0, #98] @ movhi
3774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3776:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->TxXferCount == 0UL)
279 .loc 1 3776 3 is_stmt 1 view .LVU82
280 .loc 1 3776 11 is_stmt 0 view .LVU83
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 72
281 001c B0F86230 ldrh r3, [r0, #98]
282 0020 9BB2 uxth r3, r3
283 .loc 1 3776 6 view .LVU84
284 0022 23B9 cbnz r3, .L9
3777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3781:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3782:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = hspi->Reload.TxXferSize;
3783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = hspi->Reload.TxXferSize;
3784:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = hspi->Reload.pTxBuffPtr;
3785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3786:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* In full duplex mode the reload request is reset in RX side */
3787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_TX)
3788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3791:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
3793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3794:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3795:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
3796:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3797:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3798:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
285 .loc 1 3799 5 is_stmt 1 view .LVU85
286 0024 0268 ldr r2, [r0]
287 0026 1369 ldr r3, [r2, #16]
288 0028 23F00203 bic r3, r3, #2
289 002c 1361 str r3, [r2, #16]
290 .L9:
3800:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3802:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
291 .loc 1 3802 1 is_stmt 0 view .LVU86
292 002e 7047 bx lr
293 .cfi_endproc
294 .LFE379:
296 .section .text.SPI_TxISR_32BIT,"ax",%progbits
297 .align 1
298 .syntax unified
299 .thumb
300 .thumb_func
302 SPI_TxISR_32BIT:
303 .LVL10:
304 .LFB380:
3803:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3805:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Handle the data 32-bit transmit in Interrupt mode.
3806:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3808:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3809:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_TxISR_32BIT(SPI_HandleTypeDef *hspi)
3811:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 73
305 .loc 1 3811 1 is_stmt 1 view -0
306 .cfi_startproc
307 @ args = 0, pretend = 0, frame = 0
308 @ frame_needed = 0, uses_anonymous_args = 0
309 @ link register save eliminated.
3812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Transmit data in 32 Bit mode */
3813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((__IO uint32_t *)&hspi->Instance->TXDR) = *((const uint32_t *)hspi->pTxBuffPtr);
310 .loc 1 3813 3 view .LVU88
311 .loc 1 3813 71 is_stmt 0 view .LVU89
312 0000 C26D ldr r2, [r0, #92]
313 .loc 1 3813 27 view .LVU90
314 0002 0368 ldr r3, [r0]
315 .loc 1 3813 47 view .LVU91
316 0004 1268 ldr r2, [r2]
317 .loc 1 3813 45 view .LVU92
318 0006 1A62 str r2, [r3, #32]
3814:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
319 .loc 1 3814 3 is_stmt 1 view .LVU93
320 .loc 1 3814 7 is_stmt 0 view .LVU94
321 0008 C36D ldr r3, [r0, #92]
322 .loc 1 3814 20 view .LVU95
323 000a 0433 adds r3, r3, #4
324 000c C365 str r3, [r0, #92]
3815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
325 .loc 1 3815 3 is_stmt 1 view .LVU96
326 .loc 1 3815 7 is_stmt 0 view .LVU97
327 000e B0F86230 ldrh r3, [r0, #98]
328 0012 9BB2 uxth r3, r3
329 .loc 1 3815 20 view .LVU98
330 0014 013B subs r3, r3, #1
331 0016 9BB2 uxth r3, r3
332 0018 A0F86230 strh r3, [r0, #98] @ movhi
3816:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3817:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable IT if no more data excepted */
3818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->TxXferCount == 0UL)
333 .loc 1 3818 3 is_stmt 1 view .LVU99
334 .loc 1 3818 11 is_stmt 0 view .LVU100
335 001c B0F86230 ldrh r3, [r0, #98]
336 0020 9BB2 uxth r3, r3
337 .loc 1 3818 6 view .LVU101
338 0022 23B9 cbnz r3, .L11
3819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3820:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined(USE_SPI_RELOAD_TRANSFER)
3821:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if there is any request to reload */
3822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Reload.Requested == 1UL)
3823:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3824:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = hspi->Reload.TxXferSize;
3825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = hspi->Reload.TxXferSize;
3826:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = hspi->Reload.pTxBuffPtr;
3827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* In full duplex mode the reload request is reset in RX side */
3829:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_TX)
3830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3831:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Reload.Requested = 0UL;
3832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3834:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** else
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 74
3835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3837:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
3838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable TXP interrupts */
3841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXP);
339 .loc 1 3841 5 is_stmt 1 view .LVU102
340 0024 0268 ldr r2, [r0]
341 0026 1369 ldr r3, [r2, #16]
342 0028 23F00203 bic r3, r3, #2
343 002c 1361 str r3, [r2, #16]
344 .L11:
3842:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_RELOAD_TRANSFER */
3843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3844:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
345 .loc 1 3844 1 is_stmt 0 view .LVU103
346 002e 7047 bx lr
347 .cfi_endproc
348 .LFE380:
350 .section .text.SPI_AbortTransfer,"ax",%progbits
351 .align 1
352 .syntax unified
353 .thumb
354 .thumb_func
356 SPI_AbortTransfer:
357 .LVL11:
358 .LFB381:
3845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Abort Transfer and clear flags.
3848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3850:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval None
3851:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_AbortTransfer(SPI_HandleTypeDef *hspi)
3853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
359 .loc 1 3853 1 is_stmt 1 view -0
360 .cfi_startproc
361 @ args = 0, pretend = 0, frame = 0
362 @ frame_needed = 0, uses_anonymous_args = 0
363 @ link register save eliminated.
3854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable SPI peripheral */
3855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
364 .loc 1 3855 3 view .LVU105
365 0000 0268 ldr r2, [r0]
366 0002 1368 ldr r3, [r2]
367 0004 23F00103 bic r3, r3, #1
368 0008 1360 str r3, [r2]
3856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable ITs */
3858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXP | SPI_IT_RXP | SPI_IT_DXP | SPI_IT_UDR | SPI_
369 .loc 1 3858 3 view .LVU106
370 000a 0268 ldr r2, [r0]
371 000c 1169 ldr r1, [r2, #16]
372 000e 184B ldr r3, .L14
373 0010 0B40 ands r3, r3, r1
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 75
374 0012 1361 str r3, [r2, #16]
3859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_FRE | SPI_IT_MODF));
3860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear the Status flags in the SR register */
3862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_EOTFLAG(hspi);
375 .loc 1 3862 3 view .LVU107
376 0014 0268 ldr r2, [r0]
377 0016 9369 ldr r3, [r2, #24]
378 0018 43F00803 orr r3, r3, #8
379 001c 9361 str r3, [r2, #24]
3863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TXTFFLAG(hspi);
380 .loc 1 3863 3 view .LVU108
381 001e 0268 ldr r2, [r0]
382 0020 9369 ldr r3, [r2, #24]
383 0022 43F01003 orr r3, r3, #16
384 0026 9361 str r3, [r2, #24]
3864:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3865:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable Tx DMA Request */
3866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);
385 .loc 1 3866 3 view .LVU109
386 0028 0268 ldr r2, [r0]
387 002a 9368 ldr r3, [r2, #8]
388 002c 23F44043 bic r3, r3, #49152
389 0030 9360 str r3, [r2, #8]
3867:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Clear the Error flags in the SR register */
3869:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
390 .loc 1 3869 3 view .LVU110
391 0032 0268 ldr r2, [r0]
392 0034 9369 ldr r3, [r2, #24]
393 0036 43F04003 orr r3, r3, #64
394 003a 9361 str r3, [r2, #24]
3870:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_UDRFLAG(hspi);
395 .loc 1 3870 3 view .LVU111
396 003c 0268 ldr r2, [r0]
397 003e 9369 ldr r3, [r2, #24]
398 0040 43F02003 orr r3, r3, #32
399 0044 9361 str r3, [r2, #24]
3871:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
400 .loc 1 3871 3 view .LVU112
401 0046 0268 ldr r2, [r0]
402 0048 9369 ldr r3, [r2, #24]
403 004a 43F48073 orr r3, r3, #256
404 004e 9361 str r3, [r2, #24]
3872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
405 .loc 1 3872 3 view .LVU113
406 0050 0268 ldr r2, [r0]
407 0052 9369 ldr r3, [r2, #24]
408 0054 43F40073 orr r3, r3, #512
409 0058 9361 str r3, [r2, #24]
410 .loc 1 3872 33 view .LVU114
3873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
411 .loc 1 3873 3 view .LVU115
412 005a 0268 ldr r2, [r0]
413 005c 9369 ldr r3, [r2, #24]
414 005e 43F40063 orr r3, r3, #2048
415 0062 9361 str r3, [r2, #24]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 76
3874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0U)
3876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t)0UL;
416 .loc 1 3879 3 view .LVU116
417 .loc 1 3879 21 is_stmt 0 view .LVU117
418 0064 0023 movs r3, #0
419 0066 A0F86230 strh r3, [r0, #98] @ movhi
3880:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t)0UL;
420 .loc 1 3880 3 is_stmt 1 view .LVU118
421 .loc 1 3880 21 is_stmt 0 view .LVU119
422 006a A0F86A30 strh r3, [r0, #106] @ movhi
3881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
423 .loc 1 3881 1 view .LVU120
424 006e 7047 bx lr
425 .L15:
426 .align 2
427 .L14:
428 0070 90FCFFFF .word -880
429 .cfi_endproc
430 .LFE381:
432 .section .text.SPI_CloseTransfer,"ax",%progbits
433 .align 1
434 .syntax unified
435 .thumb
436 .thumb_func
438 SPI_CloseTransfer:
439 .LVL12:
440 .LFB382:
3882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3883:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3885:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Close Transfer and clear flags.
3886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL_ERROR: if any error detected
3889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * HAL_OK: if nothing detected
3890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static void SPI_CloseTransfer(SPI_HandleTypeDef *hspi)
3892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
441 .loc 1 3892 1 is_stmt 1 view -0
442 .cfi_startproc
443 @ args = 0, pretend = 0, frame = 0
444 @ frame_needed = 0, uses_anonymous_args = 0
445 @ link register save eliminated.
446 .loc 1 3892 1 is_stmt 0 view .LVU122
447 0000 10B4 push {r4}
448 .cfi_def_cfa_offset 4
449 .cfi_offset 4, -4
3893:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
450 .loc 1 3893 3 is_stmt 1 view .LVU123
451 .loc 1 3893 25 is_stmt 0 view .LVU124
452 0002 0268 ldr r2, [r0]
453 .loc 1 3893 12 view .LVU125
454 0004 5369 ldr r3, [r2, #20]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 77
455 .LVL13:
3894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3895:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_EOTFLAG(hspi);
456 .loc 1 3895 3 is_stmt 1 view .LVU126
457 0006 9169 ldr r1, [r2, #24]
458 0008 41F00801 orr r1, r1, #8
459 000c 9161 str r1, [r2, #24]
3896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TXTFFLAG(hspi);
460 .loc 1 3896 3 view .LVU127
461 000e 0168 ldr r1, [r0]
462 0010 8A69 ldr r2, [r1, #24]
463 0012 42F01002 orr r2, r2, #16
464 0016 8A61 str r2, [r1, #24]
3897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable SPI peripheral */
3899:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi);
465 .loc 1 3899 3 view .LVU128
466 0018 0168 ldr r1, [r0]
467 001a 0A68 ldr r2, [r1]
468 001c 22F00102 bic r2, r2, #1
469 0020 0A60 str r2, [r1]
3900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3901:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable ITs */
3902:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_EOT | SPI_IT_TXP | SPI_IT_RXP | SPI_IT_DXP | SPI_IT_UDR | SPI_
470 .loc 1 3902 3 view .LVU129
471 0022 0168 ldr r1, [r0]
472 0024 0C69 ldr r4, [r1, #16]
473 0026 284A ldr r2, .L22
474 0028 2240 ands r2, r2, r4
475 002a 0A61 str r2, [r1, #16]
3903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_FRE | SPI_IT_MODF));
3904:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Disable Tx DMA Request */
3906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CFG1, SPI_CFG1_TXDMAEN | SPI_CFG1_RXDMAEN);
476 .loc 1 3906 3 view .LVU130
477 002c 0168 ldr r1, [r0]
478 002e 8A68 ldr r2, [r1, #8]
479 0030 22F44042 bic r2, r2, #49152
480 0034 8A60 str r2, [r1, #8]
3907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Report UnderRun error for non RX Only communication */
3909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX)
481 .loc 1 3909 3 view .LVU131
482 .loc 1 3909 11 is_stmt 0 view .LVU132
483 0036 90F88120 ldrb r2, [r0, #129] @ zero_extendqisi2
484 .loc 1 3909 6 view .LVU133
485 003a 042A cmp r2, #4
486 003c 0DD0 beq .L17
3910:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((itflag & SPI_FLAG_UDR) != 0UL)
487 .loc 1 3911 5 is_stmt 1 view .LVU134
488 .loc 1 3911 8 is_stmt 0 view .LVU135
489 003e 13F0200F tst r3, #32
490 0042 0AD0 beq .L17
3912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3913:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_UDR);
491 .loc 1 3913 7 is_stmt 1 view .LVU136
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 78
492 0044 D0F88420 ldr r2, [r0, #132]
493 0048 42F08002 orr r2, r2, #128
494 004c C0F88420 str r2, [r0, #132]
3914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_UDRFLAG(hspi);
495 .loc 1 3914 7 view .LVU137
496 0050 0168 ldr r1, [r0]
497 0052 8A69 ldr r2, [r1, #24]
498 0054 42F02002 orr r2, r2, #32
499 0058 8A61 str r2, [r1, #24]
500 .L17:
3915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3916:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3917:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Report OverRun error for non TX Only communication */
3919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_TX)
501 .loc 1 3919 3 view .LVU138
502 .loc 1 3919 11 is_stmt 0 view .LVU139
503 005a 90F88120 ldrb r2, [r0, #129] @ zero_extendqisi2
504 .loc 1 3919 6 view .LVU140
505 005e 032A cmp r2, #3
506 0060 0DD0 beq .L18
3920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3921:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((itflag & SPI_FLAG_OVR) != 0UL)
507 .loc 1 3921 5 is_stmt 1 view .LVU141
508 .loc 1 3921 8 is_stmt 0 view .LVU142
509 0062 13F0400F tst r3, #64
510 0066 0AD0 beq .L18
3922:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR);
511 .loc 1 3923 7 is_stmt 1 view .LVU143
512 0068 D0F88420 ldr r2, [r0, #132]
513 006c 42F00402 orr r2, r2, #4
514 0070 C0F88420 str r2, [r0, #132]
3924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
515 .loc 1 3924 7 view .LVU144
516 0074 0168 ldr r1, [r0]
517 0076 8A69 ldr r2, [r1, #24]
518 0078 42F04002 orr r2, r2, #64
519 007c 8A61 str r2, [r1, #24]
520 .L18:
3925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
3928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check if CRC error occurred */
3929:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)
3930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((itflag & SPI_FLAG_CRCERR) != 0UL)
3932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC);
3934:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi);
3935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
3938:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3940:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/
3941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((itflag & SPI_FLAG_MODF) != 0UL)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 79
521 .loc 1 3941 3 view .LVU145
522 .loc 1 3941 6 is_stmt 0 view .LVU146
523 007e 13F4007F tst r3, #512
524 0082 0AD0 beq .L19
3942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3943:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF);
525 .loc 1 3943 5 is_stmt 1 view .LVU147
526 0084 D0F88420 ldr r2, [r0, #132]
527 0088 42F00102 orr r2, r2, #1
528 008c C0F88420 str r2, [r0, #132]
3944:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
529 .loc 1 3944 5 view .LVU148
530 0090 0168 ldr r1, [r0]
531 0092 8A69 ldr r2, [r1, #24]
532 0094 42F40072 orr r2, r2, #512
533 0098 8A61 str r2, [r1, #24]
534 .L19:
535 .loc 1 3944 35 discriminator 1 view .LVU149
3945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/
3948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((itflag & SPI_FLAG_FRE) != 0UL)
536 .loc 1 3948 3 view .LVU150
537 .loc 1 3948 6 is_stmt 0 view .LVU151
538 009a 13F4807F tst r3, #256
539 009e 0AD0 beq .L20
3949:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3950:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE);
540 .loc 1 3950 5 is_stmt 1 view .LVU152
541 00a0 D0F88430 ldr r3, [r0, #132]
542 .LVL14:
543 .loc 1 3950 5 is_stmt 0 view .LVU153
544 00a4 43F00803 orr r3, r3, #8
545 00a8 C0F88430 str r3, [r0, #132]
3951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
546 .loc 1 3951 5 is_stmt 1 view .LVU154
547 00ac 0268 ldr r2, [r0]
548 00ae 9369 ldr r3, [r2, #24]
549 00b0 43F48073 orr r3, r3, #256
550 00b4 9361 str r3, [r2, #24]
551 .L20:
3952:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t)0UL;
552 .loc 1 3954 3 view .LVU155
553 .loc 1 3954 21 is_stmt 0 view .LVU156
554 00b6 0023 movs r3, #0
555 00b8 A0F86230 strh r3, [r0, #98] @ movhi
3955:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t)0UL;
556 .loc 1 3955 3 is_stmt 1 view .LVU157
557 .loc 1 3955 21 is_stmt 0 view .LVU158
558 00bc A0F86A30 strh r3, [r0, #106] @ movhi
3956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
559 .loc 1 3956 1 view .LVU159
560 00c0 5DF8044B ldr r4, [sp], #4
561 .cfi_restore 4
562 .cfi_def_cfa_offset 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 80
563 00c4 7047 bx lr
564 .L23:
565 00c6 00BF .align 2
566 .L22:
567 00c8 90FCFFFF .word -880
568 .cfi_endproc
569 .LFE382:
571 .section .text.SPI_GetPacketSize,"ax",%progbits
572 .align 1
573 .syntax unified
574 .thumb
575 .thumb_func
577 SPI_GetPacketSize:
578 .LVL15:
579 .LFB384:
3957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Handle SPI Communication Timeout.
3960:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3962:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Flag: SPI flag to check
3963:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Status: flag state to check
3964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Timeout: Timeout duration
3965:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param Tickstart: Tick start value
3966:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval HAL status
3967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3968:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitOnFlagUntilTimeout(const SPI_HandleTypeDef *hspi, uint32_t Flag, F
3969:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart)
3970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3971:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until flag is set */
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) == Status)
3973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check for the Timeout */
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if ((((HAL_GetTick() - Tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout == 0U
3976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_TIMEOUT;
3978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_OK;
3981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3982:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /**
3984:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @brief Compute configured packet size from fifo perspective.
3985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @param hspi: pointer to a SPI_HandleTypeDef structure that contains
3986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * the configuration information for SPI module.
3987:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** * @retval Packet size occupied in the fifo
3988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** */
3989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** static uint32_t SPI_GetPacketSize(const SPI_HandleTypeDef *hspi)
3990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
580 .loc 1 3990 1 is_stmt 1 view -0
581 .cfi_startproc
582 @ args = 0, pretend = 0, frame = 0
583 @ frame_needed = 0, uses_anonymous_args = 0
584 @ link register save eliminated.
3991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t fifo_threashold = (hspi->Init.FifoThreshold >> SPI_CFG1_FTHLV_Pos) + 1UL;
585 .loc 1 3991 3 view .LVU161
586 .loc 1 3991 41 is_stmt 0 view .LVU162
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 81
587 0000 C36B ldr r3, [r0, #60]
588 .loc 1 3991 56 view .LVU163
589 0002 5B09 lsrs r3, r3, #5
590 .LVL16:
3992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t data_size = (hspi->Init.DataSize >> SPI_CFG1_DSIZE_Pos) + 1UL;
591 .loc 1 3992 3 is_stmt 1 view .LVU164
592 .loc 1 3992 41 is_stmt 0 view .LVU165
593 0004 C068 ldr r0, [r0, #12]
594 .LVL17:
3993:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3994:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Convert data size to Byte */
3995:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** data_size = (data_size + 7UL) / 8UL;
595 .loc 1 3995 3 is_stmt 1 view .LVU166
596 .loc 1 3995 26 is_stmt 0 view .LVU167
597 0006 0830 adds r0, r0, #8
598 .LVL18:
599 .loc 1 3995 13 view .LVU168
600 0008 C008 lsrs r0, r0, #3
601 .LVL19:
3996:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return data_size * fifo_threashold;
602 .loc 1 3997 3 is_stmt 1 view .LVU169
3998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
603 .loc 1 3998 1 is_stmt 0 view .LVU170
604 000a 03FB0000 mla r0, r3, r0, r0
605 .LVL20:
606 .loc 1 3998 1 view .LVU171
607 000e 7047 bx lr
608 .cfi_endproc
609 .LFE384:
611 .section .text.SPI_WaitOnFlagUntilTimeout,"ax",%progbits
612 .align 1
613 .syntax unified
614 .thumb
615 .thumb_func
617 SPI_WaitOnFlagUntilTimeout:
618 .LVL21:
619 .LFB383:
3970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until flag is set */
620 .loc 1 3970 1 is_stmt 1 view -0
621 .cfi_startproc
622 @ args = 4, pretend = 0, frame = 0
623 @ frame_needed = 0, uses_anonymous_args = 0
3970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Wait until flag is set */
624 .loc 1 3970 1 is_stmt 0 view .LVU173
625 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
626 .cfi_def_cfa_offset 32
627 .cfi_offset 3, -32
628 .cfi_offset 4, -28
629 .cfi_offset 5, -24
630 .cfi_offset 6, -20
631 .cfi_offset 7, -16
632 .cfi_offset 8, -12
633 .cfi_offset 9, -8
634 .cfi_offset 14, -4
635 0004 8046 mov r8, r0
636 0006 0F46 mov r7, r1
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 82
637 0008 1646 mov r6, r2
638 000a 1D46 mov r5, r3
639 000c DDF82090 ldr r9, [sp, #32]
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
640 .loc 1 3972 3 is_stmt 1 view .LVU174
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
641 .loc 1 3972 9 is_stmt 0 view .LVU175
642 0010 00E0 b .L26
643 .LVL22:
644 .L27:
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
645 .loc 1 3975 83 discriminator 3 view .LVU176
646 0012 BDB1 cbz r5, .L31
647 .L26:
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
648 .loc 1 3972 57 is_stmt 1 view .LVU177
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
649 .loc 1 3972 11 is_stmt 0 view .LVU178
650 0014 D8F80030 ldr r3, [r8]
651 0018 5C69 ldr r4, [r3, #20]
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
652 .loc 1 3972 48 view .LVU179
653 001a 37EA0404 bics r4, r7, r4
654 001e 0CBF ite eq
655 0020 0123 moveq r3, #1
656 0022 0023 movne r3, #0
3972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
657 .loc 1 3972 57 view .LVU180
658 0024 B342 cmp r3, r6
659 0026 0AD1 bne .L33
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
660 .loc 1 3975 5 is_stmt 1 view .LVU181
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
661 .loc 1 3975 12 is_stmt 0 view .LVU182
662 0028 FFF7FEFF bl HAL_GetTick
663 .LVL23:
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
664 .loc 1 3975 26 discriminator 1 view .LVU183
665 002c A0EB0900 sub r0, r0, r9
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
666 .loc 1 3975 8 discriminator 1 view .LVU184
667 0030 A842 cmp r0, r5
668 0032 EED3 bcc .L27
3975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
669 .loc 1 3975 52 discriminator 1 view .LVU185
670 0034 B5F1FF3F cmp r5, #-1
671 0038 EBD0 beq .L27
3977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
672 .loc 1 3977 14 view .LVU186
673 003a 0320 movs r0, #3
674 003c 00E0 b .L28
675 .L33:
3980:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
676 .loc 1 3980 10 view .LVU187
677 003e 0020 movs r0, #0
678 .L28:
3981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 83
679 .loc 1 3981 1 view .LVU188
680 0040 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
681 .LVL24:
682 .L31:
3977:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
683 .loc 1 3977 14 view .LVU189
684 0044 0320 movs r0, #3
685 0046 FBE7 b .L28
686 .cfi_endproc
687 .LFE383:
689 .section .text.HAL_SPI_MspInit,"ax",%progbits
690 .align 1
691 .weak HAL_SPI_MspInit
692 .syntax unified
693 .thumb
694 .thumb_func
696 HAL_SPI_MspInit:
697 .LVL25:
698 .LFB337:
534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
699 .loc 1 534 1 is_stmt 1 view -0
700 .cfi_startproc
701 @ args = 0, pretend = 0, frame = 0
702 @ frame_needed = 0, uses_anonymous_args = 0
703 @ link register save eliminated.
536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
704 .loc 1 536 3 view .LVU191
541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
705 .loc 1 541 1 is_stmt 0 view .LVU192
706 0000 7047 bx lr
707 .cfi_endproc
708 .LFE337:
710 .section .text.HAL_SPI_Init,"ax",%progbits
711 .align 1
712 .global HAL_SPI_Init
713 .syntax unified
714 .thumb
715 .thumb_func
717 HAL_SPI_Init:
718 .LVL26:
719 .LFB335:
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t crc_length;
720 .loc 1 240 1 is_stmt 1 view -0
721 .cfi_startproc
722 @ args = 0, pretend = 0, frame = 0
723 @ frame_needed = 0, uses_anonymous_args = 0
241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t packet_length;
724 .loc 1 241 3 view .LVU194
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_SPI_CRC != 0UL)
725 .loc 1 242 3 view .LVU195
248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
726 .loc 1 248 3 view .LVU196
248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
727 .loc 1 248 6 is_stmt 0 view .LVU197
728 0000 0028 cmp r0, #0
729 0002 00F0B780 beq .L49
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t crc_length;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 84
730 .loc 1 240 1 view .LVU198
731 0006 70B5 push {r4, r5, r6, lr}
732 .cfi_def_cfa_offset 16
733 .cfi_offset 4, -16
734 .cfi_offset 5, -12
735 .cfi_offset 6, -8
736 .cfi_offset 14, -4
737 0008 0446 mov r4, r0
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode));
738 .loc 1 254 3 is_stmt 1 view .LVU199
255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction));
739 .loc 1 255 3 view .LVU200
256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize));
740 .loc 1 256 3 view .LVU201
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_FIFOTHRESHOLD(hspi->Init.FifoThreshold));
741 .loc 1 257 3 view .LVU202
258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS));
742 .loc 1 258 3 view .LVU203
259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode));
743 .loc 1 259 3 view .LVU204
260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler));
744 .loc 1 260 3 view .LVU205
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit));
745 .loc 1 261 3 view .LVU206
262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode));
746 .loc 1 262 3 view .LVU207
263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE)
747 .loc 1 263 3 view .LVU208
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
748 .loc 1 264 3 view .LVU209
266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase));
749 .loc 1 266 5 view .LVU210
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
750 .loc 1 267 5 view .LVU211
279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
751 .loc 1 279 3 view .LVU212
279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
752 .loc 1 279 29 is_stmt 0 view .LVU213
753 000a 0023 movs r3, #0
754 000c 8362 str r3, [r0, #40]
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
755 .loc 1 283 3 is_stmt 1 view .LVU214
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
756 .loc 1 283 9 is_stmt 0 view .LVU215
757 000e 0568 ldr r5, [r0]
758 0010 5C4B ldr r3, .L60
759 0012 5D4E ldr r6, .L60+4
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
760 .loc 1 283 6 view .LVU216
761 0014 9D42 cmp r5, r3
762 0016 18BF it ne
763 0018 B542 cmpne r5, r6
764 001a 14BF ite ne
765 001c 0126 movne r6, #1
766 001e 0026 moveq r6, #0
767 0020 07D0 beq .L37
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 85
768 .loc 1 283 8 discriminator 1 view .LVU217
769 0022 A3F57443 sub r3, r3, #62464
770 0026 9D42 cmp r5, r3
771 0028 03D0 beq .L37
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
772 .loc 1 283 64 discriminator 2 view .LVU218
773 002a C368 ldr r3, [r0, #12]
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
774 .loc 1 283 50 discriminator 2 view .LVU219
775 002c 0F2B cmp r3, #15
776 002e 00F2A380 bhi .L50
777 .L37:
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_LOWEND_FIFO_SIZE)) ||
778 .loc 1 289 3 is_stmt 1 view .LVU220
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_LOWEND_FIFO_SIZE)) ||
779 .loc 1 289 19 is_stmt 0 view .LVU221
780 0032 2046 mov r0, r4
781 .LVL27:
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (((!IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_LOWEND_FIFO_SIZE)) ||
782 .loc 1 289 19 view .LVU222
783 0034 FFF7FEFF bl SPI_GetPacketSize
784 .LVL28:
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
785 .loc 1 290 3 is_stmt 1 view .LVU223
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
786 .loc 1 290 6 is_stmt 0 view .LVU224
787 0038 2EB1 cbz r6, .L38
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
788 .loc 1 290 9 discriminator 1 view .LVU225
789 003a 544B ldr r3, .L60+8
790 003c 9D42 cmp r5, r3
791 003e 02D0 beq .L38
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
792 .loc 1 290 51 discriminator 3 view .LVU226
793 0040 0828 cmp r0, #8
794 0042 00F29B80 bhi .L51
795 .L38:
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((IS_SPI_HIGHEND_INSTANCE(hspi->Instance)) && (packet_length > SPI_HIGHEND_FIFO_SIZE)))
796 .loc 1 290 94 discriminator 5 view .LVU227
797 0046 4F4A ldr r2, .L60
798 0048 4F4B ldr r3, .L60+4
799 004a 9D42 cmp r5, r3
800 004c 18BF it ne
801 004e 9542 cmpne r5, r2
802 0050 03D0 beq .L39
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
803 .loc 1 291 9 view .LVU228
804 0052 03F58063 add r3, r3, #1024
805 0056 9D42 cmp r5, r3
806 0058 02D1 bne .L40
807 .L39:
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
808 .loc 1 291 50 discriminator 1 view .LVU229
809 005a 1028 cmp r0, #16
810 005c 00F29080 bhi .L52
811 .L40:
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 86
812 .loc 1 330 3 is_stmt 1 view .LVU230
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
813 .loc 1 330 11 is_stmt 0 view .LVU231
814 0060 94F88130 ldrb r3, [r4, #129] @ zero_extendqisi2
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
815 .loc 1 330 6 view .LVU232
816 0064 F3B1 cbz r3, .L57
817 .LVL29:
818 .L41:
360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
819 .loc 1 360 3 is_stmt 1 view .LVU233
360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
820 .loc 1 360 15 is_stmt 0 view .LVU234
821 0066 0223 movs r3, #2
822 0068 84F88130 strb r3, [r4, #129]
363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
823 .loc 1 363 3 is_stmt 1 view .LVU235
824 006c 2268 ldr r2, [r4]
825 006e 1368 ldr r3, [r2]
826 0070 23F00103 bic r3, r3, #1
827 0074 1360 str r3, [r2]
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
828 .loc 1 367 3 view .LVU236
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
829 .loc 1 367 20 is_stmt 0 view .LVU237
830 0076 2368 ldr r3, [r4]
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
831 .loc 1 367 30 view .LVU238
832 0078 9A68 ldr r2, [r3, #8]
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_SPI_CRC */
833 .loc 1 367 14 view .LVU239
834 007a 02F4F812 and r2, r2, #2031616
835 .LVL30:
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
836 .loc 1 375 3 is_stmt 1 view .LVU240
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
837 .loc 1 375 18 is_stmt 0 view .LVU241
838 007e A169 ldr r1, [r4, #24]
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
839 .loc 1 375 6 view .LVU242
840 0080 B1F1806F cmp r1, #67108864
841 0084 14D0 beq .L58
842 .L42:
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
843 .loc 1 384 3 is_stmt 1 view .LVU243
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
844 .loc 1 384 19 is_stmt 0 view .LVU244
845 0086 6368 ldr r3, [r4, #4]
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
846 .loc 1 384 6 view .LVU245
847 0088 13F4800F tst r3, #4194304
848 008c 23D0 beq .L45
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
849 .loc 1 384 78 discriminator 1 view .LVU246
850 008e E368 ldr r3, [r4, #12]
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
851 .loc 1 384 64 discriminator 1 view .LVU247
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 87
852 0090 062B cmp r3, #6
853 0092 20D9 bls .L45
386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
854 .loc 1 386 5 is_stmt 1 view .LVU248
855 0094 2168 ldr r1, [r4]
856 0096 0B68 ldr r3, [r1]
857 0098 23F48073 bic r3, r3, #256
858 009c 206D ldr r0, [r4, #80]
859 009e 0343 orrs r3, r3, r0
860 00a0 0B60 str r3, [r1]
861 00a2 1DE0 b .L46
862 .LVL31:
863 .L57:
333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
864 .loc 1 333 5 view .LVU249
333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
865 .loc 1 333 16 is_stmt 0 view .LVU250
866 00a4 84F88030 strb r3, [r4, #128]
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
867 .loc 1 356 5 is_stmt 1 view .LVU251
868 00a8 2046 mov r0, r4
869 .LVL32:
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
870 .loc 1 356 5 is_stmt 0 view .LVU252
871 00aa FFF7FEFF bl HAL_SPI_MspInit
872 .LVL33:
873 00ae DAE7 b .L41
874 .LVL34:
875 .L58:
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
876 .loc 1 375 56 discriminator 1 view .LVU253
877 00b0 6168 ldr r1, [r4, #4]
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
878 .loc 1 375 40 discriminator 1 view .LVU254
879 00b2 B1F5800F cmp r1, #4194304
880 00b6 06D0 beq .L59
881 .L43:
376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.Mode == SPI_MODE_SLAVE) && \
882 .loc 1 376 95 view .LVU255
883 00b8 0029 cmp r1, #0
884 00ba E4D1 bne .L42
378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
885 .loc 1 378 56 view .LVU256
886 00bc A16B ldr r1, [r4, #56]
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_HIGH))))
887 .loc 1 377 81 view .LVU257
888 00be B1F1805F cmp r1, #268435456
889 00c2 E0D1 bne .L42
890 00c4 02E0 b .L44
891 .L59:
376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.Mode == SPI_MODE_SLAVE) && \
892 .loc 1 376 56 view .LVU258
893 00c6 A06B ldr r0, [r4, #56]
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->Init.NSSPolarity == SPI_NSS_POLARITY_LOW)) || \
894 .loc 1 375 82 discriminator 2 view .LVU259
895 00c8 0028 cmp r0, #0
896 00ca F5D1 bne .L43
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 88
897 .L44:
380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
898 .loc 1 380 5 is_stmt 1 view .LVU260
899 00cc 1968 ldr r1, [r3]
900 00ce 41F48051 orr r1, r1, #4096
901 00d2 1960 str r1, [r3]
902 00d4 D7E7 b .L42
903 .L45:
390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
904 .loc 1 390 5 view .LVU261
905 00d6 2168 ldr r1, [r4]
906 00d8 0B68 ldr r3, [r1]
907 00da 23F48073 bic r3, r3, #256
908 00de 0B60 str r3, [r1]
909 .L46:
394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.FifoThreshold | hspi->Init.DataSize));
910 .loc 1 394 3 view .LVU262
911 00e0 E369 ldr r3, [r4, #28]
912 00e2 A16A ldr r1, [r4, #40]
913 00e4 0B43 orrs r3, r3, r1
914 00e6 1343 orrs r3, r3, r2
915 00e8 E26B ldr r2, [r4, #60]
916 .LVL35:
394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.FifoThreshold | hspi->Init.DataSize));
917 .loc 1 394 3 is_stmt 0 view .LVU263
918 00ea 1343 orrs r3, r3, r2
919 00ec E168 ldr r1, [r4, #12]
920 00ee 2268 ldr r2, [r4]
921 00f0 0B43 orrs r3, r3, r1
922 00f2 9360 str r3, [r2, #8]
398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->Init.NSSPolarity | hspi->Init.NSS |
923 .loc 1 398 3 is_stmt 1 view .LVU264
924 00f4 636B ldr r3, [r4, #52]
925 00f6 626A ldr r2, [r4, #36]
926 00f8 1343 orrs r3, r3, r2
927 00fa A26B ldr r2, [r4, #56]
928 00fc 1343 orrs r3, r3, r2
929 00fe A269 ldr r2, [r4, #24]
930 0100 1343 orrs r3, r3, r2
931 0102 2269 ldr r2, [r4, #16]
932 0104 1343 orrs r3, r3, r2
933 0106 6269 ldr r2, [r4, #20]
934 0108 1343 orrs r3, r3, r2
935 010a 226A ldr r2, [r4, #32]
936 010c 1343 orrs r3, r3, r2
937 010e 6268 ldr r2, [r4, #4]
938 0110 1343 orrs r3, r3, r2
939 0112 E26C ldr r2, [r4, #76]
940 0114 1343 orrs r3, r3, r2
941 0116 A268 ldr r2, [r4, #8]
942 0118 1343 orrs r3, r3, r2
943 011a A26C ldr r2, [r4, #72]
944 011c 1343 orrs r3, r3, r2
945 011e A16D ldr r1, [r4, #88]
946 0120 2268 ldr r2, [r4]
947 0122 0B43 orrs r3, r3, r1
948 0124 D360 str r3, [r2, #12]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 89
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
949 .loc 1 453 3 view .LVU265
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
950 .loc 1 453 17 is_stmt 0 view .LVU266
951 0126 6368 ldr r3, [r4, #4]
453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
952 .loc 1 453 6 view .LVU267
953 0128 6BB9 cbnz r3, .L47
460:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
954 .loc 1 460 7 is_stmt 1 view .LVU268
955 012a 2268 ldr r2, [r4]
956 012c 9368 ldr r3, [r2, #8]
957 012e 23F4C053 bic r3, r3, #6144
958 0132 43F40063 orr r3, r3, #2048
959 0136 9360 str r3, [r2, #8]
462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
960 .loc 1 462 5 view .LVU269
961 0138 2268 ldr r2, [r4]
962 013a 9368 ldr r3, [r2, #8]
963 013c 23F4C063 bic r3, r3, #1536
964 0140 43F48063 orr r3, r3, #1024
965 0144 9360 str r3, [r2, #8]
966 .L47:
467:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */
967 .loc 1 467 3 view .LVU270
968 0146 2268 ldr r2, [r4]
969 0148 136D ldr r3, [r2, #80]
970 014a 23F00103 bic r3, r3, #1
971 014e 1365 str r3, [r2, #80]
471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
972 .loc 1 471 3 view .LVU271
471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
973 .loc 1 471 18 is_stmt 0 view .LVU272
974 0150 6368 ldr r3, [r4, #4]
471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
975 .loc 1 471 6 view .LVU273
976 0152 13F4800F tst r3, #4194304
977 0156 06D0 beq .L48
474:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
978 .loc 1 474 5 is_stmt 1 view .LVU274
979 0158 2268 ldr r2, [r4]
980 015a D368 ldr r3, [r2, #12]
981 015c 23F00043 bic r3, r3, #-2147483648
982 0160 616D ldr r1, [r4, #84]
983 0162 0B43 orrs r3, r3, r1
984 0164 D360 str r3, [r2, #12]
985 .L48:
477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
986 .loc 1 477 3 view .LVU275
477:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
987 .loc 1 477 19 is_stmt 0 view .LVU276
988 0166 0020 movs r0, #0
989 0168 C4F88400 str r0, [r4, #132]
478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
990 .loc 1 478 3 is_stmt 1 view .LVU277
478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
991 .loc 1 478 19 is_stmt 0 view .LVU278
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 90
992 016c 0123 movs r3, #1
993 016e 84F88130 strb r3, [r4, #129]
480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
994 .loc 1 480 3 is_stmt 1 view .LVU279
995 .LVL36:
996 .L36:
481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
997 .loc 1 481 1 is_stmt 0 view .LVU280
998 0172 70BD pop {r4, r5, r6, pc}
999 .LVL37:
1000 .L49:
1001 .cfi_def_cfa_offset 0
1002 .cfi_restore 4
1003 .cfi_restore 5
1004 .cfi_restore 6
1005 .cfi_restore 14
250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1006 .loc 1 250 12 view .LVU281
1007 0174 0120 movs r0, #1
1008 .LVL38:
481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1009 .loc 1 481 1 view .LVU282
1010 0176 7047 bx lr
1011 .LVL39:
1012 .L50:
1013 .cfi_def_cfa_offset 16
1014 .cfi_offset 4, -16
1015 .cfi_offset 5, -12
1016 .cfi_offset 6, -8
1017 .cfi_offset 14, -4
285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1018 .loc 1 285 12 view .LVU283
1019 0178 0120 movs r0, #1
1020 .LVL40:
285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1021 .loc 1 285 12 view .LVU284
1022 017a FAE7 b .L36
1023 .LVL41:
1024 .L51:
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1025 .loc 1 293 12 view .LVU285
1026 017c 0120 movs r0, #1
1027 .LVL42:
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1028 .loc 1 293 12 view .LVU286
1029 017e F8E7 b .L36
1030 .LVL43:
1031 .L52:
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1032 .loc 1 293 12 view .LVU287
1033 0180 0120 movs r0, #1
1034 .LVL44:
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1035 .loc 1 293 12 view .LVU288
1036 0182 F6E7 b .L36
1037 .L61:
1038 .align 2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 91
1039 .L60:
1040 0184 00300140 .word 1073819648
1041 0188 00380040 .word 1073756160
1042 018c 003C0040 .word 1073757184
1043 .cfi_endproc
1044 .LFE335:
1046 .section .text.HAL_SPI_MspDeInit,"ax",%progbits
1047 .align 1
1048 .weak HAL_SPI_MspDeInit
1049 .syntax unified
1050 .thumb
1051 .thumb_func
1053 HAL_SPI_MspDeInit:
1054 .LVL45:
1055 .LFB338:
550:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
1056 .loc 1 550 1 is_stmt 1 view -0
1057 .cfi_startproc
1058 @ args = 0, pretend = 0, frame = 0
1059 @ frame_needed = 0, uses_anonymous_args = 0
1060 @ link register save eliminated.
552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1061 .loc 1 552 3 view .LVU290
557:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1062 .loc 1 557 1 is_stmt 0 view .LVU291
1063 0000 7047 bx lr
1064 .cfi_endproc
1065 .LFE338:
1067 .section .text.HAL_SPI_DeInit,"ax",%progbits
1068 .align 1
1069 .global HAL_SPI_DeInit
1070 .syntax unified
1071 .thumb
1072 .thumb_func
1074 HAL_SPI_DeInit:
1075 .LVL46:
1076 .LFB336:
490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the SPI handle allocation */
1077 .loc 1 490 1 is_stmt 1 view -0
1078 .cfi_startproc
1079 @ args = 0, pretend = 0, frame = 0
1080 @ frame_needed = 0, uses_anonymous_args = 0
492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1081 .loc 1 492 3 view .LVU293
492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1082 .loc 1 492 6 is_stmt 0 view .LVU294
1083 0000 98B1 cbz r0, .L65
490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check the SPI handle allocation */
1084 .loc 1 490 1 view .LVU295
1085 0002 10B5 push {r4, lr}
1086 .cfi_def_cfa_offset 8
1087 .cfi_offset 4, -8
1088 .cfi_offset 14, -4
1089 0004 0446 mov r4, r0
498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1090 .loc 1 498 3 is_stmt 1 view .LVU296
500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 92
1091 .loc 1 500 3 view .LVU297
500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1092 .loc 1 500 15 is_stmt 0 view .LVU298
1093 0006 0223 movs r3, #2
1094 0008 80F88130 strb r3, [r0, #129]
503:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1095 .loc 1 503 3 is_stmt 1 view .LVU299
1096 000c 0268 ldr r2, [r0]
1097 000e 1368 ldr r3, [r2]
1098 0010 23F00103 bic r3, r3, #1
1099 0014 1360 str r3, [r2]
515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
1100 .loc 1 515 3 view .LVU300
1101 0016 FFF7FEFF bl HAL_SPI_MspDeInit
1102 .LVL47:
518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1103 .loc 1 518 3 view .LVU301
518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET;
1104 .loc 1 518 19 is_stmt 0 view .LVU302
1105 001a 0020 movs r0, #0
1106 001c C4F88400 str r0, [r4, #132]
519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1107 .loc 1 519 3 is_stmt 1 view .LVU303
519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1108 .loc 1 519 15 is_stmt 0 view .LVU304
1109 0020 84F88100 strb r0, [r4, #129]
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1110 .loc 1 522 3 is_stmt 1 view .LVU305
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1111 .loc 1 522 3 view .LVU306
1112 0024 84F88000 strb r0, [r4, #128]
522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1113 .loc 1 522 3 view .LVU307
524:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1114 .loc 1 524 3 view .LVU308
525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1115 .loc 1 525 1 is_stmt 0 view .LVU309
1116 0028 10BD pop {r4, pc}
1117 .LVL48:
1118 .L65:
1119 .cfi_def_cfa_offset 0
1120 .cfi_restore 4
1121 .cfi_restore 14
494:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1122 .loc 1 494 12 view .LVU310
1123 002a 0120 movs r0, #1
1124 .LVL49:
525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1125 .loc 1 525 1 view .LVU311
1126 002c 7047 bx lr
1127 .cfi_endproc
1128 .LFE336:
1130 .section .text.HAL_SPI_Transmit,"ax",%progbits
1131 .align 1
1132 .global HAL_SPI_Transmit
1133 .syntax unified
1134 .thumb
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 93
1135 .thumb_func
1137 HAL_SPI_Transmit:
1138 .LVL50:
1139 .LFB339:
825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1140 .loc 1 825 1 is_stmt 1 view -0
1141 .cfi_startproc
1142 @ args = 0, pretend = 0, frame = 0
1143 @ frame_needed = 0, uses_anonymous_args = 0
825:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1144 .loc 1 825 1 is_stmt 0 view .LVU313
1145 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr}
1146 .cfi_def_cfa_offset 32
1147 .cfi_offset 4, -32
1148 .cfi_offset 5, -28
1149 .cfi_offset 6, -24
1150 .cfi_offset 7, -20
1151 .cfi_offset 8, -16
1152 .cfi_offset 9, -12
1153 .cfi_offset 10, -8
1154 .cfi_offset 14, -4
1155 0004 82B0 sub sp, sp, #8
1156 .cfi_def_cfa_offset 40
1157 0006 0446 mov r4, r0
1158 0008 8A46 mov r10, r1
1159 000a 9146 mov r9, r2
1160 000c 1D46 mov r5, r3
827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1161 .loc 1 827 3 is_stmt 1 view .LVU314
827:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1162 .loc 1 827 57 is_stmt 0 view .LVU315
1163 000e D0F80080 ldr r8, [r0]
1164 .LVL51:
830:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1165 .loc 1 830 3 is_stmt 1 view .LVU316
833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1166 .loc 1 833 3 view .LVU317
836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1167 .loc 1 836 3 view .LVU318
836:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1168 .loc 1 836 15 is_stmt 0 view .LVU319
1169 0012 FFF7FEFF bl HAL_GetTick
1170 .LVL52:
838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1171 .loc 1 838 3 is_stmt 1 view .LVU320
838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1172 .loc 1 838 11 is_stmt 0 view .LVU321
1173 0016 94F88130 ldrb r3, [r4, #129] @ zero_extendqisi2
838:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1174 .loc 1 838 6 view .LVU322
1175 001a 012B cmp r3, #1
1176 001c 40F04981 bne .L99
1177 0020 0646 mov r6, r0
1178 0022 DFB2 uxtb r7, r3
843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1179 .loc 1 843 3 is_stmt 1 view .LVU323
843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 94
1180 .loc 1 843 6 is_stmt 0 view .LVU324
1181 0024 B9F1000F cmp r9, #0
1182 0028 18BF it ne
1183 002a BAF1000F cmpne r10, #0
1184 002e 00F04181 beq .L71
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1185 .loc 1 849 3 is_stmt 1 view .LVU325
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1186 .loc 1 849 3 view .LVU326
1187 0032 94F88030 ldrb r3, [r4, #128] @ zero_extendqisi2
1188 0036 012B cmp r3, #1
1189 0038 00F04081 beq .L100
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1190 .loc 1 849 3 discriminator 2 view .LVU327
1191 003c 0123 movs r3, #1
1192 003e 84F88030 strb r3, [r4, #128]
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1193 .loc 1 849 3 view .LVU328
852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1194 .loc 1 852 3 view .LVU329
852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1195 .loc 1 852 21 is_stmt 0 view .LVU330
1196 0042 0323 movs r3, #3
1197 0044 84F88130 strb r3, [r4, #129]
853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
1198 .loc 1 853 3 is_stmt 1 view .LVU331
853:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
1199 .loc 1 853 21 is_stmt 0 view .LVU332
1200 0048 0023 movs r3, #0
1201 004a C4F88430 str r3, [r4, #132]
854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
1202 .loc 1 854 3 is_stmt 1 view .LVU333
854:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
1203 .loc 1 854 21 is_stmt 0 view .LVU334
1204 004e C4F85CA0 str r10, [r4, #92]
855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
1205 .loc 1 855 3 is_stmt 1 view .LVU335
855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
1206 .loc 1 855 21 is_stmt 0 view .LVU336
1207 0052 A4F86090 strh r9, [r4, #96] @ movhi
856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1208 .loc 1 856 3 is_stmt 1 view .LVU337
856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1209 .loc 1 856 21 is_stmt 0 view .LVU338
1210 0056 A4F86290 strh r9, [r4, #98] @ movhi
859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
1211 .loc 1 859 3 is_stmt 1 view .LVU339
859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
1212 .loc 1 859 21 is_stmt 0 view .LVU340
1213 005a 6366 str r3, [r4, #100]
860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
1214 .loc 1 860 3 is_stmt 1 view .LVU341
860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
1215 .loc 1 860 21 is_stmt 0 view .LVU342
1216 005c A4F86830 strh r3, [r4, #104] @ movhi
861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1217 .loc 1 861 3 is_stmt 1 view .LVU343
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 95
861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1218 .loc 1 861 21 is_stmt 0 view .LVU344
1219 0060 A4F86A30 strh r3, [r4, #106] @ movhi
862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1220 .loc 1 862 3 is_stmt 1 view .LVU345
862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1221 .loc 1 862 21 is_stmt 0 view .LVU346
1222 0064 6367 str r3, [r4, #116]
863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1223 .loc 1 863 3 is_stmt 1 view .LVU347
863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1224 .loc 1 863 21 is_stmt 0 view .LVU348
1225 0066 2367 str r3, [r4, #112]
866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1226 .loc 1 866 3 is_stmt 1 view .LVU349
866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1227 .loc 1 866 17 is_stmt 0 view .LVU350
1228 0068 A368 ldr r3, [r4, #8]
866:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1229 .loc 1 866 6 view .LVU351
1230 006a B3F5C02F cmp r3, #393216
1231 006e 1CD0 beq .L104
872:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1232 .loc 1 872 5 is_stmt 1 view .LVU352
1233 0070 2268 ldr r2, [r4]
1234 0072 D368 ldr r3, [r2, #12]
1235 0074 23F4C023 bic r3, r3, #393216
1236 0078 43F40033 orr r3, r3, #131072
1237 007c D360 str r3, [r2, #12]
1238 .L73:
876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1239 .loc 1 876 3 view .LVU353
1240 007e 2268 ldr r2, [r4]
1241 0080 5368 ldr r3, [r2, #4]
1242 0082 6FF30F03 bfc r3, #0, #16
1243 0086 49EA0303 orr r3, r9, r3
1244 008a 5360 str r3, [r2, #4]
879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1245 .loc 1 879 3 view .LVU354
1246 008c 2268 ldr r2, [r4]
1247 008e 1368 ldr r3, [r2]
1248 0090 43F00103 orr r3, r3, #1
1249 0094 1360 str r3, [r2]
881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1250 .loc 1 881 3 view .LVU355
881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1251 .loc 1 881 17 is_stmt 0 view .LVU356
1252 0096 6368 ldr r3, [r4, #4]
881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1253 .loc 1 881 6 view .LVU357
1254 0098 B3F5800F cmp r3, #4194304
1255 009c 0BD0 beq .L105
1256 .L74:
888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1257 .loc 1 888 3 is_stmt 1 view .LVU358
888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1258 .loc 1 888 17 is_stmt 0 view .LVU359
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 96
1259 009e E368 ldr r3, [r4, #12]
888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1260 .loc 1 888 6 view .LVU360
1261 00a0 0F2B cmp r3, #15
1262 00a2 1BD8 bhi .L75
920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1263 .loc 1 920 8 is_stmt 1 view .LVU361
920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1264 .loc 1 920 11 is_stmt 0 view .LVU362
1265 00a4 072B cmp r3, #7
1266 00a6 4DD8 bhi .L83
1267 00a8 ACE0 b .L84
1268 .L104:
868:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1269 .loc 1 868 5 is_stmt 1 view .LVU363
1270 00aa 2268 ldr r2, [r4]
1271 00ac 1368 ldr r3, [r2]
1272 00ae 43F40063 orr r3, r3, #2048
1273 00b2 1360 str r3, [r2]
1274 00b4 E3E7 b .L73
1275 .L105:
884:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1276 .loc 1 884 5 view .LVU364
1277 00b6 2268 ldr r2, [r4]
1278 00b8 1368 ldr r3, [r2]
1279 00ba 43F40073 orr r3, r3, #512
1280 00be 1360 str r3, [r2]
1281 00c0 EDE7 b .L74
1282 .LVL53:
1283 .L106:
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1284 .loc 1 896 9 view .LVU365
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1285 .loc 1 896 77 is_stmt 0 view .LVU366
1286 00c2 E26D ldr r2, [r4, #92]
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1287 .loc 1 896 53 view .LVU367
1288 00c4 1268 ldr r2, [r2]
896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1289 .loc 1 896 51 view .LVU368
1290 00c6 1A62 str r2, [r3, #32]
897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1291 .loc 1 897 9 is_stmt 1 view .LVU369
897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1292 .loc 1 897 13 is_stmt 0 view .LVU370
1293 00c8 E36D ldr r3, [r4, #92]
897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1294 .loc 1 897 26 view .LVU371
1295 00ca 0433 adds r3, r3, #4
1296 00cc E365 str r3, [r4, #92]
898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1297 .loc 1 898 9 is_stmt 1 view .LVU372
898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1298 .loc 1 898 13 is_stmt 0 view .LVU373
1299 00ce B4F86220 ldrh r2, [r4, #98]
1300 00d2 92B2 uxth r2, r2
898:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 97
1301 .loc 1 898 26 view .LVU374
1302 00d4 013A subs r2, r2, #1
1303 00d6 92B2 uxth r2, r2
1304 00d8 A4F86220 strh r2, [r4, #98] @ movhi
1305 .L75:
891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1306 .loc 1 891 30 is_stmt 1 view .LVU375
891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1307 .loc 1 891 16 is_stmt 0 view .LVU376
1308 00dc B4F86230 ldrh r3, [r4, #98]
1309 00e0 9BB2 uxth r3, r3
891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1310 .loc 1 891 30 view .LVU377
1311 00e2 002B cmp r3, #0
1312 00e4 00F0C980 beq .L82
894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1313 .loc 1 894 7 is_stmt 1 view .LVU378
894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1314 .loc 1 894 11 is_stmt 0 view .LVU379
1315 00e8 2368 ldr r3, [r4]
1316 00ea 5A69 ldr r2, [r3, #20]
894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1317 .loc 1 894 10 view .LVU380
1318 00ec 12F0020F tst r2, #2
1319 00f0 E7D1 bne .L106
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1320 .loc 1 903 9 is_stmt 1 view .LVU381
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1321 .loc 1 903 16 is_stmt 0 view .LVU382
1322 00f2 FFF7FEFF bl HAL_GetTick
1323 .LVL54:
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1324 .loc 1 903 30 discriminator 1 view .LVU383
1325 00f6 801B subs r0, r0, r6
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1326 .loc 1 903 12 discriminator 1 view .LVU384
1327 00f8 A842 cmp r0, r5
1328 00fa 02D3 bcc .L79
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1329 .loc 1 903 56 discriminator 1 view .LVU385
1330 00fc B5F1FF3F cmp r5, #-1
1331 0100 01D1 bne .L80
1332 .L79:
903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1333 .loc 1 903 87 discriminator 3 view .LVU386
1334 0102 002D cmp r5, #0
1335 0104 EAD1 bne .L75
1336 .L80:
906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1337 .loc 1 906 11 is_stmt 1 view .LVU387
1338 0106 2046 mov r0, r4
1339 0108 FFF7FEFF bl SPI_CloseTransfer
1340 .LVL55:
908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1341 .loc 1 908 11 view .LVU388
1342 010c D4F88430 ldr r3, [r4, #132]
1343 0110 43F48073 orr r3, r3, #256
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 98
1344 0114 C4F88430 str r3, [r4, #132]
909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1345 .loc 1 909 11 view .LVU389
909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1346 .loc 1 909 23 is_stmt 0 view .LVU390
1347 0118 0123 movs r3, #1
1348 011a 84F88130 strb r3, [r4, #129]
912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1349 .loc 1 912 11 is_stmt 1 view .LVU391
912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1350 .loc 1 912 11 view .LVU392
1351 011e 0023 movs r3, #0
1352 0120 84F88030 strb r3, [r4, #128]
912:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1353 .loc 1 912 11 view .LVU393
914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1354 .loc 1 914 11 view .LVU394
914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1355 .loc 1 914 18 is_stmt 0 view .LVU395
1356 0124 0327 movs r7, #3
1357 0126 C5E0 b .L71
1358 .L86:
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1359 .loc 1 937 11 is_stmt 1 view .LVU396
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1360 .loc 1 937 51 is_stmt 0 view .LVU397
1361 0128 E36D ldr r3, [r4, #92]
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1362 .loc 1 937 27 view .LVU398
1363 012a 1B88 ldrh r3, [r3]
937:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1364 .loc 1 937 25 view .LVU399
1365 012c A8F82030 strh r3, [r8, #32] @ movhi
941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1366 .loc 1 941 11 is_stmt 1 view .LVU400
941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1367 .loc 1 941 15 is_stmt 0 view .LVU401
1368 0130 E36D ldr r3, [r4, #92]
941:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1369 .loc 1 941 28 view .LVU402
1370 0132 0233 adds r3, r3, #2
1371 0134 E365 str r3, [r4, #92]
942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1372 .loc 1 942 11 is_stmt 1 view .LVU403
942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1373 .loc 1 942 15 is_stmt 0 view .LVU404
1374 0136 B4F86230 ldrh r3, [r4, #98]
1375 013a 9BB2 uxth r3, r3
942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1376 .loc 1 942 28 view .LVU405
1377 013c 013B subs r3, r3, #1
1378 013e 9BB2 uxth r3, r3
1379 0140 A4F86230 strh r3, [r4, #98] @ movhi
1380 .L83:
923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1381 .loc 1 923 30 is_stmt 1 view .LVU406
923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 99
1382 .loc 1 923 16 is_stmt 0 view .LVU407
1383 0144 B4F86230 ldrh r3, [r4, #98]
1384 0148 9BB2 uxth r3, r3
923:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1385 .loc 1 923 30 view .LVU408
1386 014a 002B cmp r3, #0
1387 014c 00F09580 beq .L82
926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1388 .loc 1 926 7 is_stmt 1 view .LVU409
926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1389 .loc 1 926 11 is_stmt 0 view .LVU410
1390 0150 2268 ldr r2, [r4]
1391 0152 5369 ldr r3, [r2, #20]
926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1392 .loc 1 926 10 view .LVU411
1393 0154 13F0020F tst r3, #2
1394 0158 15D0 beq .L85
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1395 .loc 1 928 9 is_stmt 1 view .LVU412
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1396 .loc 1 928 18 is_stmt 0 view .LVU413
1397 015a B4F86230 ldrh r3, [r4, #98]
1398 015e 9BB2 uxth r3, r3
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1399 .loc 1 928 12 view .LVU414
1400 0160 012B cmp r3, #1
1401 0162 E1D9 bls .L86
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1402 .loc 1 928 53 discriminator 1 view .LVU415
1403 0164 E36B ldr r3, [r4, #60]
928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1404 .loc 1 928 39 discriminator 1 view .LVU416
1405 0166 002B cmp r3, #0
1406 0168 DED0 beq .L86
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1407 .loc 1 930 11 is_stmt 1 view .LVU417
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1408 .loc 1 930 79 is_stmt 0 view .LVU418
1409 016a E36D ldr r3, [r4, #92]
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1410 .loc 1 930 55 view .LVU419
1411 016c 1B68 ldr r3, [r3]
930:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1412 .loc 1 930 53 view .LVU420
1413 016e 1362 str r3, [r2, #32]
931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1414 .loc 1 931 11 is_stmt 1 view .LVU421
931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1415 .loc 1 931 15 is_stmt 0 view .LVU422
1416 0170 E36D ldr r3, [r4, #92]
931:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1417 .loc 1 931 28 view .LVU423
1418 0172 0433 adds r3, r3, #4
1419 0174 E365 str r3, [r4, #92]
932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1420 .loc 1 932 11 is_stmt 1 view .LVU424
932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 100
1421 .loc 1 932 15 is_stmt 0 view .LVU425
1422 0176 B4F86230 ldrh r3, [r4, #98]
1423 017a 9BB2 uxth r3, r3
932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1424 .loc 1 932 29 view .LVU426
1425 017c 023B subs r3, r3, #2
1426 017e 9BB2 uxth r3, r3
1427 0180 A4F86230 strh r3, [r4, #98] @ movhi
1428 0184 DEE7 b .L83
1429 .L85:
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1430 .loc 1 948 9 is_stmt 1 view .LVU427
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1431 .loc 1 948 16 is_stmt 0 view .LVU428
1432 0186 FFF7FEFF bl HAL_GetTick
1433 .LVL56:
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1434 .loc 1 948 30 discriminator 1 view .LVU429
1435 018a 801B subs r0, r0, r6
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1436 .loc 1 948 12 discriminator 1 view .LVU430
1437 018c A842 cmp r0, r5
1438 018e 02D3 bcc .L88
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1439 .loc 1 948 56 discriminator 1 view .LVU431
1440 0190 B5F1FF3F cmp r5, #-1
1441 0194 01D1 bne .L89
1442 .L88:
948:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1443 .loc 1 948 87 discriminator 3 view .LVU432
1444 0196 002D cmp r5, #0
1445 0198 D4D1 bne .L83
1446 .L89:
951:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1447 .loc 1 951 11 is_stmt 1 view .LVU433
1448 019a 2046 mov r0, r4
1449 019c FFF7FEFF bl SPI_CloseTransfer
1450 .LVL57:
953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1451 .loc 1 953 11 view .LVU434
1452 01a0 D4F88430 ldr r3, [r4, #132]
1453 01a4 43F48073 orr r3, r3, #256
1454 01a8 C4F88430 str r3, [r4, #132]
954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1455 .loc 1 954 11 view .LVU435
954:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1456 .loc 1 954 23 is_stmt 0 view .LVU436
1457 01ac 0123 movs r3, #1
1458 01ae 84F88130 strb r3, [r4, #129]
957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1459 .loc 1 957 11 is_stmt 1 view .LVU437
957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1460 .loc 1 957 11 view .LVU438
1461 01b2 0023 movs r3, #0
1462 01b4 84F88030 strb r3, [r4, #128]
957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1463 .loc 1 957 11 view .LVU439
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 101
959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1464 .loc 1 959 11 view .LVU440
959:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1465 .loc 1 959 18 is_stmt 0 view .LVU441
1466 01b8 0327 movs r7, #3
1467 01ba 7BE0 b .L71
1468 .L92:
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1469 .loc 1 978 14 is_stmt 1 view .LVU442
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1470 .loc 1 978 23 is_stmt 0 view .LVU443
1471 01bc B4F86230 ldrh r3, [r4, #98]
1472 01c0 9BB2 uxth r3, r3
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1473 .loc 1 978 17 view .LVU444
1474 01c2 012B cmp r3, #1
1475 01c4 10D9 bls .L94
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1476 .loc 1 978 58 discriminator 1 view .LVU445
1477 01c6 E36B ldr r3, [r4, #60]
978:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1478 .loc 1 978 44 discriminator 1 view .LVU446
1479 01c8 73B1 cbz r3, .L94
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1480 .loc 1 981 11 is_stmt 1 view .LVU447
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1481 .loc 1 981 51 is_stmt 0 view .LVU448
1482 01ca E36D ldr r3, [r4, #92]
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1483 .loc 1 981 27 view .LVU449
1484 01cc 1B88 ldrh r3, [r3]
981:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1485 .loc 1 981 25 view .LVU450
1486 01ce A8F82030 strh r3, [r8, #32] @ movhi
985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1487 .loc 1 985 11 is_stmt 1 view .LVU451
985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1488 .loc 1 985 15 is_stmt 0 view .LVU452
1489 01d2 E36D ldr r3, [r4, #92]
985:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)2UL;
1490 .loc 1 985 28 view .LVU453
1491 01d4 0233 adds r3, r3, #2
1492 01d6 E365 str r3, [r4, #92]
986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1493 .loc 1 986 11 is_stmt 1 view .LVU454
986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1494 .loc 1 986 15 is_stmt 0 view .LVU455
1495 01d8 B4F86230 ldrh r3, [r4, #98]
1496 01dc 9BB2 uxth r3, r3
986:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1497 .loc 1 986 29 view .LVU456
1498 01de 023B subs r3, r3, #2
1499 01e0 9BB2 uxth r3, r3
1500 01e2 A4F86230 strh r3, [r4, #98] @ movhi
1501 01e6 0DE0 b .L84
1502 .L94:
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 102
1503 .loc 1 990 11 is_stmt 1 view .LVU457
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1504 .loc 1 990 77 is_stmt 0 view .LVU458
1505 01e8 E36D ldr r3, [r4, #92]
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1506 .loc 1 990 54 view .LVU459
1507 01ea 1B78 ldrb r3, [r3] @ zero_extendqisi2
990:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
1508 .loc 1 990 52 view .LVU460
1509 01ec 82F82030 strb r3, [r2, #32]
991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1510 .loc 1 991 11 is_stmt 1 view .LVU461
991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1511 .loc 1 991 15 is_stmt 0 view .LVU462
1512 01f0 E36D ldr r3, [r4, #92]
991:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
1513 .loc 1 991 28 view .LVU463
1514 01f2 0133 adds r3, r3, #1
1515 01f4 E365 str r3, [r4, #92]
992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1516 .loc 1 992 11 is_stmt 1 view .LVU464
992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1517 .loc 1 992 15 is_stmt 0 view .LVU465
1518 01f6 B4F86230 ldrh r3, [r4, #98]
1519 01fa 9BB2 uxth r3, r3
992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1520 .loc 1 992 28 view .LVU466
1521 01fc 013B subs r3, r3, #1
1522 01fe 9BB2 uxth r3, r3
1523 0200 A4F86230 strh r3, [r4, #98] @ movhi
1524 .L84:
967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1525 .loc 1 967 30 is_stmt 1 view .LVU467
967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1526 .loc 1 967 16 is_stmt 0 view .LVU468
1527 0204 B4F86230 ldrh r3, [r4, #98]
1528 0208 9BB2 uxth r3, r3
967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1529 .loc 1 967 30 view .LVU469
1530 020a 002B cmp r3, #0
1531 020c 35D0 beq .L82
970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1532 .loc 1 970 7 is_stmt 1 view .LVU470
970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1533 .loc 1 970 11 is_stmt 0 view .LVU471
1534 020e 2268 ldr r2, [r4]
1535 0210 5369 ldr r3, [r2, #20]
970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1536 .loc 1 970 10 view .LVU472
1537 0212 13F0020F tst r3, #2
1538 0216 15D0 beq .L91
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1539 .loc 1 972 9 is_stmt 1 view .LVU473
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1540 .loc 1 972 18 is_stmt 0 view .LVU474
1541 0218 B4F86230 ldrh r3, [r4, #98]
1542 021c 9BB2 uxth r3, r3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 103
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1543 .loc 1 972 12 view .LVU475
1544 021e 032B cmp r3, #3
1545 0220 CCD9 bls .L92
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1546 .loc 1 972 53 discriminator 1 view .LVU476
1547 0222 E36B ldr r3, [r4, #60]
972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1548 .loc 1 972 39 discriminator 1 view .LVU477
1549 0224 402B cmp r3, #64
1550 0226 C9D9 bls .L92
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1551 .loc 1 974 11 is_stmt 1 view .LVU478
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1552 .loc 1 974 79 is_stmt 0 view .LVU479
1553 0228 E36D ldr r3, [r4, #92]
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1554 .loc 1 974 55 view .LVU480
1555 022a 1B68 ldr r3, [r3]
974:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
1556 .loc 1 974 53 view .LVU481
1557 022c 1362 str r3, [r2, #32]
975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)4UL;
1558 .loc 1 975 11 is_stmt 1 view .LVU482
975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)4UL;
1559 .loc 1 975 15 is_stmt 0 view .LVU483
1560 022e E36D ldr r3, [r4, #92]
975:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount -= (uint16_t)4UL;
1561 .loc 1 975 28 view .LVU484
1562 0230 0433 adds r3, r3, #4
1563 0232 E365 str r3, [r4, #92]
976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1564 .loc 1 976 11 is_stmt 1 view .LVU485
976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1565 .loc 1 976 15 is_stmt 0 view .LVU486
1566 0234 B4F86230 ldrh r3, [r4, #98]
1567 0238 9BB2 uxth r3, r3
976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1568 .loc 1 976 29 view .LVU487
1569 023a 043B subs r3, r3, #4
1570 023c 9BB2 uxth r3, r3
1571 023e A4F86230 strh r3, [r4, #98] @ movhi
1572 0242 DFE7 b .L84
1573 .L91:
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1574 .loc 1 998 9 is_stmt 1 view .LVU488
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1575 .loc 1 998 16 is_stmt 0 view .LVU489
1576 0244 FFF7FEFF bl HAL_GetTick
1577 .LVL58:
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1578 .loc 1 998 30 discriminator 1 view .LVU490
1579 0248 801B subs r0, r0, r6
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1580 .loc 1 998 12 discriminator 1 view .LVU491
1581 024a A842 cmp r0, r5
1582 024c 02D3 bcc .L95
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 104
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1583 .loc 1 998 56 discriminator 1 view .LVU492
1584 024e B5F1FF3F cmp r5, #-1
1585 0252 01D1 bne .L96
1586 .L95:
998:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1587 .loc 1 998 87 discriminator 3 view .LVU493
1588 0254 002D cmp r5, #0
1589 0256 D5D1 bne .L84
1590 .L96:
1001:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1591 .loc 1 1001 11 is_stmt 1 view .LVU494
1592 0258 2046 mov r0, r4
1593 025a FFF7FEFF bl SPI_CloseTransfer
1594 .LVL59:
1003:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1595 .loc 1 1003 11 view .LVU495
1596 025e D4F88430 ldr r3, [r4, #132]
1597 0262 43F48073 orr r3, r3, #256
1598 0266 C4F88430 str r3, [r4, #132]
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1599 .loc 1 1004 11 view .LVU496
1004:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1600 .loc 1 1004 23 is_stmt 0 view .LVU497
1601 026a 0123 movs r3, #1
1602 026c 84F88130 strb r3, [r4, #129]
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1603 .loc 1 1007 11 is_stmt 1 view .LVU498
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1604 .loc 1 1007 11 view .LVU499
1605 0270 0023 movs r3, #0
1606 0272 84F88030 strb r3, [r4, #128]
1007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1607 .loc 1 1007 11 view .LVU500
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1608 .loc 1 1009 11 view .LVU501
1009:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1609 .loc 1 1009 18 is_stmt 0 view .LVU502
1610 0276 0327 movs r7, #3
1611 0278 1CE0 b .L71
1612 .L82:
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1613 .loc 1 1016 3 is_stmt 1 view .LVU503
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1614 .loc 1 1016 7 is_stmt 0 view .LVU504
1615 027a 0096 str r6, [sp]
1616 027c 2B46 mov r3, r5
1617 027e 0022 movs r2, #0
1618 0280 0821 movs r1, #8
1619 0282 2046 mov r0, r4
1620 0284 FFF7FEFF bl SPI_WaitOnFlagUntilTimeout
1621 .LVL60:
1016:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1622 .loc 1 1016 6 discriminator 1 view .LVU505
1623 0288 28B1 cbz r0, .L98
1018:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1624 .loc 1 1018 5 is_stmt 1 view .LVU506
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 105
1625 028a D4F88430 ldr r3, [r4, #132]
1626 028e 43F02003 orr r3, r3, #32
1627 0292 C4F88430 str r3, [r4, #132]
1628 .L98:
1022:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1629 .loc 1 1022 3 view .LVU507
1630 0296 2046 mov r0, r4
1631 0298 FFF7FEFF bl SPI_CloseTransfer
1632 .LVL61:
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1633 .loc 1 1024 3 view .LVU508
1024:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1634 .loc 1 1024 15 is_stmt 0 view .LVU509
1635 029c 0123 movs r3, #1
1636 029e 84F88130 strb r3, [r4, #129]
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1637 .loc 1 1027 3 is_stmt 1 view .LVU510
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1638 .loc 1 1027 3 view .LVU511
1639 02a2 0023 movs r3, #0
1640 02a4 84F88030 strb r3, [r4, #128]
1027:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1641 .loc 1 1027 3 view .LVU512
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1642 .loc 1 1029 3 view .LVU513
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1643 .loc 1 1029 11 is_stmt 0 view .LVU514
1644 02a8 D4F88430 ldr r3, [r4, #132]
1029:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1645 .loc 1 1029 6 view .LVU515
1646 02ac 13B9 cbnz r3, .L71
1035:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1647 .loc 1 1035 12 view .LVU516
1648 02ae 0027 movs r7, #0
1649 02b0 00E0 b .L71
1650 .LVL62:
1651 .L99:
840:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1652 .loc 1 840 12 view .LVU517
1653 02b2 0227 movs r7, #2
1654 .LVL63:
1655 .L71:
1037:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1656 .loc 1 1037 1 view .LVU518
1657 02b4 3846 mov r0, r7
1658 02b6 02B0 add sp, sp, #8
1659 .cfi_remember_state
1660 .cfi_def_cfa_offset 32
1661 @ sp needed
1662 02b8 BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc}
1663 .LVL64:
1664 .L100:
1665 .cfi_restore_state
849:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1666 .loc 1 849 3 discriminator 1 view .LVU519
1667 02bc 0227 movs r7, #2
1668 02be F9E7 b .L71
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 106
1669 .cfi_endproc
1670 .LFE339:
1672 .section .text.HAL_SPI_Receive,"ax",%progbits
1673 .align 1
1674 .global HAL_SPI_Receive
1675 .syntax unified
1676 .thumb
1677 .thumb_func
1679 HAL_SPI_Receive:
1680 .LVL65:
1681 .LFB340:
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tickstart;
1682 .loc 1 1049 1 is_stmt 1 view -0
1683 .cfi_startproc
1684 @ args = 0, pretend = 0, frame = 0
1685 @ frame_needed = 0, uses_anonymous_args = 0
1049:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tickstart;
1686 .loc 1 1049 1 is_stmt 0 view .LVU521
1687 0000 2DE9F84F push {r3, r4, r5, r6, r7, r8, r9, r10, fp, lr}
1688 .cfi_def_cfa_offset 40
1689 .cfi_offset 3, -40
1690 .cfi_offset 4, -36
1691 .cfi_offset 5, -32
1692 .cfi_offset 6, -28
1693 .cfi_offset 7, -24
1694 .cfi_offset 8, -20
1695 .cfi_offset 9, -16
1696 .cfi_offset 10, -12
1697 .cfi_offset 11, -8
1698 .cfi_offset 14, -4
1699 0004 0446 mov r4, r0
1700 0006 8B46 mov fp, r1
1701 0008 9246 mov r10, r2
1702 000a 1E46 mov r6, r3
1050:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t temp_sr_reg;
1703 .loc 1 1050 3 is_stmt 1 view .LVU522
1051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t init_max_data_in_fifo;
1704 .loc 1 1051 3 view .LVU523
1052:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** init_max_data_in_fifo = (((uint16_t)(hspi->Init.FifoThreshold >> 5U) + 1U));
1705 .loc 1 1052 3 view .LVU524
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1706 .loc 1 1053 3 view .LVU525
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1707 .loc 1 1053 50 is_stmt 0 view .LVU526
1708 000c C56B ldr r5, [r0, #60]
1053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1709 .loc 1 1053 29 view .LVU527
1710 000e C5F34F15 ubfx r5, r5, #5, #16
1711 .LVL66:
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1712 .loc 1 1055 3 is_stmt 1 view .LVU528
1055:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
1713 .loc 1 1055 57 is_stmt 0 view .LVU529
1714 0012 D0F80090 ldr r9, [r0]
1715 .LVL67:
1059:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1716 .loc 1 1059 3 is_stmt 1 view .LVU530
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 107
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1717 .loc 1 1062 3 view .LVU531
1062:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1718 .loc 1 1062 15 is_stmt 0 view .LVU532
1719 0016 FFF7FEFF bl HAL_GetTick
1720 .LVL68:
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1721 .loc 1 1064 3 is_stmt 1 view .LVU533
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1722 .loc 1 1064 11 is_stmt 0 view .LVU534
1723 001a 94F88130 ldrb r3, [r4, #129] @ zero_extendqisi2
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1724 .loc 1 1064 6 view .LVU535
1725 001e 012B cmp r3, #1
1726 0020 40F09081 bne .L137
1727 0024 0135 adds r5, r5, #1
1728 .LVL69:
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1729 .loc 1 1064 6 view .LVU536
1730 0026 ADB2 uxth r5, r5
1731 .LVL70:
1064:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1732 .loc 1 1064 6 view .LVU537
1733 0028 0746 mov r7, r0
1734 002a 5FFA83F8 uxtb r8, r3
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1735 .loc 1 1069 3 is_stmt 1 view .LVU538
1069:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1736 .loc 1 1069 6 is_stmt 0 view .LVU539
1737 002e BAF1000F cmp r10, #0
1738 0032 18BF it ne
1739 0034 BBF1000F cmpne fp, #0
1740 0038 00F08681 beq .L108
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1741 .loc 1 1075 3 is_stmt 1 view .LVU540
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1742 .loc 1 1075 3 view .LVU541
1743 003c 94F88030 ldrb r3, [r4, #128] @ zero_extendqisi2
1744 0040 012B cmp r3, #1
1745 0042 00F08481 beq .L138
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1746 .loc 1 1075 3 discriminator 2 view .LVU542
1747 0046 0123 movs r3, #1
1748 0048 84F88030 strb r3, [r4, #128]
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1749 .loc 1 1075 3 view .LVU543
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1750 .loc 1 1078 3 view .LVU544
1078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
1751 .loc 1 1078 21 is_stmt 0 view .LVU545
1752 004c 0423 movs r3, #4
1753 004e 84F88130 strb r3, [r4, #129]
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1754 .loc 1 1079 3 is_stmt 1 view .LVU546
1079:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
1755 .loc 1 1079 21 is_stmt 0 view .LVU547
1756 0052 0023 movs r3, #0
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 108
1757 0054 C4F88430 str r3, [r4, #132]
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1758 .loc 1 1080 3 is_stmt 1 view .LVU548
1080:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
1759 .loc 1 1080 21 is_stmt 0 view .LVU549
1760 0058 C4F864B0 str fp, [r4, #100]
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1761 .loc 1 1081 3 is_stmt 1 view .LVU550
1081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
1762 .loc 1 1081 21 is_stmt 0 view .LVU551
1763 005c A4F868A0 strh r10, [r4, #104] @ movhi
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1764 .loc 1 1082 3 is_stmt 1 view .LVU552
1082:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1765 .loc 1 1082 21 is_stmt 0 view .LVU553
1766 0060 A4F86AA0 strh r10, [r4, #106] @ movhi
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
1767 .loc 1 1085 3 is_stmt 1 view .LVU554
1085:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
1768 .loc 1 1085 21 is_stmt 0 view .LVU555
1769 0064 E365 str r3, [r4, #92]
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
1770 .loc 1 1086 3 is_stmt 1 view .LVU556
1086:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
1771 .loc 1 1086 21 is_stmt 0 view .LVU557
1772 0066 A4F86030 strh r3, [r4, #96] @ movhi
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1773 .loc 1 1087 3 is_stmt 1 view .LVU558
1087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
1774 .loc 1 1087 21 is_stmt 0 view .LVU559
1775 006a A4F86230 strh r3, [r4, #98] @ movhi
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1776 .loc 1 1088 3 is_stmt 1 view .LVU560
1088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
1777 .loc 1 1088 21 is_stmt 0 view .LVU561
1778 006e 2367 str r3, [r4, #112]
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1779 .loc 1 1089 3 is_stmt 1 view .LVU562
1089:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1780 .loc 1 1089 21 is_stmt 0 view .LVU563
1781 0070 6367 str r3, [r4, #116]
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1782 .loc 1 1092 3 is_stmt 1 view .LVU564
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1783 .loc 1 1092 17 is_stmt 0 view .LVU565
1784 0072 A368 ldr r3, [r4, #8]
1092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1785 .loc 1 1092 6 view .LVU566
1786 0074 B3F5C02F cmp r3, #393216
1787 0078 1DD0 beq .L142
1098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1788 .loc 1 1098 5 is_stmt 1 view .LVU567
1789 007a 2268 ldr r2, [r4]
1790 007c D368 ldr r3, [r2, #12]
1791 007e 23F4C023 bic r3, r3, #393216
1792 0082 43F48023 orr r3, r3, #262144
1793 0086 D360 str r3, [r2, #12]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 109
1794 .L110:
1102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1795 .loc 1 1102 3 view .LVU568
1796 0088 2268 ldr r2, [r4]
1797 008a 5368 ldr r3, [r2, #4]
1798 008c 6FF30F03 bfc r3, #0, #16
1799 0090 4AEA0303 orr r3, r10, r3
1800 0094 5360 str r3, [r2, #4]
1105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1801 .loc 1 1105 3 view .LVU569
1802 0096 2268 ldr r2, [r4]
1803 0098 1368 ldr r3, [r2]
1804 009a 43F00103 orr r3, r3, #1
1805 009e 1360 str r3, [r2]
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1806 .loc 1 1107 3 view .LVU570
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1807 .loc 1 1107 17 is_stmt 0 view .LVU571
1808 00a0 6368 ldr r3, [r4, #4]
1107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1809 .loc 1 1107 6 view .LVU572
1810 00a2 B3F5800F cmp r3, #4194304
1811 00a6 0CD0 beq .L143
1812 .L111:
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1813 .loc 1 1114 3 is_stmt 1 view .LVU573
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1814 .loc 1 1114 17 is_stmt 0 view .LVU574
1815 00a8 E368 ldr r3, [r4, #12]
1114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1816 .loc 1 1114 6 view .LVU575
1817 00aa 0F2B cmp r3, #15
1818 00ac 2ED8 bhi .L112
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1819 .loc 1 1156 8 is_stmt 1 view .LVU576
1156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1820 .loc 1 1156 11 is_stmt 0 view .LVU577
1821 00ae 072B cmp r3, #7
1822 00b0 00F29580 bhi .L121
1823 00b4 0CE1 b .L122
1824 .L142:
1094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1825 .loc 1 1094 5 is_stmt 1 view .LVU578
1826 00b6 2268 ldr r2, [r4]
1827 00b8 1368 ldr r3, [r2]
1828 00ba 23F40063 bic r3, r3, #2048
1829 00be 1360 str r3, [r2]
1830 00c0 E2E7 b .L110
1831 .L143:
1110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1832 .loc 1 1110 5 view .LVU579
1833 00c2 2268 ldr r2, [r4]
1834 00c4 1368 ldr r3, [r2]
1835 00c6 43F40073 orr r3, r3, #512
1836 00ca 1360 str r3, [r2]
1837 00cc ECE7 b .L111
1838 .LVL71:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 110
1839 .L114:
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1840 .loc 1 1130 12 view .LVU580
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1841 .loc 1 1130 21 is_stmt 0 view .LVU581
1842 00ce B4F86A20 ldrh r2, [r4, #106]
1843 00d2 92B2 uxth r2, r2
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1844 .loc 1 1130 15 view .LVU582
1845 00d4 AA42 cmp r2, r5
1846 00d6 10D2 bcs .L116
1130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1847 .loc 1 1130 60 discriminator 1 view .LVU583
1848 00d8 11F4004F tst r1, #32768
1849 00dc 0DD0 beq .L116
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1850 .loc 1 1132 9 is_stmt 1 view .LVU584
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1851 .loc 1 1132 27 is_stmt 0 view .LVU585
1852 00de 626E ldr r2, [r4, #100]
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1853 .loc 1 1132 43 view .LVU586
1854 00e0 1B6B ldr r3, [r3, #48]
1132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1855 .loc 1 1132 41 view .LVU587
1856 00e2 1360 str r3, [r2]
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1857 .loc 1 1133 9 is_stmt 1 view .LVU588
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1858 .loc 1 1133 13 is_stmt 0 view .LVU589
1859 00e4 636E ldr r3, [r4, #100]
1133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1860 .loc 1 1133 26 view .LVU590
1861 00e6 0433 adds r3, r3, #4
1862 00e8 6366 str r3, [r4, #100]
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1863 .loc 1 1134 9 is_stmt 1 view .LVU591
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1864 .loc 1 1134 13 is_stmt 0 view .LVU592
1865 00ea B4F86A30 ldrh r3, [r4, #106]
1866 00ee 9BB2 uxth r3, r3
1134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1867 .loc 1 1134 26 view .LVU593
1868 00f0 013B subs r3, r3, #1
1869 00f2 9BB2 uxth r3, r3
1870 00f4 A4F86A30 strh r3, [r4, #106] @ movhi
1871 00f8 08E0 b .L112
1872 .L116:
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1873 .loc 1 1139 9 is_stmt 1 view .LVU594
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1874 .loc 1 1139 16 is_stmt 0 view .LVU595
1875 00fa FFF7FEFF bl HAL_GetTick
1876 .LVL72:
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1877 .loc 1 1139 30 discriminator 1 view .LVU596
1878 00fe C01B subs r0, r0, r7
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 111
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1879 .loc 1 1139 12 discriminator 1 view .LVU597
1880 0100 B042 cmp r0, r6
1881 0102 02D3 bcc .L117
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1882 .loc 1 1139 56 discriminator 1 view .LVU598
1883 0104 B6F1FF3F cmp r6, #-1
1884 0108 1AD1 bne .L118
1885 .L117:
1139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1886 .loc 1 1139 87 discriminator 3 view .LVU599
1887 010a CEB1 cbz r6, .L118
1888 .LVL73:
1889 .L112:
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1890 .loc 1 1117 30 is_stmt 1 view .LVU600
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1891 .loc 1 1117 16 is_stmt 0 view .LVU601
1892 010c B4F86A20 ldrh r2, [r4, #106]
1893 0110 92B2 uxth r2, r2
1117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1894 .loc 1 1117 30 view .LVU602
1895 0112 002A cmp r2, #0
1896 0114 00F00781 beq .L120
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1897 .loc 1 1120 7 is_stmt 1 view .LVU603
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1898 .loc 1 1120 25 is_stmt 0 view .LVU604
1899 0118 2368 ldr r3, [r4]
1120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1900 .loc 1 1120 19 view .LVU605
1901 011a 5969 ldr r1, [r3, #20]
1902 .LVL74:
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1903 .loc 1 1123 7 is_stmt 1 view .LVU606
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1904 .loc 1 1123 11 is_stmt 0 view .LVU607
1905 011c 5A69 ldr r2, [r3, #20]
1123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1906 .loc 1 1123 10 view .LVU608
1907 011e 12F0010F tst r2, #1
1908 0122 D4D0 beq .L114
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1909 .loc 1 1125 9 is_stmt 1 view .LVU609
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1910 .loc 1 1125 27 is_stmt 0 view .LVU610
1911 0124 626E ldr r2, [r4, #100]
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1912 .loc 1 1125 43 view .LVU611
1913 0126 1B6B ldr r3, [r3, #48]
1125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
1914 .loc 1 1125 41 view .LVU612
1915 0128 1360 str r3, [r2]
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1916 .loc 1 1126 9 is_stmt 1 view .LVU613
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1917 .loc 1 1126 13 is_stmt 0 view .LVU614
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 112
1918 012a 636E ldr r3, [r4, #100]
1126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
1919 .loc 1 1126 26 view .LVU615
1920 012c 0433 adds r3, r3, #4
1921 012e 6366 str r3, [r4, #100]
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1922 .loc 1 1127 9 is_stmt 1 view .LVU616
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1923 .loc 1 1127 13 is_stmt 0 view .LVU617
1924 0130 B4F86A20 ldrh r2, [r4, #106]
1925 0134 92B2 uxth r2, r2
1127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1926 .loc 1 1127 26 view .LVU618
1927 0136 013A subs r2, r2, #1
1928 0138 92B2 uxth r2, r2
1929 013a A4F86A20 strh r2, [r4, #106] @ movhi
1930 013e E5E7 b .L112
1931 .LVL75:
1932 .L118:
1142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1933 .loc 1 1142 11 is_stmt 1 view .LVU619
1934 0140 2046 mov r0, r4
1935 0142 FFF7FEFF bl SPI_CloseTransfer
1936 .LVL76:
1144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
1937 .loc 1 1144 11 view .LVU620
1938 0146 D4F88430 ldr r3, [r4, #132]
1939 014a 43F48073 orr r3, r3, #256
1940 014e C4F88430 str r3, [r4, #132]
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1941 .loc 1 1145 11 view .LVU621
1145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1942 .loc 1 1145 23 is_stmt 0 view .LVU622
1943 0152 0123 movs r3, #1
1944 0154 84F88130 strb r3, [r4, #129]
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1945 .loc 1 1148 11 is_stmt 1 view .LVU623
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1946 .loc 1 1148 11 view .LVU624
1947 0158 0023 movs r3, #0
1948 015a 84F88030 strb r3, [r4, #128]
1148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
1949 .loc 1 1148 11 view .LVU625
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1950 .loc 1 1150 11 view .LVU626
1150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1951 .loc 1 1150 18 is_stmt 0 view .LVU627
1952 015e 4FF00308 mov r8, #3
1953 0162 F1E0 b .L108
1954 .LVL77:
1955 .L123:
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1956 .loc 1 1176 12 is_stmt 1 view .LVU628
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1957 .loc 1 1176 21 is_stmt 0 view .LVU629
1958 0164 B4F86A30 ldrh r3, [r4, #106]
1959 0168 9BB2 uxth r3, r3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 113
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1960 .loc 1 1176 15 view .LVU630
1961 016a AB42 cmp r3, r5
1962 016c 17D2 bcs .L125
1176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
1963 .loc 1 1176 60 discriminator 1 view .LVU631
1964 016e 12F4004F tst r2, #32768
1965 0172 14D0 beq .L125
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1966 .loc 1 1179 9 is_stmt 1 view .LVU632
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1967 .loc 1 1179 27 is_stmt 0 view .LVU633
1968 0174 636E ldr r3, [r4, #100]
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1969 .loc 1 1179 43 view .LVU634
1970 0176 B9F83020 ldrh r2, [r9, #48]
1971 .LVL78:
1179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1972 .loc 1 1179 41 view .LVU635
1973 017a 1A80 strh r2, [r3] @ movhi
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1974 .loc 1 1183 9 is_stmt 1 view .LVU636
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1975 .loc 1 1183 13 is_stmt 0 view .LVU637
1976 017c 636E ldr r3, [r4, #100]
1183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
1977 .loc 1 1183 26 view .LVU638
1978 017e 9A1C adds r2, r3, #2
1979 0180 6266 str r2, [r4, #100]
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1980 .loc 1 1185 9 is_stmt 1 view .LVU639
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1981 .loc 1 1185 43 is_stmt 0 view .LVU640
1982 0182 B9F83020 ldrh r2, [r9, #48]
1185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
1983 .loc 1 1185 41 view .LVU641
1984 0186 5A80 strh r2, [r3, #2] @ movhi
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
1985 .loc 1 1189 9 is_stmt 1 view .LVU642
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
1986 .loc 1 1189 13 is_stmt 0 view .LVU643
1987 0188 636E ldr r3, [r4, #100]
1189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
1988 .loc 1 1189 26 view .LVU644
1989 018a 0233 adds r3, r3, #2
1990 018c 6366 str r3, [r4, #100]
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1991 .loc 1 1190 9 is_stmt 1 view .LVU645
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1992 .loc 1 1190 13 is_stmt 0 view .LVU646
1993 018e B4F86A30 ldrh r3, [r4, #106]
1994 0192 9BB2 uxth r3, r3
1190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
1995 .loc 1 1190 27 view .LVU647
1996 0194 023B subs r3, r3, #2
1997 0196 9BB2 uxth r3, r3
1998 0198 A4F86A30 strh r3, [r4, #106] @ movhi
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 114
1999 019c 1FE0 b .L121
2000 .LVL79:
2001 .L125:
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2002 .loc 1 1193 12 is_stmt 1 view .LVU648
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2003 .loc 1 1193 21 is_stmt 0 view .LVU649
2004 019e B4F86A30 ldrh r3, [r4, #106]
2005 01a2 9BB2 uxth r3, r3
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2006 .loc 1 1193 15 view .LVU650
2007 01a4 012B cmp r3, #1
2008 01a6 11D1 bne .L126
1193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2009 .loc 1 1193 43 discriminator 1 view .LVU651
2010 01a8 12F4005F tst r2, #8192
2011 01ac 0ED0 beq .L126
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2012 .loc 1 1196 9 is_stmt 1 view .LVU652
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2013 .loc 1 1196 27 is_stmt 0 view .LVU653
2014 01ae 636E ldr r3, [r4, #100]
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2015 .loc 1 1196 43 view .LVU654
2016 01b0 B9F83020 ldrh r2, [r9, #48]
2017 .LVL80:
1196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2018 .loc 1 1196 41 view .LVU655
2019 01b4 1A80 strh r2, [r3] @ movhi
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2020 .loc 1 1200 9 is_stmt 1 view .LVU656
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2021 .loc 1 1200 13 is_stmt 0 view .LVU657
2022 01b6 636E ldr r3, [r4, #100]
1200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2023 .loc 1 1200 26 view .LVU658
2024 01b8 0233 adds r3, r3, #2
2025 01ba 6366 str r3, [r4, #100]
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2026 .loc 1 1201 9 is_stmt 1 view .LVU659
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2027 .loc 1 1201 13 is_stmt 0 view .LVU660
2028 01bc B4F86A30 ldrh r3, [r4, #106]
2029 01c0 9BB2 uxth r3, r3
1201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2030 .loc 1 1201 26 view .LVU661
2031 01c2 013B subs r3, r3, #1
2032 01c4 9BB2 uxth r3, r3
2033 01c6 A4F86A30 strh r3, [r4, #106] @ movhi
2034 01ca 08E0 b .L121
2035 .LVL81:
2036 .L126:
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2037 .loc 1 1206 9 is_stmt 1 view .LVU662
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2038 .loc 1 1206 16 is_stmt 0 view .LVU663
2039 01cc FFF7FEFF bl HAL_GetTick
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 115
2040 .LVL82:
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2041 .loc 1 1206 30 discriminator 1 view .LVU664
2042 01d0 C01B subs r0, r0, r7
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2043 .loc 1 1206 12 discriminator 1 view .LVU665
2044 01d2 B042 cmp r0, r6
2045 01d4 02D3 bcc .L127
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2046 .loc 1 1206 56 discriminator 1 view .LVU666
2047 01d6 B6F1FF3F cmp r6, #-1
2048 01da 1BD1 bne .L128
2049 .L127:
1206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2050 .loc 1 1206 87 discriminator 3 view .LVU667
2051 01dc D6B1 cbz r6, .L128
2052 .LVL83:
2053 .L121:
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2054 .loc 1 1159 30 is_stmt 1 view .LVU668
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2055 .loc 1 1159 16 is_stmt 0 view .LVU669
2056 01de B4F86A30 ldrh r3, [r4, #106]
2057 01e2 9BB2 uxth r3, r3
1159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2058 .loc 1 1159 30 view .LVU670
2059 01e4 002B cmp r3, #0
2060 01e6 00F09E80 beq .L120
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2061 .loc 1 1162 7 is_stmt 1 view .LVU671
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2062 .loc 1 1162 25 is_stmt 0 view .LVU672
2063 01ea 2368 ldr r3, [r4]
1162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2064 .loc 1 1162 19 view .LVU673
2065 01ec 5A69 ldr r2, [r3, #20]
2066 .LVL84:
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2067 .loc 1 1165 7 is_stmt 1 view .LVU674
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2068 .loc 1 1165 11 is_stmt 0 view .LVU675
2069 01ee 5B69 ldr r3, [r3, #20]
1165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2070 .loc 1 1165 10 view .LVU676
2071 01f0 13F0010F tst r3, #1
2072 01f4 B6D0 beq .L123
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2073 .loc 1 1168 9 is_stmt 1 view .LVU677
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2074 .loc 1 1168 27 is_stmt 0 view .LVU678
2075 01f6 636E ldr r3, [r4, #100]
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2076 .loc 1 1168 43 view .LVU679
2077 01f8 B9F83020 ldrh r2, [r9, #48]
2078 .LVL85:
1168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2079 .loc 1 1168 41 view .LVU680
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 116
2080 01fc 1A80 strh r2, [r3] @ movhi
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2081 .loc 1 1172 9 is_stmt 1 view .LVU681
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2082 .loc 1 1172 13 is_stmt 0 view .LVU682
2083 01fe 636E ldr r3, [r4, #100]
1172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2084 .loc 1 1172 26 view .LVU683
2085 0200 0233 adds r3, r3, #2
2086 0202 6366 str r3, [r4, #100]
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2087 .loc 1 1173 9 is_stmt 1 view .LVU684
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2088 .loc 1 1173 13 is_stmt 0 view .LVU685
2089 0204 B4F86A30 ldrh r3, [r4, #106]
2090 0208 9BB2 uxth r3, r3
1173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2091 .loc 1 1173 26 view .LVU686
2092 020a 013B subs r3, r3, #1
2093 020c 9BB2 uxth r3, r3
2094 020e A4F86A30 strh r3, [r4, #106] @ movhi
2095 0212 E4E7 b .L121
2096 .L128:
1209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2097 .loc 1 1209 11 is_stmt 1 view .LVU687
2098 0214 2046 mov r0, r4
2099 0216 FFF7FEFF bl SPI_CloseTransfer
2100 .LVL86:
1211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2101 .loc 1 1211 11 view .LVU688
2102 021a D4F88430 ldr r3, [r4, #132]
2103 021e 43F48073 orr r3, r3, #256
2104 0222 C4F88430 str r3, [r4, #132]
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2105 .loc 1 1212 11 view .LVU689
1212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2106 .loc 1 1212 23 is_stmt 0 view .LVU690
2107 0226 0123 movs r3, #1
2108 0228 84F88130 strb r3, [r4, #129]
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2109 .loc 1 1215 11 is_stmt 1 view .LVU691
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2110 .loc 1 1215 11 view .LVU692
2111 022c 0023 movs r3, #0
2112 022e 84F88030 strb r3, [r4, #128]
1215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2113 .loc 1 1215 11 view .LVU693
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2114 .loc 1 1217 11 view .LVU694
1217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2115 .loc 1 1217 18 is_stmt 0 view .LVU695
2116 0232 4FF00308 mov r8, #3
2117 0236 87E0 b .L108
2118 .LVL87:
2119 .L130:
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2120 .loc 1 1239 12 is_stmt 1 view .LVU696
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 117
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2121 .loc 1 1239 21 is_stmt 0 view .LVU697
2122 0238 B4F86A20 ldrh r2, [r4, #106]
2123 023c 92B2 uxth r2, r2
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2124 .loc 1 1239 15 view .LVU698
2125 023e AA42 cmp r2, r5
2126 0240 26D2 bcs .L132
1239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2127 .loc 1 1239 60 discriminator 1 view .LVU699
2128 0242 11F4004F tst r1, #32768
2129 0246 23D0 beq .L132
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2130 .loc 1 1241 9 is_stmt 1 view .LVU700
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2131 .loc 1 1241 26 is_stmt 0 view .LVU701
2132 0248 626E ldr r2, [r4, #100]
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2133 .loc 1 1241 42 view .LVU702
2134 024a 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2135 .loc 1 1241 40 view .LVU703
2136 024e 1370 strb r3, [r2]
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2137 .loc 1 1242 9 is_stmt 1 view .LVU704
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2138 .loc 1 1242 13 is_stmt 0 view .LVU705
2139 0250 636E ldr r3, [r4, #100]
1242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2140 .loc 1 1242 26 view .LVU706
2141 0252 5A1C adds r2, r3, #1
2142 0254 6266 str r2, [r4, #100]
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2143 .loc 1 1243 9 is_stmt 1 view .LVU707
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2144 .loc 1 1243 65 is_stmt 0 view .LVU708
2145 0256 2268 ldr r2, [r4]
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2146 .loc 1 1243 42 view .LVU709
2147 0258 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2148 .loc 1 1243 40 view .LVU710
2149 025c 5A70 strb r2, [r3, #1]
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2150 .loc 1 1244 9 is_stmt 1 view .LVU711
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2151 .loc 1 1244 13 is_stmt 0 view .LVU712
2152 025e 636E ldr r3, [r4, #100]
1244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2153 .loc 1 1244 26 view .LVU713
2154 0260 5A1C adds r2, r3, #1
2155 0262 6266 str r2, [r4, #100]
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2156 .loc 1 1245 9 is_stmt 1 view .LVU714
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2157 .loc 1 1245 65 is_stmt 0 view .LVU715
2158 0264 2268 ldr r2, [r4]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 118
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2159 .loc 1 1245 42 view .LVU716
2160 0266 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2161 .loc 1 1245 40 view .LVU717
2162 026a 5A70 strb r2, [r3, #1]
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2163 .loc 1 1246 9 is_stmt 1 view .LVU718
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2164 .loc 1 1246 13 is_stmt 0 view .LVU719
2165 026c 636E ldr r3, [r4, #100]
1246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
2166 .loc 1 1246 26 view .LVU720
2167 026e 5A1C adds r2, r3, #1
2168 0270 6266 str r2, [r4, #100]
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2169 .loc 1 1247 9 is_stmt 1 view .LVU721
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2170 .loc 1 1247 65 is_stmt 0 view .LVU722
2171 0272 2268 ldr r2, [r4]
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2172 .loc 1 1247 42 view .LVU723
2173 0274 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2174 .loc 1 1247 40 view .LVU724
2175 0278 5A70 strb r2, [r3, #1]
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
2176 .loc 1 1248 9 is_stmt 1 view .LVU725
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
2177 .loc 1 1248 13 is_stmt 0 view .LVU726
2178 027a 636E ldr r3, [r4, #100]
1248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
2179 .loc 1 1248 26 view .LVU727
2180 027c 0133 adds r3, r3, #1
2181 027e 6366 str r3, [r4, #100]
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2182 .loc 1 1249 9 is_stmt 1 view .LVU728
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2183 .loc 1 1249 13 is_stmt 0 view .LVU729
2184 0280 B4F86A30 ldrh r3, [r4, #106]
2185 0284 9BB2 uxth r3, r3
1249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2186 .loc 1 1249 27 view .LVU730
2187 0286 043B subs r3, r3, #4
2188 0288 9BB2 uxth r3, r3
2189 028a A4F86A30 strh r3, [r4, #106] @ movhi
2190 028e 1FE0 b .L122
2191 .L132:
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2192 .loc 1 1252 12 is_stmt 1 view .LVU731
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2193 .loc 1 1252 21 is_stmt 0 view .LVU732
2194 0290 B4F86A20 ldrh r2, [r4, #106]
2195 0294 92B2 uxth r2, r2
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2196 .loc 1 1252 15 view .LVU733
2197 0296 032A cmp r2, #3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 119
2198 0298 11D8 bhi .L133
1252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2199 .loc 1 1252 42 discriminator 1 view .LVU734
2200 029a 11F4C04F tst r1, #24576
2201 029e 0ED0 beq .L133
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2202 .loc 1 1254 9 is_stmt 1 view .LVU735
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2203 .loc 1 1254 26 is_stmt 0 view .LVU736
2204 02a0 626E ldr r2, [r4, #100]
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2205 .loc 1 1254 42 view .LVU737
2206 02a2 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2207 .loc 1 1254 40 view .LVU738
2208 02a6 1370 strb r3, [r2]
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2209 .loc 1 1255 9 is_stmt 1 view .LVU739
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2210 .loc 1 1255 13 is_stmt 0 view .LVU740
2211 02a8 636E ldr r3, [r4, #100]
1255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2212 .loc 1 1255 26 view .LVU741
2213 02aa 0133 adds r3, r3, #1
2214 02ac 6366 str r3, [r4, #100]
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2215 .loc 1 1256 9 is_stmt 1 view .LVU742
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2216 .loc 1 1256 13 is_stmt 0 view .LVU743
2217 02ae B4F86A30 ldrh r3, [r4, #106]
2218 02b2 9BB2 uxth r3, r3
1256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2219 .loc 1 1256 26 view .LVU744
2220 02b4 013B subs r3, r3, #1
2221 02b6 9BB2 uxth r3, r3
2222 02b8 A4F86A30 strh r3, [r4, #106] @ movhi
2223 02bc 08E0 b .L122
2224 .L133:
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2225 .loc 1 1261 9 is_stmt 1 view .LVU745
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2226 .loc 1 1261 16 is_stmt 0 view .LVU746
2227 02be FFF7FEFF bl HAL_GetTick
2228 .LVL88:
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2229 .loc 1 1261 30 discriminator 1 view .LVU747
2230 02c2 C01B subs r0, r0, r7
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2231 .loc 1 1261 12 discriminator 1 view .LVU748
2232 02c4 B042 cmp r0, r6
2233 02c6 02D3 bcc .L134
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2234 .loc 1 1261 56 discriminator 1 view .LVU749
2235 02c8 B6F1FF3F cmp r6, #-1
2236 02cc 19D1 bne .L135
2237 .L134:
1261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 120
2238 .loc 1 1261 87 discriminator 3 view .LVU750
2239 02ce C6B1 cbz r6, .L135
2240 .LVL89:
2241 .L122:
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2242 .loc 1 1226 30 is_stmt 1 view .LVU751
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2243 .loc 1 1226 16 is_stmt 0 view .LVU752
2244 02d0 B4F86A30 ldrh r3, [r4, #106]
2245 02d4 9BB2 uxth r3, r3
1226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2246 .loc 1 1226 30 view .LVU753
2247 02d6 33B3 cbz r3, .L120
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2248 .loc 1 1229 7 is_stmt 1 view .LVU754
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2249 .loc 1 1229 25 is_stmt 0 view .LVU755
2250 02d8 2368 ldr r3, [r4]
1229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2251 .loc 1 1229 19 view .LVU756
2252 02da 5969 ldr r1, [r3, #20]
2253 .LVL90:
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2254 .loc 1 1232 7 is_stmt 1 view .LVU757
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2255 .loc 1 1232 11 is_stmt 0 view .LVU758
2256 02dc 5A69 ldr r2, [r3, #20]
1232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2257 .loc 1 1232 10 view .LVU759
2258 02de 12F0010F tst r2, #1
2259 02e2 A9D0 beq .L130
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2260 .loc 1 1234 9 is_stmt 1 view .LVU760
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2261 .loc 1 1234 26 is_stmt 0 view .LVU761
2262 02e4 626E ldr r2, [r4, #100]
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2263 .loc 1 1234 42 view .LVU762
2264 02e6 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2265 .loc 1 1234 40 view .LVU763
2266 02ea 1370 strb r3, [r2]
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2267 .loc 1 1235 9 is_stmt 1 view .LVU764
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2268 .loc 1 1235 13 is_stmt 0 view .LVU765
2269 02ec 636E ldr r3, [r4, #100]
1235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2270 .loc 1 1235 26 view .LVU766
2271 02ee 0133 adds r3, r3, #1
2272 02f0 6366 str r3, [r4, #100]
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2273 .loc 1 1236 9 is_stmt 1 view .LVU767
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2274 .loc 1 1236 13 is_stmt 0 view .LVU768
2275 02f2 B4F86A30 ldrh r3, [r4, #106]
2276 02f6 9BB2 uxth r3, r3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 121
1236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2277 .loc 1 1236 26 view .LVU769
2278 02f8 013B subs r3, r3, #1
2279 02fa 9BB2 uxth r3, r3
2280 02fc A4F86A30 strh r3, [r4, #106] @ movhi
2281 0300 E6E7 b .L122
2282 .LVL91:
2283 .L135:
1264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2284 .loc 1 1264 11 is_stmt 1 view .LVU770
2285 0302 2046 mov r0, r4
2286 0304 FFF7FEFF bl SPI_CloseTransfer
2287 .LVL92:
1266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2288 .loc 1 1266 11 view .LVU771
2289 0308 D4F88430 ldr r3, [r4, #132]
2290 030c 43F48073 orr r3, r3, #256
2291 0310 C4F88430 str r3, [r4, #132]
1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2292 .loc 1 1267 11 view .LVU772
1267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2293 .loc 1 1267 23 is_stmt 0 view .LVU773
2294 0314 0123 movs r3, #1
2295 0316 84F88130 strb r3, [r4, #129]
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2296 .loc 1 1270 11 is_stmt 1 view .LVU774
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2297 .loc 1 1270 11 view .LVU775
2298 031a 0023 movs r3, #0
2299 031c 84F88030 strb r3, [r4, #128]
1270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2300 .loc 1 1270 11 view .LVU776
1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2301 .loc 1 1272 11 view .LVU777
1272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2302 .loc 1 1272 18 is_stmt 0 view .LVU778
2303 0320 4FF00308 mov r8, #3
2304 0324 10E0 b .L108
2305 .LVL93:
2306 .L120:
1290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2307 .loc 1 1290 3 is_stmt 1 view .LVU779
2308 0326 2046 mov r0, r4
2309 0328 FFF7FEFF bl SPI_CloseTransfer
2310 .LVL94:
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2311 .loc 1 1292 3 view .LVU780
1292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2312 .loc 1 1292 15 is_stmt 0 view .LVU781
2313 032c 0123 movs r3, #1
2314 032e 84F88130 strb r3, [r4, #129]
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2315 .loc 1 1295 3 is_stmt 1 view .LVU782
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2316 .loc 1 1295 3 view .LVU783
2317 0332 0023 movs r3, #0
2318 0334 84F88030 strb r3, [r4, #128]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 122
1295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2319 .loc 1 1295 3 view .LVU784
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2320 .loc 1 1298 3 view .LVU785
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2321 .loc 1 1298 11 is_stmt 0 view .LVU786
2322 0338 D4F88430 ldr r3, [r4, #132]
1298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2323 .loc 1 1298 6 view .LVU787
2324 033c 23B9 cbnz r3, .L108
1304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2325 .loc 1 1304 12 view .LVU788
2326 033e 4FF00008 mov r8, #0
2327 0342 01E0 b .L108
2328 .LVL95:
2329 .L137:
1066:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2330 .loc 1 1066 12 view .LVU789
2331 0344 4FF00208 mov r8, #2
2332 .LVL96:
2333 .L108:
1306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2334 .loc 1 1306 1 view .LVU790
2335 0348 4046 mov r0, r8
2336 034a BDE8F88F pop {r3, r4, r5, r6, r7, r8, r9, r10, fp, pc}
2337 .LVL97:
2338 .L138:
1075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2339 .loc 1 1075 3 discriminator 1 view .LVU791
2340 034e 4FF00208 mov r8, #2
2341 0352 F9E7 b .L108
2342 .cfi_endproc
2343 .LFE340:
2345 .section .text.HAL_SPI_TransmitReceive,"ax",%progbits
2346 .align 1
2347 .global HAL_SPI_TransmitReceive
2348 .syntax unified
2349 .thumb
2350 .thumb_func
2352 HAL_SPI_TransmitReceive:
2353 .LVL98:
2354 .LFB341:
1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2355 .loc 1 1320 1 is_stmt 1 view -0
2356 .cfi_startproc
2357 @ args = 4, pretend = 0, frame = 0
2358 @ frame_needed = 0, uses_anonymous_args = 0
1320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2359 .loc 1 1320 1 is_stmt 0 view .LVU793
2360 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr}
2361 .cfi_def_cfa_offset 36
2362 .cfi_offset 4, -36
2363 .cfi_offset 5, -32
2364 .cfi_offset 6, -28
2365 .cfi_offset 7, -24
2366 .cfi_offset 8, -20
2367 .cfi_offset 9, -16
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 123
2368 .cfi_offset 10, -12
2369 .cfi_offset 11, -8
2370 .cfi_offset 14, -4
2371 0004 83B0 sub sp, sp, #12
2372 .cfi_def_cfa_offset 48
2373 0006 0446 mov r4, r0
2374 0008 8946 mov r9, r1
2375 000a 9046 mov r8, r2
2376 000c 1D46 mov r5, r3
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
2377 .loc 1 1322 3 is_stmt 1 view .LVU794
1322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint16_t *prxdr_16bits = (__IO uint16_t *)(&(hspi->Instance->RXDR));
2378 .loc 1 1322 57 is_stmt 0 view .LVU795
2379 000e D0F800B0 ldr fp, [r0]
2380 .LVL99:
1323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
2381 .loc 1 1323 3 is_stmt 1 view .LVU796
1326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t fifo_length;
2382 .loc 1 1326 3 view .LVU797
1327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t temp_sr_reg;
2383 .loc 1 1327 3 view .LVU798
1328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t initial_TxXferCount;
2384 .loc 1 1328 3 view .LVU799
1329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t initial_RxXferCount;
2385 .loc 1 1329 3 view .LVU800
1330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint16_t init_max_data_in_fifo;
2386 .loc 1 1330 3 view .LVU801
1331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** init_max_data_in_fifo = (((uint16_t)(hspi->Init.FifoThreshold >> 5U) + 1U));
2387 .loc 1 1331 3 view .LVU802
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2388 .loc 1 1332 3 view .LVU803
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2389 .loc 1 1332 50 is_stmt 0 view .LVU804
2390 0012 C66B ldr r6, [r0, #60]
1332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2391 .loc 1 1332 29 view .LVU805
2392 0014 C6F34F16 ubfx r6, r6, #5, #16
2393 .LVL100:
1335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2394 .loc 1 1335 3 is_stmt 1 view .LVU806
1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2395 .loc 1 1338 3 view .LVU807
1338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2396 .loc 1 1338 15 is_stmt 0 view .LVU808
2397 0018 FFF7FEFF bl HAL_GetTick
2398 .LVL101:
1340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = Size;
2399 .loc 1 1340 3 is_stmt 1 view .LVU809
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2400 .loc 1 1341 3 view .LVU810
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2401 .loc 1 1343 3 view .LVU811
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2402 .loc 1 1343 11 is_stmt 0 view .LVU812
2403 001c 94F88130 ldrb r3, [r4, #129] @ zero_extendqisi2
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2404 .loc 1 1343 6 view .LVU813
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 124
2405 0020 012B cmp r3, #1
2406 0022 40F03082 bne .L177
2407 0026 0136 adds r6, r6, #1
2408 .LVL102:
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2409 .loc 1 1343 6 view .LVU814
2410 0028 B6B2 uxth r6, r6
2411 .LVL103:
1343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2412 .loc 1 1343 6 view .LVU815
2413 002a 0746 mov r7, r0
2414 002c 5FFA83FA uxtb r10, r3
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2415 .loc 1 1348 3 is_stmt 1 view .LVU816
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2416 .loc 1 1348 6 is_stmt 0 view .LVU817
2417 0030 B8F1000F cmp r8, #0
2418 0034 18BF it ne
2419 0036 B9F1000F cmpne r9, #0
2420 003a 00F02682 beq .L145
1348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2421 .loc 1 1348 46 discriminator 1 view .LVU818
2422 003e 002D cmp r5, #0
2423 0040 00F02382 beq .L145
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2424 .loc 1 1354 3 is_stmt 1 view .LVU819
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2425 .loc 1 1354 3 view .LVU820
2426 0044 94F88030 ldrb r3, [r4, #128] @ zero_extendqisi2
2427 0048 012B cmp r3, #1
2428 004a 00F02282 beq .L178
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2429 .loc 1 1354 3 discriminator 2 view .LVU821
2430 004e 0123 movs r3, #1
2431 0050 84F88030 strb r3, [r4, #128]
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2432 .loc 1 1354 3 view .LVU822
1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2433 .loc 1 1357 3 view .LVU823
1357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
2434 .loc 1 1357 21 is_stmt 0 view .LVU824
2435 0054 0523 movs r3, #5
2436 0056 84F88130 strb r3, [r4, #129]
1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2437 .loc 1 1358 3 is_stmt 1 view .LVU825
1358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
2438 .loc 1 1358 21 is_stmt 0 view .LVU826
2439 005a 0023 movs r3, #0
2440 005c C4F88430 str r3, [r4, #132]
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
2441 .loc 1 1359 3 is_stmt 1 view .LVU827
1359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
2442 .loc 1 1359 21 is_stmt 0 view .LVU828
2443 0060 C4F86480 str r8, [r4, #100]
1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
2444 .loc 1 1360 3 is_stmt 1 view .LVU829
1360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 125
2445 .loc 1 1360 21 is_stmt 0 view .LVU830
2446 0064 A4F86A50 strh r5, [r4, #106] @ movhi
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
2447 .loc 1 1361 3 is_stmt 1 view .LVU831
1361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
2448 .loc 1 1361 21 is_stmt 0 view .LVU832
2449 0068 A4F86850 strh r5, [r4, #104] @ movhi
1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
2450 .loc 1 1362 3 is_stmt 1 view .LVU833
1362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
2451 .loc 1 1362 21 is_stmt 0 view .LVU834
2452 006c C4F85C90 str r9, [r4, #92]
1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
2453 .loc 1 1363 3 is_stmt 1 view .LVU835
1363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
2454 .loc 1 1363 21 is_stmt 0 view .LVU836
2455 0070 A4F86250 strh r5, [r4, #98] @ movhi
1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2456 .loc 1 1364 3 is_stmt 1 view .LVU837
1364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2457 .loc 1 1364 21 is_stmt 0 view .LVU838
2458 0074 A4F86050 strh r5, [r4, #96] @ movhi
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
2459 .loc 1 1367 3 is_stmt 1 view .LVU839
1367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
2460 .loc 1 1367 21 is_stmt 0 view .LVU840
2461 0078 2367 str r3, [r4, #112]
1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2462 .loc 1 1368 3 is_stmt 1 view .LVU841
1368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2463 .loc 1 1368 21 is_stmt 0 view .LVU842
2464 007a 6367 str r3, [r4, #116]
1371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2465 .loc 1 1371 3 is_stmt 1 view .LVU843
2466 007c 2268 ldr r2, [r4]
2467 007e D368 ldr r3, [r2, #12]
2468 0080 23F4C023 bic r3, r3, #393216
2469 0084 D360 str r3, [r2, #12]
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2470 .loc 1 1374 3 view .LVU844
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2471 .loc 1 1374 7 is_stmt 0 view .LVU845
2472 0086 2268 ldr r2, [r4]
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2473 .loc 1 1374 6 view .LVU846
2474 0088 9C49 ldr r1, .L186
2475 008a 9D4B ldr r3, .L186+4
2476 008c 9A42 cmp r2, r3
2477 008e 18BF it ne
2478 0090 8A42 cmpne r2, r1
2479 0092 09D0 beq .L179
1374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2480 .loc 1 1374 7 discriminator 1 view .LVU847
2481 0094 03F58063 add r3, r3, #1024
2482 0098 9A42 cmp r2, r3
2483 009a 02D0 beq .L184
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 126
2484 .loc 1 1380 17 view .LVU848
2485 009c 4FF00808 mov r8, #8
2486 .LVL104:
1380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2487 .loc 1 1380 17 view .LVU849
2488 00a0 04E0 b .L146
2489 .LVL105:
2490 .L184:
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2491 .loc 1 1376 17 view .LVU850
2492 00a2 4FF01008 mov r8, #16
2493 .LVL106:
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2494 .loc 1 1376 17 view .LVU851
2495 00a6 01E0 b .L146
2496 .LVL107:
2497 .L179:
1376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2498 .loc 1 1376 17 view .LVU852
2499 00a8 4FF01008 mov r8, #16
2500 .LVL108:
2501 .L146:
1384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2502 .loc 1 1384 3 is_stmt 1 view .LVU853
2503 00ac 5368 ldr r3, [r2, #4]
2504 00ae 6FF30F03 bfc r3, #0, #16
2505 00b2 2B43 orrs r3, r3, r5
2506 00b4 5360 str r3, [r2, #4]
1386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2507 .loc 1 1386 3 view .LVU854
2508 00b6 2268 ldr r2, [r4]
2509 00b8 1368 ldr r3, [r2]
2510 00ba 43F00103 orr r3, r3, #1
2511 00be 1360 str r3, [r2]
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2512 .loc 1 1388 3 view .LVU855
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2513 .loc 1 1388 17 is_stmt 0 view .LVU856
2514 00c0 6368 ldr r3, [r4, #4]
1388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2515 .loc 1 1388 6 view .LVU857
2516 00c2 B3F5800F cmp r3, #4194304
2517 00c6 06D0 beq .L185
2518 .L147:
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2519 .loc 1 1395 3 is_stmt 1 view .LVU858
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2520 .loc 1 1395 17 is_stmt 0 view .LVU859
2521 00c8 E368 ldr r3, [r4, #12]
1395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2522 .loc 1 1395 6 view .LVU860
2523 00ca 0F2B cmp r3, #15
2524 00cc 7AD9 bls .L148
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2525 .loc 1 1398 5 is_stmt 1 view .LVU861
1398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2526 .loc 1 1398 17 is_stmt 0 view .LVU862
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 127
2527 00ce 4FEA980B lsr fp, r8, #2
2528 .LVL109:
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2529 .loc 1 1400 5 is_stmt 1 view .LVU863
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2530 .loc 1 1341 23 is_stmt 0 view .LVU864
2531 00d2 A846 mov r8, r5
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2532 .loc 1 1400 11 view .LVU865
2533 00d4 1FE0 b .L149
2534 .LVL110:
2535 .L185:
1391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2536 .loc 1 1391 5 is_stmt 1 view .LVU866
2537 00d6 2268 ldr r2, [r4]
2538 00d8 1368 ldr r3, [r2]
2539 00da 43F40073 orr r3, r3, #512
2540 00de 1360 str r3, [r2]
2541 00e0 F2E7 b .L147
2542 .LVL111:
2543 .L150:
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2544 .loc 1 1413 7 view .LVU867
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2545 .loc 1 1413 25 is_stmt 0 view .LVU868
2546 00e2 2368 ldr r3, [r4]
1413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2547 .loc 1 1413 19 view .LVU869
2548 00e4 5A69 ldr r2, [r3, #20]
2549 .LVL112:
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2550 .loc 1 1415 7 is_stmt 1 view .LVU870
1415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2551 .loc 1 1415 10 is_stmt 0 view .LVU871
2552 00e6 B8F1000F cmp r8, #0
2553 00ea 14D0 beq .L149
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2554 .loc 1 1418 9 is_stmt 1 view .LVU872
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2555 .loc 1 1418 13 is_stmt 0 view .LVU873
2556 00ec 5969 ldr r1, [r3, #20]
1418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2557 .loc 1 1418 12 view .LVU874
2558 00ee 11F0010F tst r1, #1
2559 00f2 32D0 beq .L152
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2560 .loc 1 1420 11 is_stmt 1 view .LVU875
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2561 .loc 1 1420 29 is_stmt 0 view .LVU876
2562 00f4 626E ldr r2, [r4, #100]
2563 .LVL113:
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2564 .loc 1 1420 45 view .LVU877
2565 00f6 1B6B ldr r3, [r3, #48]
1420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2566 .loc 1 1420 43 view .LVU878
2567 00f8 1360 str r3, [r2]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 128
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2568 .loc 1 1421 11 is_stmt 1 view .LVU879
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2569 .loc 1 1421 15 is_stmt 0 view .LVU880
2570 00fa 636E ldr r3, [r4, #100]
1421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2571 .loc 1 1421 28 view .LVU881
2572 00fc 0433 adds r3, r3, #4
2573 00fe 6366 str r3, [r4, #100]
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2574 .loc 1 1422 11 is_stmt 1 view .LVU882
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2575 .loc 1 1422 15 is_stmt 0 view .LVU883
2576 0100 B4F86A30 ldrh r3, [r4, #106]
2577 0104 9BB2 uxth r3, r3
1422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2578 .loc 1 1422 28 view .LVU884
2579 0106 013B subs r3, r3, #1
2580 0108 9BB2 uxth r3, r3
2581 010a A4F86A30 strh r3, [r4, #106] @ movhi
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2582 .loc 1 1423 11 is_stmt 1 view .LVU885
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2583 .loc 1 1423 31 is_stmt 0 view .LVU886
2584 010e B4F86A80 ldrh r8, [r4, #106]
2585 .LVL114:
1423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2586 .loc 1 1423 31 view .LVU887
2587 0112 1FFA88F8 uxth r8, r8
2588 .LVL115:
2589 .L149:
1400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2590 .loc 1 1400 40 is_stmt 1 view .LVU888
2591 0116 45EA0803 orr r3, r5, r8
2592 011a 9BB2 uxth r3, r3
2593 011c 002B cmp r3, #0
2594 011e 00F09581 beq .L157
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2595 .loc 1 1403 7 view .LVU889
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2596 .loc 1 1403 12 is_stmt 0 view .LVU890
2597 0122 2368 ldr r3, [r4]
2598 0124 5A69 ldr r2, [r3, #20]
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2599 .loc 1 1403 10 view .LVU891
2600 0126 12F0020F tst r2, #2
2601 012a DAD0 beq .L150
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2602 .loc 1 1403 52 discriminator 1 view .LVU892
2603 012c 002D cmp r5, #0
2604 012e D8D0 beq .L150
1404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2605 .loc 1 1404 56 view .LVU893
2606 0130 05EB0B02 add r2, r5, fp
1403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2607 .loc 1 1403 83 discriminator 2 view .LVU894
2608 0134 9045 cmp r8, r2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 129
2609 0136 D4D2 bcs .L150
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
2610 .loc 1 1406 9 is_stmt 1 view .LVU895
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
2611 .loc 1 1406 77 is_stmt 0 view .LVU896
2612 0138 E26D ldr r2, [r4, #92]
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
2613 .loc 1 1406 53 view .LVU897
2614 013a 1268 ldr r2, [r2]
1406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
2615 .loc 1 1406 51 view .LVU898
2616 013c 1A62 str r2, [r3, #32]
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount --;
2617 .loc 1 1407 9 is_stmt 1 view .LVU899
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount --;
2618 .loc 1 1407 13 is_stmt 0 view .LVU900
2619 013e E36D ldr r3, [r4, #92]
1407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount --;
2620 .loc 1 1407 26 view .LVU901
2621 0140 0433 adds r3, r3, #4
2622 0142 E365 str r3, [r4, #92]
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2623 .loc 1 1408 9 is_stmt 1 view .LVU902
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2624 .loc 1 1408 13 is_stmt 0 view .LVU903
2625 0144 B4F86230 ldrh r3, [r4, #98]
2626 0148 9BB2 uxth r3, r3
1408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2627 .loc 1 1408 27 view .LVU904
2628 014a 013B subs r3, r3, #1
2629 014c 9BB2 uxth r3, r3
2630 014e A4F86230 strh r3, [r4, #98] @ movhi
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2631 .loc 1 1409 9 is_stmt 1 view .LVU905
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2632 .loc 1 1409 29 is_stmt 0 view .LVU906
2633 0152 B4F86250 ldrh r5, [r4, #98]
2634 .LVL116:
1409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2635 .loc 1 1409 29 view .LVU907
2636 0156 ADB2 uxth r5, r5
2637 0158 C3E7 b .L150
2638 .LVL117:
2639 .L152:
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2640 .loc 1 1426 14 is_stmt 1 view .LVU908
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2641 .loc 1 1426 17 is_stmt 0 view .LVU909
2642 015a B045 cmp r8, r6
2643 015c 14D2 bcs .L153
1426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2644 .loc 1 1426 64 discriminator 1 view .LVU910
2645 015e 12F4004F tst r2, #32768
2646 0162 11D0 beq .L153
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2647 .loc 1 1428 11 is_stmt 1 view .LVU911
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 130
2648 .loc 1 1428 29 is_stmt 0 view .LVU912
2649 0164 626E ldr r2, [r4, #100]
2650 .LVL118:
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2651 .loc 1 1428 45 view .LVU913
2652 0166 1B6B ldr r3, [r3, #48]
1428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
2653 .loc 1 1428 43 view .LVU914
2654 0168 1360 str r3, [r2]
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2655 .loc 1 1429 11 is_stmt 1 view .LVU915
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2656 .loc 1 1429 15 is_stmt 0 view .LVU916
2657 016a 636E ldr r3, [r4, #100]
1429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2658 .loc 1 1429 28 view .LVU917
2659 016c 0433 adds r3, r3, #4
2660 016e 6366 str r3, [r4, #100]
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2661 .loc 1 1430 11 is_stmt 1 view .LVU918
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2662 .loc 1 1430 15 is_stmt 0 view .LVU919
2663 0170 B4F86A30 ldrh r3, [r4, #106]
2664 0174 9BB2 uxth r3, r3
1430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2665 .loc 1 1430 28 view .LVU920
2666 0176 013B subs r3, r3, #1
2667 0178 9BB2 uxth r3, r3
2668 017a A4F86A30 strh r3, [r4, #106] @ movhi
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2669 .loc 1 1431 11 is_stmt 1 view .LVU921
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2670 .loc 1 1431 31 is_stmt 0 view .LVU922
2671 017e B4F86A80 ldrh r8, [r4, #106]
2672 .LVL119:
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2673 .loc 1 1431 31 view .LVU923
2674 0182 1FFA88F8 uxth r8, r8
2675 .LVL120:
1431:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2676 .loc 1 1431 31 view .LVU924
2677 0186 C6E7 b .L149
2678 .LVL121:
2679 .L153:
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2680 .loc 1 1436 11 is_stmt 1 view .LVU925
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2681 .loc 1 1436 18 is_stmt 0 view .LVU926
2682 0188 FFF7FEFF bl HAL_GetTick
2683 .LVL122:
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2684 .loc 1 1436 32 discriminator 1 view .LVU927
2685 018c C01B subs r0, r0, r7
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2686 .loc 1 1436 14 discriminator 1 view .LVU928
2687 018e 0C9B ldr r3, [sp, #48]
2688 0190 9842 cmp r0, r3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 131
2689 0192 02D3 bcc .L154
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2690 .loc 1 1436 58 discriminator 1 view .LVU929
2691 0194 B3F1FF3F cmp r3, #-1
2692 0198 02D1 bne .L155
2693 .L154:
1436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2694 .loc 1 1436 89 discriminator 3 view .LVU930
2695 019a 0C9B ldr r3, [sp, #48]
2696 019c 002B cmp r3, #0
2697 019e BAD1 bne .L149
2698 .L155:
1439:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2699 .loc 1 1439 13 is_stmt 1 view .LVU931
2700 01a0 2046 mov r0, r4
2701 01a2 FFF7FEFF bl SPI_CloseTransfer
2702 .LVL123:
1441:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2703 .loc 1 1441 13 view .LVU932
2704 01a6 D4F88430 ldr r3, [r4, #132]
2705 01aa 43F48073 orr r3, r3, #256
2706 01ae C4F88430 str r3, [r4, #132]
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2707 .loc 1 1442 13 view .LVU933
1442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2708 .loc 1 1442 25 is_stmt 0 view .LVU934
2709 01b2 0123 movs r3, #1
2710 01b4 84F88130 strb r3, [r4, #129]
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2711 .loc 1 1445 13 is_stmt 1 view .LVU935
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2712 .loc 1 1445 13 view .LVU936
2713 01b8 0023 movs r3, #0
2714 01ba 84F88030 strb r3, [r4, #128]
1445:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2715 .loc 1 1445 13 view .LVU937
1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2716 .loc 1 1447 13 view .LVU938
1447:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2717 .loc 1 1447 20 is_stmt 0 view .LVU939
2718 01be 4FF0030A mov r10, #3
2719 01c2 62E1 b .L145
2720 .LVL124:
2721 .L148:
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2722 .loc 1 1454 8 is_stmt 1 view .LVU940
1454:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2723 .loc 1 1454 11 is_stmt 0 view .LVU941
2724 01c4 072B cmp r3, #7
2725 01c6 40F23F81 bls .L181
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2726 .loc 1 1457 5 is_stmt 1 view .LVU942
1457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2727 .loc 1 1457 17 is_stmt 0 view .LVU943
2728 01ca 4FEA5803 lsr r3, r8, #1
2729 01ce 9946 mov r9, r3
2730 .LVL125:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 132
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2731 .loc 1 1459 5 is_stmt 1 view .LVU944
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2732 .loc 1 1341 23 is_stmt 0 view .LVU945
2733 01d0 A846 mov r8, r5
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2734 .loc 1 1459 11 view .LVU946
2735 01d2 1AE0 b .L159
2736 .LVL126:
2737 .L160:
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2738 .loc 1 1476 7 is_stmt 1 view .LVU947
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2739 .loc 1 1476 25 is_stmt 0 view .LVU948
2740 01d4 2368 ldr r3, [r4]
1476:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2741 .loc 1 1476 19 view .LVU949
2742 01d6 5A69 ldr r2, [r3, #20]
2743 .LVL127:
1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2744 .loc 1 1478 7 is_stmt 1 view .LVU950
1478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2745 .loc 1 1478 10 is_stmt 0 view .LVU951
2746 01d8 B8F1000F cmp r8, #0
2747 01dc 15D0 beq .L159
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2748 .loc 1 1481 9 is_stmt 1 view .LVU952
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2749 .loc 1 1481 13 is_stmt 0 view .LVU953
2750 01de 5B69 ldr r3, [r3, #20]
1481:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2751 .loc 1 1481 12 view .LVU954
2752 01e0 13F0010F tst r3, #1
2753 01e4 34D0 beq .L162
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2754 .loc 1 1484 11 is_stmt 1 view .LVU955
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2755 .loc 1 1484 29 is_stmt 0 view .LVU956
2756 01e6 636E ldr r3, [r4, #100]
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2757 .loc 1 1484 45 view .LVU957
2758 01e8 BBF83020 ldrh r2, [fp, #48]
2759 .LVL128:
1484:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2760 .loc 1 1484 43 view .LVU958
2761 01ec 1A80 strh r2, [r3] @ movhi
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2762 .loc 1 1488 11 is_stmt 1 view .LVU959
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2763 .loc 1 1488 15 is_stmt 0 view .LVU960
2764 01ee 636E ldr r3, [r4, #100]
1488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2765 .loc 1 1488 28 view .LVU961
2766 01f0 0233 adds r3, r3, #2
2767 01f2 6366 str r3, [r4, #100]
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2768 .loc 1 1489 11 is_stmt 1 view .LVU962
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 133
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2769 .loc 1 1489 15 is_stmt 0 view .LVU963
2770 01f4 B4F86A30 ldrh r3, [r4, #106]
2771 01f8 9BB2 uxth r3, r3
1489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2772 .loc 1 1489 28 view .LVU964
2773 01fa 013B subs r3, r3, #1
2774 01fc 9BB2 uxth r3, r3
2775 01fe A4F86A30 strh r3, [r4, #106] @ movhi
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2776 .loc 1 1490 11 is_stmt 1 view .LVU965
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2777 .loc 1 1490 31 is_stmt 0 view .LVU966
2778 0202 B4F86A80 ldrh r8, [r4, #106]
2779 .LVL129:
1490:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2780 .loc 1 1490 31 view .LVU967
2781 0206 1FFA88F8 uxth r8, r8
2782 .LVL130:
2783 .L159:
1459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2784 .loc 1 1459 40 is_stmt 1 view .LVU968
2785 020a 45EA0803 orr r3, r5, r8
2786 020e 9BB2 uxth r3, r3
2787 0210 002B cmp r3, #0
2788 0212 00F01B81 beq .L157
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2789 .loc 1 1462 7 view .LVU969
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2790 .loc 1 1462 12 is_stmt 0 view .LVU970
2791 0216 2368 ldr r3, [r4]
2792 0218 5B69 ldr r3, [r3, #20]
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2793 .loc 1 1462 10 view .LVU971
2794 021a 13F0020F tst r3, #2
2795 021e D9D0 beq .L160
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2796 .loc 1 1462 52 discriminator 1 view .LVU972
2797 0220 002D cmp r5, #0
2798 0222 D7D0 beq .L160
1463:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2799 .loc 1 1463 56 view .LVU973
2800 0224 4B46 mov r3, r9
2801 0226 EB18 adds r3, r5, r3
1462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
2802 .loc 1 1462 83 discriminator 2 view .LVU974
2803 0228 9845 cmp r8, r3
2804 022a D3D2 bcs .L160
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2805 .loc 1 1466 9 is_stmt 1 view .LVU975
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2806 .loc 1 1466 49 is_stmt 0 view .LVU976
2807 022c E36D ldr r3, [r4, #92]
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2808 .loc 1 1466 25 view .LVU977
2809 022e 1B88 ldrh r3, [r3]
1466:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 134
2810 .loc 1 1466 23 view .LVU978
2811 0230 ABF82030 strh r3, [fp, #32] @ movhi
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
2812 .loc 1 1470 9 is_stmt 1 view .LVU979
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
2813 .loc 1 1470 13 is_stmt 0 view .LVU980
2814 0234 E36D ldr r3, [r4, #92]
1470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
2815 .loc 1 1470 26 view .LVU981
2816 0236 0233 adds r3, r3, #2
2817 0238 E365 str r3, [r4, #92]
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2818 .loc 1 1471 9 is_stmt 1 view .LVU982
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2819 .loc 1 1471 13 is_stmt 0 view .LVU983
2820 023a B4F86230 ldrh r3, [r4, #98]
2821 023e 9BB2 uxth r3, r3
1471:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
2822 .loc 1 1471 26 view .LVU984
2823 0240 013B subs r3, r3, #1
2824 0242 9BB2 uxth r3, r3
2825 0244 A4F86230 strh r3, [r4, #98] @ movhi
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2826 .loc 1 1472 9 is_stmt 1 view .LVU985
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2827 .loc 1 1472 29 is_stmt 0 view .LVU986
2828 0248 B4F86250 ldrh r5, [r4, #98]
2829 .LVL131:
1472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2830 .loc 1 1472 29 view .LVU987
2831 024c ADB2 uxth r5, r5
2832 024e C1E7 b .L160
2833 .LVL132:
2834 .L162:
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2835 .loc 1 1493 14 is_stmt 1 view .LVU988
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2836 .loc 1 1493 17 is_stmt 0 view .LVU989
2837 0250 B045 cmp r8, r6
2838 0252 1BD2 bcs .L163
1493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2839 .loc 1 1493 64 discriminator 1 view .LVU990
2840 0254 12F4004F tst r2, #32768
2841 0258 18D0 beq .L163
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2842 .loc 1 1496 11 is_stmt 1 view .LVU991
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2843 .loc 1 1496 29 is_stmt 0 view .LVU992
2844 025a 636E ldr r3, [r4, #100]
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2845 .loc 1 1496 45 view .LVU993
2846 025c BBF83020 ldrh r2, [fp, #48]
2847 .LVL133:
1496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2848 .loc 1 1496 43 view .LVU994
2849 0260 1A80 strh r2, [r3] @ movhi
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 135
2850 .loc 1 1500 11 is_stmt 1 view .LVU995
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2851 .loc 1 1500 15 is_stmt 0 view .LVU996
2852 0262 636E ldr r3, [r4, #100]
1500:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
2853 .loc 1 1500 28 view .LVU997
2854 0264 9A1C adds r2, r3, #2
2855 0266 6266 str r2, [r4, #100]
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2856 .loc 1 1502 11 is_stmt 1 view .LVU998
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2857 .loc 1 1502 45 is_stmt 0 view .LVU999
2858 0268 BBF83020 ldrh r2, [fp, #48]
1502:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2859 .loc 1 1502 43 view .LVU1000
2860 026c 5A80 strh r2, [r3, #2] @ movhi
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
2861 .loc 1 1506 11 is_stmt 1 view .LVU1001
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
2862 .loc 1 1506 15 is_stmt 0 view .LVU1002
2863 026e 636E ldr r3, [r4, #100]
1506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)2UL;
2864 .loc 1 1506 28 view .LVU1003
2865 0270 0233 adds r3, r3, #2
2866 0272 6366 str r3, [r4, #100]
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2867 .loc 1 1507 11 is_stmt 1 view .LVU1004
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2868 .loc 1 1507 15 is_stmt 0 view .LVU1005
2869 0274 B4F86A30 ldrh r3, [r4, #106]
2870 0278 9BB2 uxth r3, r3
1507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2871 .loc 1 1507 29 view .LVU1006
2872 027a 023B subs r3, r3, #2
2873 027c 9BB2 uxth r3, r3
2874 027e A4F86A30 strh r3, [r4, #106] @ movhi
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2875 .loc 1 1508 11 is_stmt 1 view .LVU1007
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2876 .loc 1 1508 31 is_stmt 0 view .LVU1008
2877 0282 B4F86A80 ldrh r8, [r4, #106]
2878 .LVL134:
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2879 .loc 1 1508 31 view .LVU1009
2880 0286 1FFA88F8 uxth r8, r8
2881 .LVL135:
1508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2882 .loc 1 1508 31 view .LVU1010
2883 028a BEE7 b .L159
2884 .LVL136:
2885 .L163:
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2886 .loc 1 1511 14 is_stmt 1 view .LVU1011
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2887 .loc 1 1511 17 is_stmt 0 view .LVU1012
2888 028c B8F1010F cmp r8, #1
2889 0290 15D1 bne .L164
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 136
1511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2890 .loc 1 1511 47 discriminator 1 view .LVU1013
2891 0292 12F4005F tst r2, #8192
2892 0296 12D0 beq .L164
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2893 .loc 1 1514 11 is_stmt 1 view .LVU1014
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2894 .loc 1 1514 29 is_stmt 0 view .LVU1015
2895 0298 636E ldr r3, [r4, #100]
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2896 .loc 1 1514 45 view .LVU1016
2897 029a BBF83020 ldrh r2, [fp, #48]
2898 .LVL137:
1514:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
2899 .loc 1 1514 43 view .LVU1017
2900 029e 1A80 strh r2, [r3] @ movhi
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2901 .loc 1 1518 11 is_stmt 1 view .LVU1018
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2902 .loc 1 1518 15 is_stmt 0 view .LVU1019
2903 02a0 636E ldr r3, [r4, #100]
1518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2904 .loc 1 1518 28 view .LVU1020
2905 02a2 0233 adds r3, r3, #2
2906 02a4 6366 str r3, [r4, #100]
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2907 .loc 1 1519 11 is_stmt 1 view .LVU1021
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2908 .loc 1 1519 15 is_stmt 0 view .LVU1022
2909 02a6 B4F86A30 ldrh r3, [r4, #106]
2910 02aa 9BB2 uxth r3, r3
1519:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
2911 .loc 1 1519 28 view .LVU1023
2912 02ac 013B subs r3, r3, #1
2913 02ae 9BB2 uxth r3, r3
2914 02b0 A4F86A30 strh r3, [r4, #106] @ movhi
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2915 .loc 1 1520 11 is_stmt 1 view .LVU1024
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2916 .loc 1 1520 31 is_stmt 0 view .LVU1025
2917 02b4 B4F86A80 ldrh r8, [r4, #106]
2918 .LVL138:
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2919 .loc 1 1520 31 view .LVU1026
2920 02b8 1FFA88F8 uxth r8, r8
2921 .LVL139:
1520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2922 .loc 1 1520 31 view .LVU1027
2923 02bc A5E7 b .L159
2924 .LVL140:
2925 .L164:
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2926 .loc 1 1525 11 is_stmt 1 view .LVU1028
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2927 .loc 1 1525 18 is_stmt 0 view .LVU1029
2928 02be FFF7FEFF bl HAL_GetTick
2929 .LVL141:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 137
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2930 .loc 1 1525 32 discriminator 1 view .LVU1030
2931 02c2 C01B subs r0, r0, r7
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2932 .loc 1 1525 14 discriminator 1 view .LVU1031
2933 02c4 0C9B ldr r3, [sp, #48]
2934 02c6 9842 cmp r0, r3
2935 02c8 02D3 bcc .L165
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2936 .loc 1 1525 58 discriminator 1 view .LVU1032
2937 02ca B3F1FF3F cmp r3, #-1
2938 02ce 02D1 bne .L166
2939 .L165:
1525:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2940 .loc 1 1525 89 discriminator 3 view .LVU1033
2941 02d0 0C9B ldr r3, [sp, #48]
2942 02d2 002B cmp r3, #0
2943 02d4 99D1 bne .L159
2944 .L166:
1528:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2945 .loc 1 1528 13 is_stmt 1 view .LVU1034
2946 02d6 2046 mov r0, r4
2947 02d8 FFF7FEFF bl SPI_CloseTransfer
2948 .LVL142:
1530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
2949 .loc 1 1530 13 view .LVU1035
2950 02dc D4F88430 ldr r3, [r4, #132]
2951 02e0 43F48073 orr r3, r3, #256
2952 02e4 C4F88430 str r3, [r4, #132]
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2953 .loc 1 1531 13 view .LVU1036
1531:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2954 .loc 1 1531 25 is_stmt 0 view .LVU1037
2955 02e8 0123 movs r3, #1
2956 02ea 84F88130 strb r3, [r4, #129]
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2957 .loc 1 1534 13 is_stmt 1 view .LVU1038
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2958 .loc 1 1534 13 view .LVU1039
2959 02ee 0023 movs r3, #0
2960 02f0 84F88030 strb r3, [r4, #128]
1534:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2961 .loc 1 1534 13 view .LVU1040
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2962 .loc 1 1536 13 view .LVU1041
1536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
2963 .loc 1 1536 20 is_stmt 0 view .LVU1042
2964 02f4 4FF0030A mov r10, #3
2965 02f8 C7E0 b .L145
2966 .L187:
2967 02fa 00BF .align 2
2968 .L186:
2969 02fc 00300140 .word 1073819648
2970 0300 00380040 .word 1073756160
2971 .LVL143:
2972 .L168:
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 138
2973 .loc 1 1558 7 is_stmt 1 view .LVU1043
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2974 .loc 1 1558 25 is_stmt 0 view .LVU1044
2975 0304 2368 ldr r3, [r4]
1558:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
2976 .loc 1 1558 19 view .LVU1045
2977 0306 5A69 ldr r2, [r3, #20]
2978 .LVL144:
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2979 .loc 1 1560 7 is_stmt 1 view .LVU1046
1560:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2980 .loc 1 1560 10 is_stmt 0 view .LVU1047
2981 0308 BBF1000F cmp fp, #0
2982 030c 15D0 beq .L158
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2983 .loc 1 1563 9 is_stmt 1 view .LVU1048
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2984 .loc 1 1563 13 is_stmt 0 view .LVU1049
2985 030e 5969 ldr r1, [r3, #20]
1563:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
2986 .loc 1 1563 12 view .LVU1050
2987 0310 11F0010F tst r1, #1
2988 0314 34D0 beq .L170
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2989 .loc 1 1565 11 is_stmt 1 view .LVU1051
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2990 .loc 1 1565 28 is_stmt 0 view .LVU1052
2991 0316 626E ldr r2, [r4, #100]
2992 .LVL145:
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2993 .loc 1 1565 44 view .LVU1053
2994 0318 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
2995 .loc 1 1565 42 view .LVU1054
2996 031c 1370 strb r3, [r2]
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2997 .loc 1 1566 11 is_stmt 1 view .LVU1055
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
2998 .loc 1 1566 15 is_stmt 0 view .LVU1056
2999 031e 636E ldr r3, [r4, #100]
1566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
3000 .loc 1 1566 28 view .LVU1057
3001 0320 0133 adds r3, r3, #1
3002 0322 6366 str r3, [r4, #100]
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3003 .loc 1 1567 11 is_stmt 1 view .LVU1058
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3004 .loc 1 1567 15 is_stmt 0 view .LVU1059
3005 0324 B4F86A30 ldrh r3, [r4, #106]
3006 0328 9BB2 uxth r3, r3
1567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3007 .loc 1 1567 28 view .LVU1060
3008 032a 013B subs r3, r3, #1
3009 032c 9BB2 uxth r3, r3
3010 032e A4F86A30 strh r3, [r4, #106] @ movhi
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3011 .loc 1 1568 11 is_stmt 1 view .LVU1061
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 139
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3012 .loc 1 1568 31 is_stmt 0 view .LVU1062
3013 0332 B4F86AB0 ldrh fp, [r4, #106]
3014 .LVL146:
1568:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3015 .loc 1 1568 31 view .LVU1063
3016 0336 1FFA8BFB uxth fp, fp
3017 .LVL147:
3018 .L158:
1545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3019 .loc 1 1545 40 is_stmt 1 view .LVU1064
3020 033a 45EA0B03 orr r3, r5, fp
3021 033e 9BB2 uxth r3, r3
3022 0340 002B cmp r3, #0
3023 0342 00F08380 beq .L157
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
3024 .loc 1 1548 7 view .LVU1065
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
3025 .loc 1 1548 12 is_stmt 0 view .LVU1066
3026 0346 2368 ldr r3, [r4]
3027 0348 5A69 ldr r2, [r3, #20]
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
3028 .loc 1 1548 10 view .LVU1067
3029 034a 12F0020F tst r2, #2
3030 034e D9D0 beq .L168
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
3031 .loc 1 1548 52 discriminator 1 view .LVU1068
3032 0350 002D cmp r5, #0
3033 0352 D7D0 beq .L168
1549:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3034 .loc 1 1549 56 view .LVU1069
3035 0354 05EB0802 add r2, r5, r8
1548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (initial_RxXferCount < (initial_TxXferCount + fifo_length)))
3036 .loc 1 1548 83 discriminator 2 view .LVU1070
3037 0358 9345 cmp fp, r2
3038 035a D3D2 bcs .L168
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3039 .loc 1 1551 9 is_stmt 1 view .LVU1071
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3040 .loc 1 1551 75 is_stmt 0 view .LVU1072
3041 035c E26D ldr r2, [r4, #92]
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3042 .loc 1 1551 52 view .LVU1073
3043 035e 1278 ldrb r2, [r2] @ zero_extendqisi2
1551:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3044 .loc 1 1551 50 view .LVU1074
3045 0360 83F82020 strb r2, [r3, #32]
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3046 .loc 1 1552 9 is_stmt 1 view .LVU1075
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3047 .loc 1 1552 13 is_stmt 0 view .LVU1076
3048 0364 E36D ldr r3, [r4, #92]
1552:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3049 .loc 1 1552 26 view .LVU1077
3050 0366 0133 adds r3, r3, #1
3051 0368 E365 str r3, [r4, #92]
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 140
3052 .loc 1 1553 9 is_stmt 1 view .LVU1078
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
3053 .loc 1 1553 13 is_stmt 0 view .LVU1079
3054 036a B4F86230 ldrh r3, [r4, #98]
3055 036e 9BB2 uxth r3, r3
1553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_TxXferCount = hspi->TxXferCount;
3056 .loc 1 1553 26 view .LVU1080
3057 0370 013B subs r3, r3, #1
3058 0372 9BB2 uxth r3, r3
3059 0374 A4F86230 strh r3, [r4, #98] @ movhi
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3060 .loc 1 1554 9 is_stmt 1 view .LVU1081
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3061 .loc 1 1554 29 is_stmt 0 view .LVU1082
3062 0378 B4F86250 ldrh r5, [r4, #98]
3063 .LVL148:
1554:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3064 .loc 1 1554 29 view .LVU1083
3065 037c ADB2 uxth r5, r5
3066 037e C1E7 b .L168
3067 .LVL149:
3068 .L170:
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3069 .loc 1 1571 14 is_stmt 1 view .LVU1084
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3070 .loc 1 1571 17 is_stmt 0 view .LVU1085
3071 0380 B345 cmp fp, r6
3072 0382 2AD2 bcs .L171
1571:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3073 .loc 1 1571 64 discriminator 1 view .LVU1086
3074 0384 12F4004F tst r2, #32768
3075 0388 27D0 beq .L171
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3076 .loc 1 1573 11 is_stmt 1 view .LVU1087
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3077 .loc 1 1573 28 is_stmt 0 view .LVU1088
3078 038a 626E ldr r2, [r4, #100]
3079 .LVL150:
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3080 .loc 1 1573 44 view .LVU1089
3081 038c 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3082 .loc 1 1573 42 view .LVU1090
3083 0390 1370 strb r3, [r2]
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3084 .loc 1 1574 11 is_stmt 1 view .LVU1091
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3085 .loc 1 1574 15 is_stmt 0 view .LVU1092
3086 0392 636E ldr r3, [r4, #100]
1574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3087 .loc 1 1574 28 view .LVU1093
3088 0394 5A1C adds r2, r3, #1
3089 0396 6266 str r2, [r4, #100]
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3090 .loc 1 1575 11 is_stmt 1 view .LVU1094
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3091 .loc 1 1575 67 is_stmt 0 view .LVU1095
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 141
3092 0398 2268 ldr r2, [r4]
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3093 .loc 1 1575 44 view .LVU1096
3094 039a 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1575:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3095 .loc 1 1575 42 view .LVU1097
3096 039e 5A70 strb r2, [r3, #1]
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3097 .loc 1 1576 11 is_stmt 1 view .LVU1098
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3098 .loc 1 1576 15 is_stmt 0 view .LVU1099
3099 03a0 636E ldr r3, [r4, #100]
1576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3100 .loc 1 1576 28 view .LVU1100
3101 03a2 5A1C adds r2, r3, #1
3102 03a4 6266 str r2, [r4, #100]
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3103 .loc 1 1577 11 is_stmt 1 view .LVU1101
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3104 .loc 1 1577 67 is_stmt 0 view .LVU1102
3105 03a6 2268 ldr r2, [r4]
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3106 .loc 1 1577 44 view .LVU1103
3107 03a8 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3108 .loc 1 1577 42 view .LVU1104
3109 03ac 5A70 strb r2, [r3, #1]
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3110 .loc 1 1578 11 is_stmt 1 view .LVU1105
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3111 .loc 1 1578 15 is_stmt 0 view .LVU1106
3112 03ae 636E ldr r3, [r4, #100]
1578:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR);
3113 .loc 1 1578 28 view .LVU1107
3114 03b0 5A1C adds r2, r3, #1
3115 03b2 6266 str r2, [r4, #100]
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3116 .loc 1 1579 11 is_stmt 1 view .LVU1108
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3117 .loc 1 1579 67 is_stmt 0 view .LVU1109
3118 03b4 2268 ldr r2, [r4]
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3119 .loc 1 1579 44 view .LVU1110
3120 03b6 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
1579:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3121 .loc 1 1579 42 view .LVU1111
3122 03ba 5A70 strb r2, [r3, #1]
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
3123 .loc 1 1580 11 is_stmt 1 view .LVU1112
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
3124 .loc 1 1580 15 is_stmt 0 view .LVU1113
3125 03bc 636E ldr r3, [r4, #100]
1580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount -= (uint16_t)4UL;
3126 .loc 1 1580 28 view .LVU1114
3127 03be 0133 adds r3, r3, #1
3128 03c0 6366 str r3, [r4, #100]
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 142
3129 .loc 1 1581 11 is_stmt 1 view .LVU1115
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3130 .loc 1 1581 15 is_stmt 0 view .LVU1116
3131 03c2 B4F86A30 ldrh r3, [r4, #106]
3132 03c6 9BB2 uxth r3, r3
1581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3133 .loc 1 1581 29 view .LVU1117
3134 03c8 043B subs r3, r3, #4
3135 03ca 9BB2 uxth r3, r3
3136 03cc A4F86A30 strh r3, [r4, #106] @ movhi
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3137 .loc 1 1582 11 is_stmt 1 view .LVU1118
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3138 .loc 1 1582 31 is_stmt 0 view .LVU1119
3139 03d0 B4F86AB0 ldrh fp, [r4, #106]
3140 .LVL151:
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3141 .loc 1 1582 31 view .LVU1120
3142 03d4 1FFA8BFB uxth fp, fp
3143 .LVL152:
1582:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3144 .loc 1 1582 31 view .LVU1121
3145 03d8 AFE7 b .L158
3146 .LVL153:
3147 .L171:
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3148 .loc 1 1585 14 is_stmt 1 view .LVU1122
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3149 .loc 1 1585 17 is_stmt 0 view .LVU1123
3150 03da BBF1030F cmp fp, #3
3151 03de 15D8 bhi .L172
1585:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3152 .loc 1 1585 46 discriminator 1 view .LVU1124
3153 03e0 12F4C04F tst r2, #24576
3154 03e4 12D0 beq .L172
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3155 .loc 1 1587 11 is_stmt 1 view .LVU1125
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3156 .loc 1 1587 28 is_stmt 0 view .LVU1126
3157 03e6 626E ldr r2, [r4, #100]
3158 .LVL154:
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3159 .loc 1 1587 44 view .LVU1127
3160 03e8 93F83030 ldrb r3, [r3, #48] @ zero_extendqisi2
1587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
3161 .loc 1 1587 42 view .LVU1128
3162 03ec 1370 strb r3, [r2]
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
3163 .loc 1 1588 11 is_stmt 1 view .LVU1129
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
3164 .loc 1 1588 15 is_stmt 0 view .LVU1130
3165 03ee 636E ldr r3, [r4, #100]
1588:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount--;
3166 .loc 1 1588 28 view .LVU1131
3167 03f0 0133 adds r3, r3, #1
3168 03f2 6366 str r3, [r4, #100]
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 143
3169 .loc 1 1589 11 is_stmt 1 view .LVU1132
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3170 .loc 1 1589 15 is_stmt 0 view .LVU1133
3171 03f4 B4F86A30 ldrh r3, [r4, #106]
3172 03f8 9BB2 uxth r3, r3
1589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** initial_RxXferCount = hspi->RxXferCount;
3173 .loc 1 1589 28 view .LVU1134
3174 03fa 013B subs r3, r3, #1
3175 03fc 9BB2 uxth r3, r3
3176 03fe A4F86A30 strh r3, [r4, #106] @ movhi
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3177 .loc 1 1590 11 is_stmt 1 view .LVU1135
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3178 .loc 1 1590 31 is_stmt 0 view .LVU1136
3179 0402 B4F86AB0 ldrh fp, [r4, #106]
3180 .LVL155:
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3181 .loc 1 1590 31 view .LVU1137
3182 0406 1FFA8BFB uxth fp, fp
3183 .LVL156:
1590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3184 .loc 1 1590 31 view .LVU1138
3185 040a 96E7 b .L158
3186 .LVL157:
3187 .L172:
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3188 .loc 1 1595 11 is_stmt 1 view .LVU1139
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3189 .loc 1 1595 18 is_stmt 0 view .LVU1140
3190 040c FFF7FEFF bl HAL_GetTick
3191 .LVL158:
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3192 .loc 1 1595 32 discriminator 1 view .LVU1141
3193 0410 C01B subs r0, r0, r7
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3194 .loc 1 1595 14 discriminator 1 view .LVU1142
3195 0412 0C9B ldr r3, [sp, #48]
3196 0414 9842 cmp r0, r3
3197 0416 02D3 bcc .L173
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3198 .loc 1 1595 58 discriminator 1 view .LVU1143
3199 0418 B3F1FF3F cmp r3, #-1
3200 041c 02D1 bne .L174
3201 .L173:
1595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3202 .loc 1 1595 89 discriminator 3 view .LVU1144
3203 041e 0C9B ldr r3, [sp, #48]
3204 0420 002B cmp r3, #0
3205 0422 8AD1 bne .L158
3206 .L174:
1598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3207 .loc 1 1598 13 is_stmt 1 view .LVU1145
3208 0424 2046 mov r0, r4
3209 0426 FFF7FEFF bl SPI_CloseTransfer
3210 .LVL159:
1600:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
3211 .loc 1 1600 13 view .LVU1146
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 144
3212 042a D4F88430 ldr r3, [r4, #132]
3213 042e 43F48073 orr r3, r3, #256
3214 0432 C4F88430 str r3, [r4, #132]
1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3215 .loc 1 1601 13 view .LVU1147
1601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3216 .loc 1 1601 25 is_stmt 0 view .LVU1148
3217 0436 0123 movs r3, #1
3218 0438 84F88130 strb r3, [r4, #129]
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3219 .loc 1 1604 13 is_stmt 1 view .LVU1149
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3220 .loc 1 1604 13 view .LVU1150
3221 043c 0023 movs r3, #0
3222 043e 84F88030 strb r3, [r4, #128]
1604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3223 .loc 1 1604 13 view .LVU1151
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3224 .loc 1 1606 13 view .LVU1152
1606:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3225 .loc 1 1606 20 is_stmt 0 view .LVU1153
3226 0442 4FF0030A mov r10, #3
3227 0446 20E0 b .L145
3228 .LVL160:
3229 .L181:
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3230 .loc 1 1341 23 view .LVU1154
3231 0448 AB46 mov fp, r5
3232 .LVL161:
1341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3233 .loc 1 1341 23 view .LVU1155
3234 044a 76E7 b .L158
3235 .LVL162:
3236 .L157:
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3237 .loc 1 1614 3 is_stmt 1 view .LVU1156
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3238 .loc 1 1614 7 is_stmt 0 view .LVU1157
3239 044c 0097 str r7, [sp]
3240 044e 0C9B ldr r3, [sp, #48]
3241 0450 0022 movs r2, #0
3242 0452 0821 movs r1, #8
3243 0454 2046 mov r0, r4
3244 0456 FFF7FEFF bl SPI_WaitOnFlagUntilTimeout
3245 .LVL163:
1614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3246 .loc 1 1614 6 discriminator 1 view .LVU1158
3247 045a 28B1 cbz r0, .L176
1616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3248 .loc 1 1616 5 is_stmt 1 view .LVU1159
3249 045c D4F88430 ldr r3, [r4, #132]
3250 0460 43F02003 orr r3, r3, #32
3251 0464 C4F88430 str r3, [r4, #132]
3252 .L176:
1620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3253 .loc 1 1620 3 view .LVU1160
3254 0468 2046 mov r0, r4
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 145
3255 046a FFF7FEFF bl SPI_CloseTransfer
3256 .LVL164:
1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3257 .loc 1 1622 3 view .LVU1161
1622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3258 .loc 1 1622 15 is_stmt 0 view .LVU1162
3259 046e 0123 movs r3, #1
3260 0470 84F88130 strb r3, [r4, #129]
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3261 .loc 1 1625 3 is_stmt 1 view .LVU1163
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3262 .loc 1 1625 3 view .LVU1164
3263 0474 0023 movs r3, #0
3264 0476 84F88030 strb r3, [r4, #128]
1625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3265 .loc 1 1625 3 view .LVU1165
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3266 .loc 1 1627 3 view .LVU1166
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3267 .loc 1 1627 11 is_stmt 0 view .LVU1167
3268 047a D4F88430 ldr r3, [r4, #132]
1627:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3269 .loc 1 1627 6 view .LVU1168
3270 047e 23B9 cbnz r3, .L145
1633:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3271 .loc 1 1633 12 view .LVU1169
3272 0480 4FF0000A mov r10, #0
3273 0484 01E0 b .L145
3274 .LVL165:
3275 .L177:
1345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3276 .loc 1 1345 12 view .LVU1170
3277 0486 4FF0020A mov r10, #2
3278 .LVL166:
3279 .L145:
1635:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3280 .loc 1 1635 1 view .LVU1171
3281 048a 5046 mov r0, r10
3282 048c 03B0 add sp, sp, #12
3283 .cfi_remember_state
3284 .cfi_def_cfa_offset 36
3285 @ sp needed
3286 048e BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc}
3287 .LVL167:
3288 .L178:
3289 .cfi_restore_state
1354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3290 .loc 1 1354 3 discriminator 1 view .LVU1172
3291 0492 4FF0020A mov r10, #2
3292 0496 F8E7 b .L145
3293 .cfi_endproc
3294 .LFE341:
3296 .section .text.HAL_SPI_Transmit_IT,"ax",%progbits
3297 .align 1
3298 .global HAL_SPI_Transmit_IT
3299 .syntax unified
3300 .thumb
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 146
3301 .thumb_func
3303 HAL_SPI_Transmit_IT:
3304 .LVL168:
3305 .LFB342:
1646:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
3306 .loc 1 1646 1 is_stmt 1 view -0
3307 .cfi_startproc
3308 @ args = 0, pretend = 0, frame = 0
3309 @ frame_needed = 0, uses_anonymous_args = 0
3310 @ link register save eliminated.
1648:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3311 .loc 1 1648 3 view .LVU1174
1650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3312 .loc 1 1650 3 view .LVU1175
1650:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3313 .loc 1 1650 6 is_stmt 0 view .LVU1176
3314 0000 002A cmp r2, #0
3315 0002 18BF it ne
3316 0004 0029 cmpne r1, #0
3317 0006 5AD0 beq .L195
1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3318 .loc 1 1655 3 is_stmt 1 view .LVU1177
1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3319 .loc 1 1655 11 is_stmt 0 view .LVU1178
3320 0008 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
1655:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3321 .loc 1 1655 6 view .LVU1179
3322 000c 012B cmp r3, #1
3323 000e 58D1 bne .L196
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3324 .loc 1 1661 3 is_stmt 1 view .LVU1180
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3325 .loc 1 1661 3 view .LVU1181
3326 0010 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
3327 0014 012B cmp r3, #1
3328 0016 56D0 beq .L197
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3329 .loc 1 1661 3 discriminator 2 view .LVU1182
3330 0018 0123 movs r3, #1
3331 001a 80F88030 strb r3, [r0, #128]
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3332 .loc 1 1661 3 view .LVU1183
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3333 .loc 1 1664 3 view .LVU1184
1664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3334 .loc 1 1664 21 is_stmt 0 view .LVU1185
3335 001e 0323 movs r3, #3
3336 0020 80F88130 strb r3, [r0, #129]
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
3337 .loc 1 1665 3 is_stmt 1 view .LVU1186
1665:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
3338 .loc 1 1665 21 is_stmt 0 view .LVU1187
3339 0024 0023 movs r3, #0
3340 0026 C0F88430 str r3, [r0, #132]
1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
3341 .loc 1 1666 3 is_stmt 1 view .LVU1188
1666:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 147
3342 .loc 1 1666 21 is_stmt 0 view .LVU1189
3343 002a C165 str r1, [r0, #92]
1667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
3344 .loc 1 1667 3 is_stmt 1 view .LVU1190
1667:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
3345 .loc 1 1667 21 is_stmt 0 view .LVU1191
3346 002c A0F86020 strh r2, [r0, #96] @ movhi
1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3347 .loc 1 1668 3 is_stmt 1 view .LVU1192
1668:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3348 .loc 1 1668 21 is_stmt 0 view .LVU1193
3349 0030 A0F86220 strh r2, [r0, #98] @ movhi
1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
3350 .loc 1 1671 3 is_stmt 1 view .LVU1194
1671:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t) 0UL;
3351 .loc 1 1671 21 is_stmt 0 view .LVU1195
3352 0034 4366 str r3, [r0, #100]
1672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
3353 .loc 1 1672 3 is_stmt 1 view .LVU1196
1672:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
3354 .loc 1 1672 21 is_stmt 0 view .LVU1197
3355 0036 A0F86830 strh r3, [r0, #104] @ movhi
1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
3356 .loc 1 1673 3 is_stmt 1 view .LVU1198
1673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
3357 .loc 1 1673 21 is_stmt 0 view .LVU1199
3358 003a A0F86A30 strh r3, [r0, #106] @ movhi
1674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3359 .loc 1 1674 3 is_stmt 1 view .LVU1200
1674:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3360 .loc 1 1674 21 is_stmt 0 view .LVU1201
3361 003e 0367 str r3, [r0, #112]
1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3362 .loc 1 1683 3 is_stmt 1 view .LVU1202
1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3363 .loc 1 1683 17 is_stmt 0 view .LVU1203
3364 0040 C368 ldr r3, [r0, #12]
1683:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3365 .loc 1 1683 6 view .LVU1204
3366 0042 0F2B cmp r3, #15
3367 0044 26D9 bls .L190
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3368 .loc 1 1685 5 is_stmt 1 view .LVU1205
1685:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3369 .loc 1 1685 17 is_stmt 0 view .LVU1206
3370 0046 214B ldr r3, .L201
3371 0048 4367 str r3, [r0, #116]
3372 .L191:
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3373 .loc 1 1697 3 is_stmt 1 view .LVU1207
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3374 .loc 1 1697 17 is_stmt 0 view .LVU1208
3375 004a 8368 ldr r3, [r0, #8]
1697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3376 .loc 1 1697 6 view .LVU1209
3377 004c B3F5C02F cmp r3, #393216
3378 0050 28D0 beq .L199
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 148
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3379 .loc 1 1703 5 is_stmt 1 view .LVU1210
3380 0052 0168 ldr r1, [r0]
3381 .LVL169:
1703:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3382 .loc 1 1703 5 is_stmt 0 view .LVU1211
3383 0054 CB68 ldr r3, [r1, #12]
3384 0056 23F4C023 bic r3, r3, #393216
3385 005a 43F40033 orr r3, r3, #131072
3386 005e CB60 str r3, [r1, #12]
3387 .LVL170:
3388 .L194:
1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3389 .loc 1 1707 3 is_stmt 1 view .LVU1212
3390 0060 0168 ldr r1, [r0]
3391 0062 4B68 ldr r3, [r1, #4]
3392 0064 6FF30F03 bfc r3, #0, #16
3393 0068 1A43 orrs r2, r2, r3
3394 .LVL171:
1707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3395 .loc 1 1707 3 is_stmt 0 view .LVU1213
3396 006a 4A60 str r2, [r1, #4]
1710:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3397 .loc 1 1710 3 is_stmt 1 view .LVU1214
3398 006c 0268 ldr r2, [r0]
3399 006e 1368 ldr r3, [r2]
3400 0070 43F00103 orr r3, r3, #1
3401 0074 1360 str r3, [r2]
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3402 .loc 1 1713 3 view .LVU1215
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3403 .loc 1 1713 3 view .LVU1216
3404 0076 0023 movs r3, #0
3405 0078 80F88030 strb r3, [r0, #128]
1713:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3406 .loc 1 1713 3 view .LVU1217
1716:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3407 .loc 1 1716 3 view .LVU1218
3408 007c 0268 ldr r2, [r0]
3409 007e 1169 ldr r1, [r2, #16]
3410 0080 40F22A73 movw r3, #1834
3411 0084 0B43 orrs r3, r3, r1
3412 0086 1361 str r3, [r2, #16]
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3413 .loc 1 1718 3 view .LVU1219
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3414 .loc 1 1718 17 is_stmt 0 view .LVU1220
3415 0088 4368 ldr r3, [r0, #4]
1718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3416 .loc 1 1718 6 view .LVU1221
3417 008a B3F5800F cmp r3, #4194304
3418 008e 0FD0 beq .L200
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3419 .loc 1 1724 10 view .LVU1222
3420 0090 0020 movs r0, #0
3421 .LVL172:
1725:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 149
3422 .loc 1 1725 1 view .LVU1223
3423 0092 7047 bx lr
3424 .LVL173:
3425 .L190:
1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3426 .loc 1 1687 8 is_stmt 1 view .LVU1224
1687:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3427 .loc 1 1687 11 is_stmt 0 view .LVU1225
3428 0094 072B cmp r3, #7
3429 0096 02D9 bls .L192
1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3430 .loc 1 1689 5 is_stmt 1 view .LVU1226
1689:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3431 .loc 1 1689 17 is_stmt 0 view .LVU1227
3432 0098 0D4B ldr r3, .L201+4
3433 009a 4367 str r3, [r0, #116]
3434 009c D5E7 b .L191
3435 .L192:
1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3436 .loc 1 1693 5 is_stmt 1 view .LVU1228
1693:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3437 .loc 1 1693 17 is_stmt 0 view .LVU1229
3438 009e 0D4B ldr r3, .L201+8
3439 00a0 4367 str r3, [r0, #116]
3440 00a2 D2E7 b .L191
3441 .L199:
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3442 .loc 1 1699 5 is_stmt 1 view .LVU1230
3443 00a4 0168 ldr r1, [r0]
3444 .LVL174:
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3445 .loc 1 1699 5 is_stmt 0 view .LVU1231
3446 00a6 0B68 ldr r3, [r1]
3447 00a8 43F40063 orr r3, r3, #2048
3448 00ac 0B60 str r3, [r1]
3449 .LVL175:
1699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3450 .loc 1 1699 5 view .LVU1232
3451 00ae D7E7 b .L194
3452 .LVL176:
3453 .L200:
1721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3454 .loc 1 1721 5 is_stmt 1 view .LVU1233
3455 00b0 0268 ldr r2, [r0]
3456 00b2 1368 ldr r3, [r2]
3457 00b4 43F40073 orr r3, r3, #512
3458 00b8 1360 str r3, [r2]
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3459 .loc 1 1724 10 is_stmt 0 view .LVU1234
3460 00ba 0020 movs r0, #0
3461 .LVL177:
1724:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3462 .loc 1 1724 10 view .LVU1235
3463 00bc 7047 bx lr
3464 .LVL178:
3465 .L195:
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 150
3466 .loc 1 1652 12 view .LVU1236
3467 00be 0120 movs r0, #1
3468 .LVL179:
1652:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3469 .loc 1 1652 12 view .LVU1237
3470 00c0 7047 bx lr
3471 .LVL180:
3472 .L196:
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3473 .loc 1 1657 12 view .LVU1238
3474 00c2 0220 movs r0, #2
3475 .LVL181:
1657:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3476 .loc 1 1657 12 view .LVU1239
3477 00c4 7047 bx lr
3478 .LVL182:
3479 .L197:
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3480 .loc 1 1661 3 discriminator 1 view .LVU1240
3481 00c6 0220 movs r0, #2
3482 .LVL183:
1661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3483 .loc 1 1661 3 discriminator 1 view .LVU1241
3484 00c8 7047 bx lr
3485 .L202:
3486 00ca 00BF .align 2
3487 .L201:
3488 00cc 00000000 .word SPI_TxISR_32BIT
3489 00d0 00000000 .word SPI_TxISR_16BIT
3490 00d4 00000000 .word SPI_TxISR_8BIT
3491 .cfi_endproc
3492 .LFE342:
3494 .section .text.HAL_SPI_Receive_IT,"ax",%progbits
3495 .align 1
3496 .global HAL_SPI_Receive_IT
3497 .syntax unified
3498 .thumb
3499 .thumb_func
3501 HAL_SPI_Receive_IT:
3502 .LVL184:
3503 .LFB343:
1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
3504 .loc 1 1736 1 is_stmt 1 view -0
3505 .cfi_startproc
3506 @ args = 0, pretend = 0, frame = 0
3507 @ frame_needed = 0, uses_anonymous_args = 0
3508 @ link register save eliminated.
1736:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
3509 .loc 1 1736 1 is_stmt 0 view .LVU1243
3510 0000 0346 mov r3, r0
1738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3511 .loc 1 1738 3 is_stmt 1 view .LVU1244
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3512 .loc 1 1740 3 view .LVU1245
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3513 .loc 1 1740 11 is_stmt 0 view .LVU1246
3514 0002 90F881C0 ldrb ip, [r0, #129] @ zero_extendqisi2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 151
3515 0006 5FFA8CF0 uxtb r0, ip
3516 .LVL185:
1740:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3517 .loc 1 1740 6 view .LVU1247
3518 000a BCF1010F cmp ip, #1
3519 000e 5AD1 bne .L210
1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3520 .loc 1 1745 3 is_stmt 1 view .LVU1248
1745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3521 .loc 1 1745 6 is_stmt 0 view .LVU1249
3522 0010 002A cmp r2, #0
3523 0012 18BF it ne
3524 0014 0029 cmpne r1, #0
3525 0016 40D0 beq .L204
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3526 .loc 1 1751 3 is_stmt 1 view .LVU1250
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3527 .loc 1 1751 3 view .LVU1251
3528 0018 93F88000 ldrb r0, [r3, #128] @ zero_extendqisi2
3529 001c 0128 cmp r0, #1
3530 001e 54D0 beq .L211
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3531 .loc 1 1751 3 discriminator 2 view .LVU1252
3532 0020 0120 movs r0, #1
3533 0022 83F88000 strb r0, [r3, #128]
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3534 .loc 1 1751 3 view .LVU1253
1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3535 .loc 1 1754 3 view .LVU1254
1754:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3536 .loc 1 1754 21 is_stmt 0 view .LVU1255
3537 0026 0420 movs r0, #4
3538 0028 83F88100 strb r0, [r3, #129]
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3539 .loc 1 1755 3 is_stmt 1 view .LVU1256
1755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
3540 .loc 1 1755 21 is_stmt 0 view .LVU1257
3541 002c 0020 movs r0, #0
3542 002e C3F88400 str r0, [r3, #132]
1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
3543 .loc 1 1756 3 is_stmt 1 view .LVU1258
1756:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
3544 .loc 1 1756 21 is_stmt 0 view .LVU1259
3545 0032 5966 str r1, [r3, #100]
1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
3546 .loc 1 1757 3 is_stmt 1 view .LVU1260
1757:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
3547 .loc 1 1757 21 is_stmt 0 view .LVU1261
3548 0034 A3F86820 strh r2, [r3, #104] @ movhi
1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3549 .loc 1 1758 3 is_stmt 1 view .LVU1262
1758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3550 .loc 1 1758 21 is_stmt 0 view .LVU1263
3551 0038 A3F86A20 strh r2, [r3, #106] @ movhi
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
3552 .loc 1 1761 3 is_stmt 1 view .LVU1264
1761:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 152
3553 .loc 1 1761 21 is_stmt 0 view .LVU1265
3554 003c D865 str r0, [r3, #92]
1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
3555 .loc 1 1762 3 is_stmt 1 view .LVU1266
1762:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
3556 .loc 1 1762 21 is_stmt 0 view .LVU1267
3557 003e A3F86000 strh r0, [r3, #96] @ movhi
1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
3558 .loc 1 1763 3 is_stmt 1 view .LVU1268
1763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
3559 .loc 1 1763 21 is_stmt 0 view .LVU1269
3560 0042 A3F86200 strh r0, [r3, #98] @ movhi
1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3561 .loc 1 1764 3 is_stmt 1 view .LVU1270
1764:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3562 .loc 1 1764 21 is_stmt 0 view .LVU1271
3563 0046 5867 str r0, [r3, #116]
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3564 .loc 1 1773 3 is_stmt 1 view .LVU1272
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3565 .loc 1 1773 17 is_stmt 0 view .LVU1273
3566 0048 D968 ldr r1, [r3, #12]
3567 .LVL186:
1773:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3568 .loc 1 1773 6 view .LVU1274
3569 004a 0F29 cmp r1, #15
3570 004c 26D9 bls .L205
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3571 .loc 1 1775 5 is_stmt 1 view .LVU1275
1775:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3572 .loc 1 1775 17 is_stmt 0 view .LVU1276
3573 004e 2049 ldr r1, .L215
3574 0050 1967 str r1, [r3, #112]
3575 .L206:
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3576 .loc 1 1787 3 is_stmt 1 view .LVU1277
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3577 .loc 1 1787 17 is_stmt 0 view .LVU1278
3578 0052 9968 ldr r1, [r3, #8]
1787:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3579 .loc 1 1787 6 view .LVU1279
3580 0054 B1F5C02F cmp r1, #393216
3581 0058 28D0 beq .L213
1793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3582 .loc 1 1793 5 is_stmt 1 view .LVU1280
3583 005a 1868 ldr r0, [r3]
3584 005c C168 ldr r1, [r0, #12]
3585 005e 21F4C021 bic r1, r1, #393216
3586 0062 41F48021 orr r1, r1, #262144
3587 0066 C160 str r1, [r0, #12]
3588 .LVL187:
3589 .L209:
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3590 .loc 1 1801 3 view .LVU1281
3591 0068 1868 ldr r0, [r3]
3592 006a 4168 ldr r1, [r0, #4]
3593 006c 6FF30F01 bfc r1, #0, #16
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 153
3594 0070 0A43 orrs r2, r2, r1
3595 .LVL188:
1801:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3596 .loc 1 1801 3 is_stmt 0 view .LVU1282
3597 0072 4260 str r2, [r0, #4]
1804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3598 .loc 1 1804 3 is_stmt 1 view .LVU1283
3599 0074 1968 ldr r1, [r3]
3600 0076 0A68 ldr r2, [r1]
3601 0078 42F00102 orr r2, r2, #1
3602 007c 0A60 str r2, [r1]
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3603 .loc 1 1807 3 view .LVU1284
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3604 .loc 1 1807 3 view .LVU1285
3605 007e 0022 movs r2, #0
3606 0080 83F88020 strb r2, [r3, #128]
1807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3607 .loc 1 1807 3 view .LVU1286
1810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3608 .loc 1 1810 3 view .LVU1287
3609 0084 1968 ldr r1, [r3]
3610 0086 0869 ldr r0, [r1, #16]
3611 0088 40F24972 movw r2, #1865
3612 008c 0243 orrs r2, r2, r0
3613 008e 0A61 str r2, [r1, #16]
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3614 .loc 1 1812 3 view .LVU1288
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3615 .loc 1 1812 17 is_stmt 0 view .LVU1289
3616 0090 5A68 ldr r2, [r3, #4]
1812:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3617 .loc 1 1812 6 view .LVU1290
3618 0092 B2F5800F cmp r2, #4194304
3619 0096 0FD0 beq .L214
1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3620 .loc 1 1818 10 view .LVU1291
3621 0098 0020 movs r0, #0
3622 .L204:
1819:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3623 .loc 1 1819 1 view .LVU1292
3624 009a 7047 bx lr
3625 .LVL189:
3626 .L205:
1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3627 .loc 1 1777 8 is_stmt 1 view .LVU1293
1777:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3628 .loc 1 1777 11 is_stmt 0 view .LVU1294
3629 009c 0729 cmp r1, #7
3630 009e 02D9 bls .L207
1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3631 .loc 1 1779 5 is_stmt 1 view .LVU1295
1779:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3632 .loc 1 1779 17 is_stmt 0 view .LVU1296
3633 00a0 0C49 ldr r1, .L215+4
3634 00a2 1967 str r1, [r3, #112]
3635 00a4 D5E7 b .L206
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 154
3636 .L207:
1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3637 .loc 1 1783 5 is_stmt 1 view .LVU1297
1783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3638 .loc 1 1783 17 is_stmt 0 view .LVU1298
3639 00a6 0C49 ldr r1, .L215+8
3640 00a8 1967 str r1, [r3, #112]
3641 00aa D2E7 b .L206
3642 .L213:
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3643 .loc 1 1789 5 is_stmt 1 view .LVU1299
3644 00ac 1868 ldr r0, [r3]
3645 00ae 0168 ldr r1, [r0]
3646 00b0 21F40061 bic r1, r1, #2048
3647 00b4 0160 str r1, [r0]
3648 .LVL190:
1789:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3649 .loc 1 1789 5 is_stmt 0 view .LVU1300
3650 00b6 D7E7 b .L209
3651 .LVL191:
3652 .L214:
1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3653 .loc 1 1815 5 is_stmt 1 view .LVU1301
3654 00b8 1A68 ldr r2, [r3]
3655 00ba 1368 ldr r3, [r2]
3656 .LVL192:
1815:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3657 .loc 1 1815 5 is_stmt 0 view .LVU1302
3658 00bc 43F40073 orr r3, r3, #512
3659 00c0 1360 str r3, [r2]
1818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3660 .loc 1 1818 10 view .LVU1303
3661 00c2 0020 movs r0, #0
3662 00c4 7047 bx lr
3663 .LVL193:
3664 .L210:
1742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3665 .loc 1 1742 12 view .LVU1304
3666 00c6 0220 movs r0, #2
3667 00c8 7047 bx lr
3668 .L211:
1751:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3669 .loc 1 1751 3 discriminator 1 view .LVU1305
3670 00ca 0220 movs r0, #2
3671 00cc 7047 bx lr
3672 .L216:
3673 00ce 00BF .align 2
3674 .L215:
3675 00d0 00000000 .word SPI_RxISR_32BIT
3676 00d4 00000000 .word SPI_RxISR_16BIT
3677 00d8 00000000 .word SPI_RxISR_8BIT
3678 .cfi_endproc
3679 .LFE343:
3681 .section .text.HAL_SPI_TransmitReceive_IT,"ax",%progbits
3682 .align 1
3683 .global HAL_SPI_TransmitReceive_IT
3684 .syntax unified
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 155
3685 .thumb
3686 .thumb_func
3688 HAL_SPI_TransmitReceive_IT:
3689 .LVL194:
3690 .LFB344:
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tmp_TxXferCount;
3691 .loc 1 1832 1 is_stmt 1 view -0
3692 .cfi_startproc
3693 @ args = 0, pretend = 0, frame = 0
3694 @ frame_needed = 0, uses_anonymous_args = 0
1832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t tmp_TxXferCount;
3695 .loc 1 1832 1 is_stmt 0 view .LVU1307
3696 0000 10B5 push {r4, lr}
3697 .cfi_def_cfa_offset 8
3698 .cfi_offset 4, -8
3699 .cfi_offset 14, -4
1833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
3700 .loc 1 1833 3 is_stmt 1 view .LVU1308
1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
3701 .loc 1 1835 3 view .LVU1309
1835:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
3702 .loc 1 1835 57 is_stmt 0 view .LVU1310
3703 0002 0468 ldr r4, [r0]
3704 .LVL195:
1839:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3705 .loc 1 1839 3 is_stmt 1 view .LVU1311
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3706 .loc 1 1841 3 view .LVU1312
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3707 .loc 1 1841 11 is_stmt 0 view .LVU1313
3708 0004 90F881E0 ldrb lr, [r0, #129] @ zero_extendqisi2
1841:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3709 .loc 1 1841 6 view .LVU1314
3710 0008 BEF1010F cmp lr, #1
3711 000c 40F0B480 bne .L228
3712 0010 8446 mov ip, r0
3713 0012 5FFA8EF0 uxtb r0, lr
3714 .LVL196:
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3715 .loc 1 1846 3 is_stmt 1 view .LVU1315
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3716 .loc 1 1846 6 is_stmt 0 view .LVU1316
3717 0016 002A cmp r2, #0
3718 0018 18BF it ne
3719 001a 0029 cmpne r1, #0
3720 001c 00F0AD80 beq .L218
1846:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3721 .loc 1 1846 46 discriminator 1 view .LVU1317
3722 0020 002B cmp r3, #0
3723 0022 00F0AA80 beq .L218
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3724 .loc 1 1852 3 is_stmt 1 view .LVU1318
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3725 .loc 1 1852 3 view .LVU1319
3726 0026 9CF88000 ldrb r0, [ip, #128] @ zero_extendqisi2
3727 002a 0128 cmp r0, #1
3728 002c 00F0A680 beq .L229
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 156
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3729 .loc 1 1852 3 discriminator 2 view .LVU1320
3730 0030 0120 movs r0, #1
3731 0032 8CF88000 strb r0, [ip, #128]
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3732 .loc 1 1852 3 view .LVU1321
1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3733 .loc 1 1855 3 view .LVU1322
1855:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
3734 .loc 1 1855 21 is_stmt 0 view .LVU1323
3735 0036 0520 movs r0, #5
3736 0038 8CF88100 strb r0, [ip, #129]
1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
3737 .loc 1 1856 3 is_stmt 1 view .LVU1324
1856:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
3738 .loc 1 1856 21 is_stmt 0 view .LVU1325
3739 003c 0020 movs r0, #0
3740 003e CCF88400 str r0, [ip, #132]
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
3741 .loc 1 1857 3 is_stmt 1 view .LVU1326
1857:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
3742 .loc 1 1857 21 is_stmt 0 view .LVU1327
3743 0042 CCF85C10 str r1, [ip, #92]
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
3744 .loc 1 1858 3 is_stmt 1 view .LVU1328
1858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
3745 .loc 1 1858 21 is_stmt 0 view .LVU1329
3746 0046 ACF86030 strh r3, [ip, #96] @ movhi
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3747 .loc 1 1859 3 is_stmt 1 view .LVU1330
1859:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
3748 .loc 1 1859 21 is_stmt 0 view .LVU1331
3749 004a ACF86230 strh r3, [ip, #98] @ movhi
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
3750 .loc 1 1860 3 is_stmt 1 view .LVU1332
1860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
3751 .loc 1 1860 21 is_stmt 0 view .LVU1333
3752 004e CCF86420 str r2, [ip, #100]
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
3753 .loc 1 1861 3 is_stmt 1 view .LVU1334
1861:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
3754 .loc 1 1861 21 is_stmt 0 view .LVU1335
3755 0052 ACF86830 strh r3, [ip, #104] @ movhi
1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3756 .loc 1 1862 3 is_stmt 1 view .LVU1336
1862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3757 .loc 1 1862 21 is_stmt 0 view .LVU1337
3758 0056 ACF86A30 strh r3, [ip, #106] @ movhi
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3759 .loc 1 1863 3 is_stmt 1 view .LVU1338
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3760 .loc 1 1863 27 is_stmt 0 view .LVU1339
3761 005a BCF86220 ldrh r2, [ip, #98]
3762 .LVL197:
1863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3763 .loc 1 1863 27 view .LVU1340
3764 005e 92B2 uxth r2, r2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 157
3765 .LVL198:
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3766 .loc 1 1874 3 is_stmt 1 view .LVU1341
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3767 .loc 1 1874 17 is_stmt 0 view .LVU1342
3768 0060 DCF80C10 ldr r1, [ip, #12]
3769 .LVL199:
1874:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3770 .loc 1 1874 6 view .LVU1343
3771 0064 0F29 cmp r1, #15
3772 0066 17D9 bls .L219
1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_32BIT;
3773 .loc 1 1876 5 is_stmt 1 view .LVU1344
1876:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_32BIT;
3774 .loc 1 1876 21 is_stmt 0 view .LVU1345
3775 0068 4549 ldr r1, .L233
3776 006a CCF87410 str r1, [ip, #116]
1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3777 .loc 1 1877 5 is_stmt 1 view .LVU1346
1877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3778 .loc 1 1877 21 is_stmt 0 view .LVU1347
3779 006e 4549 ldr r1, .L233+4
3780 0070 CCF87010 str r1, [ip, #112]
3781 .L220:
1891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3782 .loc 1 1891 3 is_stmt 1 view .LVU1348
3783 0074 E168 ldr r1, [r4, #12]
3784 0076 21F4C021 bic r1, r1, #393216
3785 007a E160 str r1, [r4, #12]
3786 .LVL200:
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3787 .loc 1 1894 3 view .LVU1349
3788 007c DCF80000 ldr r0, [ip]
3789 0080 4168 ldr r1, [r0, #4]
3790 0082 6FF30F01 bfc r1, #0, #16
3791 0086 0B43 orrs r3, r3, r1
3792 .LVL201:
1894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3793 .loc 1 1894 3 is_stmt 0 view .LVU1350
3794 0088 4360 str r3, [r0, #4]
1897:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3795 .loc 1 1897 3 is_stmt 1 view .LVU1351
3796 008a DCF80010 ldr r1, [ip]
3797 008e 0B68 ldr r3, [r1]
3798 0090 43F00103 orr r3, r3, #1
3799 0094 0B60 str r3, [r1]
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3800 .loc 1 1900 3 view .LVU1352
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3801 .loc 1 1900 9 is_stmt 0 view .LVU1353
3802 0096 24E0 b .L222
3803 .LVL202:
3804 .L219:
1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3805 .loc 1 1879 8 is_stmt 1 view .LVU1354
1879:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3806 .loc 1 1879 11 is_stmt 0 view .LVU1355
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 158
3807 0098 0729 cmp r1, #7
3808 009a 06D9 bls .L221
1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
3809 .loc 1 1881 5 is_stmt 1 view .LVU1356
1881:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT;
3810 .loc 1 1881 21 is_stmt 0 view .LVU1357
3811 009c 3A49 ldr r1, .L233+8
3812 009e CCF87010 str r1, [ip, #112]
1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3813 .loc 1 1882 5 is_stmt 1 view .LVU1358
1882:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3814 .loc 1 1882 21 is_stmt 0 view .LVU1359
3815 00a2 3A49 ldr r1, .L233+12
3816 00a4 CCF87410 str r1, [ip, #116]
3817 00a8 E4E7 b .L220
3818 .L221:
1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
3819 .loc 1 1886 5 is_stmt 1 view .LVU1360
1886:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT;
3820 .loc 1 1886 21 is_stmt 0 view .LVU1361
3821 00aa 3949 ldr r1, .L233+16
3822 00ac CCF87010 str r1, [ip, #112]
1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3823 .loc 1 1887 5 is_stmt 1 view .LVU1362
1887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3824 .loc 1 1887 21 is_stmt 0 view .LVU1363
3825 00b0 3849 ldr r1, .L233+20
3826 00b2 CCF87410 str r1, [ip, #116]
3827 00b6 DDE7 b .L220
3828 .LVL203:
3829 .L223:
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3830 .loc 1 1911 10 is_stmt 1 view .LVU1364
1911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3831 .loc 1 1911 13 is_stmt 0 view .LVU1365
3832 00b8 072A cmp r2, #7
3833 00ba 31D9 bls .L225
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3834 .loc 1 1914 7 is_stmt 1 view .LVU1366
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3835 .loc 1 1914 47 is_stmt 0 view .LVU1367
3836 00bc DCF85C30 ldr r3, [ip, #92]
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3837 .loc 1 1914 23 view .LVU1368
3838 00c0 1B88 ldrh r3, [r3]
1914:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
3839 .loc 1 1914 21 view .LVU1369
3840 00c2 2384 strh r3, [r4, #32] @ movhi
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3841 .loc 1 1918 7 is_stmt 1 view .LVU1370
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3842 .loc 1 1918 11 is_stmt 0 view .LVU1371
3843 00c4 DCF85C30 ldr r3, [ip, #92]
1918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3844 .loc 1 1918 24 view .LVU1372
3845 00c8 0233 adds r3, r3, #2
3846 00ca CCF85C30 str r3, [ip, #92]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 159
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3847 .loc 1 1919 7 is_stmt 1 view .LVU1373
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3848 .loc 1 1919 11 is_stmt 0 view .LVU1374
3849 00ce BCF86230 ldrh r3, [ip, #98]
3850 00d2 9BB2 uxth r3, r3
1919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3851 .loc 1 1919 24 view .LVU1375
3852 00d4 013B subs r3, r3, #1
3853 00d6 9BB2 uxth r3, r3
3854 00d8 ACF86230 strh r3, [ip, #98] @ movhi
1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3855 .loc 1 1920 7 is_stmt 1 view .LVU1376
1920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3856 .loc 1 1920 29 is_stmt 0 view .LVU1377
3857 00dc BCF86220 ldrh r2, [ip, #98]
3858 00e0 92B2 uxth r2, r2
3859 .LVL204:
3860 .L222:
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3861 .loc 1 1900 51 is_stmt 1 view .LVU1378
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3862 .loc 1 1900 11 is_stmt 0 view .LVU1379
3863 00e2 DCF80030 ldr r3, [ip]
3864 00e6 5969 ldr r1, [r3, #20]
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3865 .loc 1 1900 51 view .LVU1380
3866 00e8 11F0020F tst r1, #2
3867 00ec 2DD0 beq .L226
1900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3868 .loc 1 1900 51 discriminator 1 view .LVU1381
3869 00ee 62B3 cbz r2, .L226
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3870 .loc 1 1903 5 is_stmt 1 view .LVU1382
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3871 .loc 1 1903 19 is_stmt 0 view .LVU1383
3872 00f0 DCF80C20 ldr r2, [ip, #12]
3873 .LVL205:
1903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3874 .loc 1 1903 8 view .LVU1384
3875 00f4 0F2A cmp r2, #15
3876 00f6 DFD9 bls .L223
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
3877 .loc 1 1905 7 is_stmt 1 view .LVU1385
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
3878 .loc 1 1905 75 is_stmt 0 view .LVU1386
3879 00f8 DCF85C20 ldr r2, [ip, #92]
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
3880 .loc 1 1905 51 view .LVU1387
3881 00fc 1268 ldr r2, [r2]
1905:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint32_t);
3882 .loc 1 1905 49 view .LVU1388
3883 00fe 1A62 str r2, [r3, #32]
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3884 .loc 1 1906 7 is_stmt 1 view .LVU1389
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3885 .loc 1 1906 11 is_stmt 0 view .LVU1390
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 160
3886 0100 DCF85C30 ldr r3, [ip, #92]
1906:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3887 .loc 1 1906 24 view .LVU1391
3888 0104 0433 adds r3, r3, #4
3889 0106 CCF85C30 str r3, [ip, #92]
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3890 .loc 1 1907 7 is_stmt 1 view .LVU1392
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3891 .loc 1 1907 11 is_stmt 0 view .LVU1393
3892 010a BCF86230 ldrh r3, [ip, #98]
3893 010e 9BB2 uxth r3, r3
1907:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3894 .loc 1 1907 24 view .LVU1394
3895 0110 013B subs r3, r3, #1
3896 0112 9BB2 uxth r3, r3
3897 0114 ACF86230 strh r3, [ip, #98] @ movhi
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3898 .loc 1 1908 7 is_stmt 1 view .LVU1395
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3899 .loc 1 1908 29 is_stmt 0 view .LVU1396
3900 0118 BCF86220 ldrh r2, [ip, #98]
3901 011c 92B2 uxth r2, r2
3902 .LVL206:
1908:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3903 .loc 1 1908 29 view .LVU1397
3904 011e E0E7 b .L222
3905 .LVL207:
3906 .L225:
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3907 .loc 1 1925 7 is_stmt 1 view .LVU1398
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3908 .loc 1 1925 73 is_stmt 0 view .LVU1399
3909 0120 DCF85C20 ldr r2, [ip, #92]
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3910 .loc 1 1925 50 view .LVU1400
3911 0124 1278 ldrb r2, [r2] @ zero_extendqisi2
1925:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t);
3912 .loc 1 1925 48 view .LVU1401
3913 0126 83F82020 strb r2, [r3, #32]
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3914 .loc 1 1926 7 is_stmt 1 view .LVU1402
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3915 .loc 1 1926 11 is_stmt 0 view .LVU1403
3916 012a DCF85C30 ldr r3, [ip, #92]
1926:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount--;
3917 .loc 1 1926 24 view .LVU1404
3918 012e 0133 adds r3, r3, #1
3919 0130 CCF85C30 str r3, [ip, #92]
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3920 .loc 1 1927 7 is_stmt 1 view .LVU1405
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3921 .loc 1 1927 11 is_stmt 0 view .LVU1406
3922 0134 BCF86230 ldrh r3, [ip, #98]
3923 0138 9BB2 uxth r3, r3
1927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** tmp_TxXferCount = hspi->TxXferCount;
3924 .loc 1 1927 24 view .LVU1407
3925 013a 013B subs r3, r3, #1
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 161
3926 013c 9BB2 uxth r3, r3
3927 013e ACF86230 strh r3, [ip, #98] @ movhi
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3928 .loc 1 1928 7 is_stmt 1 view .LVU1408
1928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3929 .loc 1 1928 29 is_stmt 0 view .LVU1409
3930 0142 BCF86220 ldrh r2, [ip, #98]
3931 0146 92B2 uxth r2, r2
3932 0148 CBE7 b .L222
3933 .LVL208:
3934 .L226:
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3935 .loc 1 1933 3 is_stmt 1 view .LVU1410
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3936 .loc 1 1933 3 view .LVU1411
3937 014a 0022 movs r2, #0
3938 .LVL209:
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3939 .loc 1 1933 3 is_stmt 0 view .LVU1412
3940 014c 8CF88020 strb r2, [ip, #128]
1933:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3941 .loc 1 1933 3 is_stmt 1 view .LVU1413
1936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_FRE | SPI_IT_MODF | SPI_IT_TSERF));
3942 .loc 1 1936 3 view .LVU1414
3943 0150 1969 ldr r1, [r3, #16]
3944 0152 40F26C72 movw r2, #1900
3945 0156 0A43 orrs r2, r2, r1
3946 0158 1A61 str r2, [r3, #16]
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3947 .loc 1 1939 3 view .LVU1415
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3948 .loc 1 1939 17 is_stmt 0 view .LVU1416
3949 015a DCF80430 ldr r3, [ip, #4]
1939:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
3950 .loc 1 1939 6 view .LVU1417
3951 015e B3F5800F cmp r3, #4194304
3952 0162 01D0 beq .L232
1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3953 .loc 1 1945 10 view .LVU1418
3954 0164 0020 movs r0, #0
3955 0166 08E0 b .L218
3956 .L232:
1942:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3957 .loc 1 1942 5 is_stmt 1 view .LVU1419
3958 0168 DCF80020 ldr r2, [ip]
3959 016c 1368 ldr r3, [r2]
3960 016e 43F40073 orr r3, r3, #512
3961 0172 1360 str r3, [r2]
1945:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3962 .loc 1 1945 10 is_stmt 0 view .LVU1420
3963 0174 0020 movs r0, #0
3964 0176 00E0 b .L218
3965 .LVL210:
3966 .L228:
1843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
3967 .loc 1 1843 12 view .LVU1421
3968 0178 0220 movs r0, #2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 162
3969 .LVL211:
3970 .L218:
1946:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3971 .loc 1 1946 1 view .LVU1422
3972 017a 10BD pop {r4, pc}
3973 .LVL212:
3974 .L229:
1852:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
3975 .loc 1 1852 3 discriminator 1 view .LVU1423
3976 017c 0220 movs r0, #2
3977 017e FCE7 b .L218
3978 .L234:
3979 .align 2
3980 .L233:
3981 0180 00000000 .word SPI_TxISR_32BIT
3982 0184 00000000 .word SPI_RxISR_32BIT
3983 0188 00000000 .word SPI_RxISR_16BIT
3984 018c 00000000 .word SPI_TxISR_16BIT
3985 0190 00000000 .word SPI_RxISR_8BIT
3986 0194 00000000 .word SPI_TxISR_8BIT
3987 .cfi_endproc
3988 .LFE344:
3990 .section .text.HAL_SPI_Transmit_DMA,"ax",%progbits
3991 .align 1
3992 .global HAL_SPI_Transmit_DMA
3993 .syntax unified
3994 .thumb
3995 .thumb_func
3997 HAL_SPI_Transmit_DMA:
3998 .LVL213:
3999 .LFB345:
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4000 .loc 1 2087 1 is_stmt 1 view -0
4001 .cfi_startproc
4002 @ args = 0, pretend = 0, frame = 0
4003 @ frame_needed = 0, uses_anonymous_args = 0
2087:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4004 .loc 1 2087 1 is_stmt 0 view .LVU1425
4005 0000 70B5 push {r4, r5, r6, lr}
4006 .cfi_def_cfa_offset 16
4007 .cfi_offset 4, -16
4008 .cfi_offset 5, -12
4009 .cfi_offset 6, -8
4010 .cfi_offset 14, -4
2090:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4011 .loc 1 2090 3 is_stmt 1 view .LVU1426
2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4012 .loc 1 2092 3 view .LVU1427
2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4013 .loc 1 2092 11 is_stmt 0 view .LVU1428
4014 0002 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
2092:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4015 .loc 1 2092 6 view .LVU1429
4016 0006 012B cmp r3, #1
4017 0008 40F0CC80 bne .L249
4018 000c 0446 mov r4, r0
4019 000e 1546 mov r5, r2
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 163
4020 0010 DEB2 uxtb r6, r3
2097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4021 .loc 1 2097 3 is_stmt 1 view .LVU1430
2097:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4022 .loc 1 2097 6 is_stmt 0 view .LVU1431
4023 0012 002A cmp r2, #0
4024 0014 18BF it ne
4025 0016 0029 cmpne r1, #0
4026 0018 00F0C580 beq .L236
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4027 .loc 1 2103 3 is_stmt 1 view .LVU1432
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4028 .loc 1 2103 3 view .LVU1433
4029 001c 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
4030 0020 012B cmp r3, #1
4031 0022 00F0C280 beq .L250
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4032 .loc 1 2103 3 discriminator 2 view .LVU1434
4033 0026 0123 movs r3, #1
4034 0028 80F88030 strb r3, [r0, #128]
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4035 .loc 1 2103 3 view .LVU1435
2106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4036 .loc 1 2106 3 view .LVU1436
2106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4037 .loc 1 2106 21 is_stmt 0 view .LVU1437
4038 002c 0323 movs r3, #3
4039 002e 80F88130 strb r3, [r0, #129]
2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
4040 .loc 1 2107 3 is_stmt 1 view .LVU1438
2107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData;
4041 .loc 1 2107 21 is_stmt 0 view .LVU1439
4042 0032 0023 movs r3, #0
4043 0034 C0F88430 str r3, [r0, #132]
2108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
4044 .loc 1 2108 3 is_stmt 1 view .LVU1440
2108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
4045 .loc 1 2108 21 is_stmt 0 view .LVU1441
4046 0038 C165 str r1, [r0, #92]
2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
4047 .loc 1 2109 3 is_stmt 1 view .LVU1442
2109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
4048 .loc 1 2109 21 is_stmt 0 view .LVU1443
4049 003a A0F86020 strh r2, [r0, #96] @ movhi
2110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4050 .loc 1 2110 3 is_stmt 1 view .LVU1444
2110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4051 .loc 1 2110 21 is_stmt 0 view .LVU1445
4052 003e A0F86220 strh r2, [r0, #98] @ movhi
2113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4053 .loc 1 2113 3 is_stmt 1 view .LVU1446
2113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4054 .loc 1 2113 21 is_stmt 0 view .LVU1447
4055 0042 4366 str r3, [r0, #100]
2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
4056 .loc 1 2114 3 is_stmt 1 view .LVU1448
2114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR = NULL;
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 164
4057 .loc 1 2114 21 is_stmt 0 view .LVU1449
4058 0044 4367 str r3, [r0, #116]
2115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t)0UL;
4059 .loc 1 2115 3 is_stmt 1 view .LVU1450
2115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = (uint16_t)0UL;
4060 .loc 1 2115 21 is_stmt 0 view .LVU1451
4061 0046 0367 str r3, [r0, #112]
2116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t)0UL;
4062 .loc 1 2116 3 is_stmt 1 view .LVU1452
2116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t)0UL;
4063 .loc 1 2116 21 is_stmt 0 view .LVU1453
4064 0048 A0F86830 strh r3, [r0, #104] @ movhi
2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4065 .loc 1 2117 3 is_stmt 1 view .LVU1454
2117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4066 .loc 1 2117 21 is_stmt 0 view .LVU1455
4067 004c A0F86A30 strh r3, [r0, #106] @ movhi
2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4068 .loc 1 2120 3 is_stmt 1 view .LVU1456
2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4069 .loc 1 2120 17 is_stmt 0 view .LVU1457
4070 0050 8368 ldr r3, [r0, #8]
2120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4071 .loc 1 2120 6 view .LVU1458
4072 0052 B3F5C02F cmp r3, #393216
4073 0056 63D0 beq .L252
2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4074 .loc 1 2126 5 is_stmt 1 view .LVU1459
4075 0058 0268 ldr r2, [r0]
4076 .LVL214:
2126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4077 .loc 1 2126 5 is_stmt 0 view .LVU1460
4078 005a D368 ldr r3, [r2, #12]
4079 005c 23F4C023 bic r3, r3, #393216
4080 0060 43F40033 orr r3, r3, #131072
4081 0064 D360 str r3, [r2, #12]
4082 .LVL215:
4083 .L238:
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4084 .loc 1 2130 3 is_stmt 1 view .LVU1461
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4085 .loc 1 2130 19 is_stmt 0 view .LVU1462
4086 0066 E368 ldr r3, [r4, #12]
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4087 .loc 1 2130 6 view .LVU1463
4088 0068 0F2B cmp r3, #15
4089 006a 04D9 bls .L239
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4090 .loc 1 2130 59 discriminator 1 view .LVU1464
4091 006c A26F ldr r2, [r4, #120]
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4092 .loc 1 2130 73 discriminator 1 view .LVU1465
4093 006e 9269 ldr r2, [r2, #24]
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4094 .loc 1 2130 51 discriminator 1 view .LVU1466
4095 0070 B2F5804F cmp r2, #16384
4096 0074 5AD1 bne .L240
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 165
4097 .L239:
2130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4098 .loc 1 2130 119 discriminator 3 view .LVU1467
4099 0076 072B cmp r3, #7
4100 0078 07D9 bls .L241
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4101 .loc 1 2131 59 view .LVU1468
4102 007a A26F ldr r2, [r4, #120]
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4103 .loc 1 2131 73 view .LVU1469
4104 007c 9269 ldr r2, [r2, #24]
2131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmatx->Init.MemDataAlignment != DMA_MD
4105 .loc 1 2131 50 view .LVU1470
4106 007e B2F5005F cmp r2, #8192
4107 0082 18BF it ne
4108 0084 B2F5804F cmpne r2, #16384
4109 0088 50D1 bne .L240
4110 .L241:
2140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4111 .loc 1 2140 3 is_stmt 1 view .LVU1471
2140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4112 .loc 1 2140 6 is_stmt 0 view .LVU1472
4113 008a 072B cmp r3, #7
4114 008c 62D8 bhi .L242
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4115 .loc 1 2142 5 is_stmt 1 view .LVU1473
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4116 .loc 1 2142 13 is_stmt 0 view .LVU1474
4117 008e A36F ldr r3, [r4, #120]
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4118 .loc 1 2142 27 view .LVU1475
4119 0090 9A69 ldr r2, [r3, #24]
2142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4120 .loc 1 2142 8 view .LVU1476
4121 0092 B2F5005F cmp r2, #8192
4122 0096 4DD0 beq .L253
4123 .L243:
2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4124 .loc 1 2146 5 is_stmt 1 view .LVU1477
2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4125 .loc 1 2146 27 is_stmt 0 view .LVU1478
4126 0098 9B69 ldr r3, [r3, #24]
2146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4127 .loc 1 2146 8 view .LVU1479
4128 009a B3F5804F cmp r3, #16384
4129 009e 51D0 beq .L254
4130 .L244:
2161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4131 .loc 1 2161 3 is_stmt 1 view .LVU1480
2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4132 .loc 1 2164 3 view .LVU1481
2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4133 .loc 1 2164 7 is_stmt 0 view .LVU1482
4134 00a0 A36F ldr r3, [r4, #120]
2164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4135 .loc 1 2164 38 view .LVU1483
4136 00a2 434A ldr r2, .L258
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 166
4137 00a4 1A64 str r2, [r3, #64]
2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4138 .loc 1 2167 3 is_stmt 1 view .LVU1484
2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4139 .loc 1 2167 7 is_stmt 0 view .LVU1485
4140 00a6 A36F ldr r3, [r4, #120]
2167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4141 .loc 1 2167 34 view .LVU1486
4142 00a8 424A ldr r2, .L258+4
4143 00aa DA63 str r2, [r3, #60]
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4144 .loc 1 2170 3 is_stmt 1 view .LVU1487
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4145 .loc 1 2170 7 is_stmt 0 view .LVU1488
4146 00ac A36F ldr r3, [r4, #120]
2170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4147 .loc 1 2170 35 view .LVU1489
4148 00ae 424A ldr r2, .L258+8
4149 00b0 DA64 str r2, [r3, #76]
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4150 .loc 1 2173 3 is_stmt 1 view .LVU1490
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4151 .loc 1 2173 7 is_stmt 0 view .LVU1491
4152 00b2 A36F ldr r3, [r4, #120]
2173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4153 .loc 1 2173 35 view .LVU1492
4154 00b4 0022 movs r2, #0
4155 00b6 1A65 str r2, [r3, #80]
2176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4156 .loc 1 2176 3 is_stmt 1 view .LVU1493
4157 00b8 2268 ldr r2, [r4]
4158 00ba 9368 ldr r3, [r2, #8]
4159 00bc 23F40043 bic r3, r3, #32768
4160 00c0 9360 str r3, [r2, #8]
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
4161 .loc 1 2179 3 view .LVU1494
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
4162 .loc 1 2179 91 is_stmt 0 view .LVU1495
4163 00c2 2268 ldr r2, [r4]
2180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4164 .loc 1 2180 38 view .LVU1496
4165 00c4 B4F86230 ldrh r3, [r4, #98]
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
4166 .loc 1 2179 17 view .LVU1497
4167 00c8 9BB2 uxth r3, r3
4168 00ca 2032 adds r2, r2, #32
4169 00cc E16D ldr r1, [r4, #92]
4170 .LVL216:
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
4171 .loc 1 2179 17 view .LVU1498
4172 00ce A06F ldr r0, [r4, #120]
4173 .LVL217:
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
4174 .loc 1 2179 17 view .LVU1499
4175 00d0 FFF7FEFF bl HAL_DMA_Start_IT
4176 .LVL218:
2179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 167
4177 .loc 1 2179 6 discriminator 1 view .LVU1500
4178 00d4 0146 mov r1, r0
4179 00d6 0028 cmp r0, #0
4180 00d8 4BD1 bne .L255
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4181 .loc 1 2193 3 is_stmt 1 view .LVU1501
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4182 .loc 1 2193 11 is_stmt 0 view .LVU1502
4183 00da A36F ldr r3, [r4, #120]
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4184 .loc 1 2193 25 view .LVU1503
4185 00dc DB69 ldr r3, [r3, #28]
2193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4186 .loc 1 2193 6 view .LVU1504
4187 00de B3F5807F cmp r3, #256
4188 00e2 53D0 beq .L256
2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4189 .loc 1 2199 5 is_stmt 1 view .LVU1505
4190 00e4 2268 ldr r2, [r4]
4191 00e6 5368 ldr r3, [r2, #4]
4192 00e8 6FF30F03 bfc r3, #0, #16
4193 00ec 1D43 orrs r5, r5, r3
4194 .LVL219:
2199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4195 .loc 1 2199 5 is_stmt 0 view .LVU1506
4196 00ee 5560 str r5, [r2, #4]
4197 .L247:
2203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4198 .loc 1 2203 3 is_stmt 1 view .LVU1507
4199 00f0 2268 ldr r2, [r4]
4200 00f2 9368 ldr r3, [r2, #8]
4201 00f4 43F40043 orr r3, r3, #32768
4202 00f8 9360 str r3, [r2, #8]
2206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4203 .loc 1 2206 3 view .LVU1508
4204 00fa 2268 ldr r2, [r4]
4205 00fc 1369 ldr r3, [r2, #16]
4206 00fe 43F44873 orr r3, r3, #800
4207 0102 1361 str r3, [r2, #16]
2209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4208 .loc 1 2209 3 view .LVU1509
4209 0104 2268 ldr r2, [r4]
4210 0106 1368 ldr r3, [r2]
4211 0108 43F00103 orr r3, r3, #1
4212 010c 1360 str r3, [r2]
2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4213 .loc 1 2211 3 view .LVU1510
2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4214 .loc 1 2211 17 is_stmt 0 view .LVU1511
4215 010e 6368 ldr r3, [r4, #4]
2211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4216 .loc 1 2211 6 view .LVU1512
4217 0110 B3F5800F cmp r3, #4194304
4218 0114 40D0 beq .L257
4219 .L248:
2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4220 .loc 1 2218 3 is_stmt 1 view .LVU1513
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 168
2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4221 .loc 1 2218 3 view .LVU1514
4222 0116 0023 movs r3, #0
4223 0118 84F88030 strb r3, [r4, #128]
2218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4224 .loc 1 2218 3 view .LVU1515
2220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4225 .loc 1 2220 3 view .LVU1516
2220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4226 .loc 1 2220 10 is_stmt 0 view .LVU1517
4227 011c 0E46 mov r6, r1
4228 011e 42E0 b .L236
4229 .LVL220:
4230 .L252:
2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4231 .loc 1 2122 5 is_stmt 1 view .LVU1518
4232 0120 0268 ldr r2, [r0]
4233 .LVL221:
2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4234 .loc 1 2122 5 is_stmt 0 view .LVU1519
4235 0122 1368 ldr r3, [r2]
4236 0124 43F40063 orr r3, r3, #2048
4237 0128 1360 str r3, [r2]
4238 .LVL222:
2122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4239 .loc 1 2122 5 view .LVU1520
4240 012a 9CE7 b .L238
4241 .L240:
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4242 .loc 1 2135 5 is_stmt 1 view .LVU1521
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4243 .loc 1 2135 5 view .LVU1522
4244 012c 0023 movs r3, #0
4245 012e 84F88030 strb r3, [r4, #128]
2135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4246 .loc 1 2135 5 view .LVU1523
2136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4247 .loc 1 2136 5 view .LVU1524
2136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4248 .loc 1 2136 12 is_stmt 0 view .LVU1525
4249 0132 38E0 b .L236
4250 .L253:
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4251 .loc 1 2144 7 is_stmt 1 view .LVU1526
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4252 .loc 1 2144 32 is_stmt 0 view .LVU1527
4253 0134 B4F86220 ldrh r2, [r4, #98]
4254 0138 92B2 uxth r2, r2
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4255 .loc 1 2144 46 view .LVU1528
4256 013a 0132 adds r2, r2, #1
2144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4257 .loc 1 2144 25 view .LVU1529
4258 013c 5208 lsrs r2, r2, #1
4259 013e A4F86220 strh r2, [r4, #98] @ movhi
4260 0142 A9E7 b .L243
4261 .L254:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 169
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4262 .loc 1 2148 7 is_stmt 1 view .LVU1530
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4263 .loc 1 2148 32 is_stmt 0 view .LVU1531
4264 0144 B4F86230 ldrh r3, [r4, #98]
4265 0148 9BB2 uxth r3, r3
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4266 .loc 1 2148 46 view .LVU1532
4267 014a 0333 adds r3, r3, #3
2148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4268 .loc 1 2148 25 view .LVU1533
4269 014c 9B08 lsrs r3, r3, #2
4270 014e A4F86230 strh r3, [r4, #98] @ movhi
4271 0152 A5E7 b .L244
4272 .L242:
2151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4273 .loc 1 2151 8 is_stmt 1 view .LVU1534
2151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4274 .loc 1 2151 11 is_stmt 0 view .LVU1535
4275 0154 0F2B cmp r3, #15
4276 0156 A3D8 bhi .L244
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4277 .loc 1 2153 5 is_stmt 1 view .LVU1536
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4278 .loc 1 2153 13 is_stmt 0 view .LVU1537
4279 0158 A36F ldr r3, [r4, #120]
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4280 .loc 1 2153 27 view .LVU1538
4281 015a 9B69 ldr r3, [r3, #24]
2153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4282 .loc 1 2153 8 view .LVU1539
4283 015c B3F5804F cmp r3, #16384
4284 0160 9ED1 bne .L244
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4285 .loc 1 2155 7 is_stmt 1 view .LVU1540
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4286 .loc 1 2155 32 is_stmt 0 view .LVU1541
4287 0162 B4F86230 ldrh r3, [r4, #98]
4288 0166 9BB2 uxth r3, r3
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4289 .loc 1 2155 46 view .LVU1542
4290 0168 0133 adds r3, r3, #1
2155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4291 .loc 1 2155 25 view .LVU1543
4292 016a 5B08 lsrs r3, r3, #1
4293 016c A4F86230 strh r3, [r4, #98] @ movhi
4294 0170 96E7 b .L244
4295 .LVL223:
4296 .L255:
2183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4297 .loc 1 2183 5 is_stmt 1 view .LVU1544
4298 0172 D4F88430 ldr r3, [r4, #132]
4299 0176 43F01003 orr r3, r3, #16
4300 017a C4F88430 str r3, [r4, #132]
2184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4301 .loc 1 2184 5 view .LVU1545
2184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 170
4302 .loc 1 2184 17 is_stmt 0 view .LVU1546
4303 017e 0123 movs r3, #1
4304 0180 84F88130 strb r3, [r4, #129]
2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4305 .loc 1 2187 5 is_stmt 1 view .LVU1547
2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4306 .loc 1 2187 5 view .LVU1548
4307 0184 0023 movs r3, #0
4308 0186 84F88030 strb r3, [r4, #128]
2187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4309 .loc 1 2187 5 view .LVU1549
2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4310 .loc 1 2189 5 view .LVU1550
2189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4311 .loc 1 2189 12 is_stmt 0 view .LVU1551
4312 018a 0CE0 b .L236
4313 .L256:
2195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4314 .loc 1 2195 5 is_stmt 1 view .LVU1552
4315 018c 2268 ldr r2, [r4]
4316 018e 5368 ldr r3, [r2, #4]
4317 0190 6FF30F03 bfc r3, #0, #16
4318 0194 5360 str r3, [r2, #4]
4319 0196 ABE7 b .L247
4320 .LVL224:
4321 .L257:
2214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4322 .loc 1 2214 5 view .LVU1553
4323 0198 2268 ldr r2, [r4]
4324 019a 1368 ldr r3, [r2]
4325 019c 43F40073 orr r3, r3, #512
4326 01a0 1360 str r3, [r2]
4327 01a2 B8E7 b .L248
4328 .LVL225:
4329 .L249:
2094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4330 .loc 1 2094 12 is_stmt 0 view .LVU1554
4331 01a4 0226 movs r6, #2
4332 .LVL226:
4333 .L236:
2221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4334 .loc 1 2221 1 view .LVU1555
4335 01a6 3046 mov r0, r6
4336 01a8 70BD pop {r4, r5, r6, pc}
4337 .LVL227:
4338 .L250:
2103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4339 .loc 1 2103 3 discriminator 1 view .LVU1556
4340 01aa 0226 movs r6, #2
4341 01ac FBE7 b .L236
4342 .L259:
4343 01ae 00BF .align 2
4344 .L258:
4345 01b0 00000000 .word SPI_DMAHalfTransmitCplt
4346 01b4 00000000 .word SPI_DMATransmitCplt
4347 01b8 00000000 .word SPI_DMAError
4348 .cfi_endproc
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 171
4349 .LFE345:
4351 .section .text.HAL_SPI_Receive_DMA,"ax",%progbits
4352 .align 1
4353 .global HAL_SPI_Receive_DMA
4354 .syntax unified
4355 .thumb
4356 .thumb_func
4358 HAL_SPI_Receive_DMA:
4359 .LVL228:
4360 .LFB346:
2233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4361 .loc 1 2233 1 is_stmt 1 view -0
4362 .cfi_startproc
4363 @ args = 0, pretend = 0, frame = 0
4364 @ frame_needed = 0, uses_anonymous_args = 0
2233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4365 .loc 1 2233 1 is_stmt 0 view .LVU1558
4366 0000 70B5 push {r4, r5, r6, lr}
4367 .cfi_def_cfa_offset 16
4368 .cfi_offset 4, -16
4369 .cfi_offset 5, -12
4370 .cfi_offset 6, -8
4371 .cfi_offset 14, -4
4372 0002 0446 mov r4, r0
2236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4373 .loc 1 2236 3 is_stmt 1 view .LVU1559
2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4374 .loc 1 2239 3 view .LVU1560
2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4375 .loc 1 2239 11 is_stmt 0 view .LVU1561
4376 0004 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
2239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4377 .loc 1 2239 6 view .LVU1562
4378 0008 012B cmp r3, #1
4379 000a 40F08980 bne .L278
4380 000e 1546 mov r5, r2
4381 0010 DEB2 uxtb r6, r3
2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4382 .loc 1 2245 3 is_stmt 1 view .LVU1563
2245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4383 .loc 1 2245 6 is_stmt 0 view .LVU1564
4384 0012 002A cmp r2, #0
4385 0014 18BF it ne
4386 0016 0029 cmpne r1, #0
4387 0018 00F08880 beq .L279
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4388 .loc 1 2252 3 is_stmt 1 view .LVU1565
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4389 .loc 1 2252 3 view .LVU1566
4390 001c 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
4391 0020 012B cmp r3, #1
4392 0022 00F0C980 beq .L276
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4393 .loc 1 2252 3 discriminator 2 view .LVU1567
4394 0026 0123 movs r3, #1
4395 0028 80F88030 strb r3, [r0, #128]
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 172
4396 .loc 1 2252 3 view .LVU1568
2255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4397 .loc 1 2255 3 view .LVU1569
2255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4398 .loc 1 2255 21 is_stmt 0 view .LVU1570
4399 002c 0423 movs r3, #4
4400 002e 80F88130 strb r3, [r0, #129]
2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4401 .loc 1 2256 3 is_stmt 1 view .LVU1571
2256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData;
4402 .loc 1 2256 21 is_stmt 0 view .LVU1572
4403 0032 0023 movs r3, #0
4404 0034 C0F88430 str r3, [r0, #132]
2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
4405 .loc 1 2257 3 is_stmt 1 view .LVU1573
2257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
4406 .loc 1 2257 21 is_stmt 0 view .LVU1574
4407 0038 4166 str r1, [r0, #100]
2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
4408 .loc 1 2258 3 is_stmt 1 view .LVU1575
2258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
4409 .loc 1 2258 21 is_stmt 0 view .LVU1576
4410 003a A4F86820 strh r2, [r4, #104] @ movhi
2259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4411 .loc 1 2259 3 is_stmt 1 view .LVU1577
2259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4412 .loc 1 2259 21 is_stmt 0 view .LVU1578
4413 003e A4F86A20 strh r2, [r4, #106] @ movhi
2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4414 .loc 1 2262 3 is_stmt 1 view .LVU1579
2262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4415 .loc 1 2262 21 is_stmt 0 view .LVU1580
4416 0042 0367 str r3, [r0, #112]
2263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
4417 .loc 1 2263 3 is_stmt 1 view .LVU1581
2263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = (uint16_t) 0UL;
4418 .loc 1 2263 21 is_stmt 0 view .LVU1582
4419 0044 4367 str r3, [r0, #116]
2264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
4420 .loc 1 2264 3 is_stmt 1 view .LVU1583
2264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
4421 .loc 1 2264 21 is_stmt 0 view .LVU1584
4422 0046 A0F86030 strh r3, [r0, #96] @ movhi
2265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4423 .loc 1 2265 3 is_stmt 1 view .LVU1585
2265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4424 .loc 1 2265 21 is_stmt 0 view .LVU1586
4425 004a A0F86230 strh r3, [r0, #98] @ movhi
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4426 .loc 1 2268 3 is_stmt 1 view .LVU1587
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4427 .loc 1 2268 17 is_stmt 0 view .LVU1588
4428 004e 8368 ldr r3, [r0, #8]
2268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4429 .loc 1 2268 6 view .LVU1589
4430 0050 B3F5C02F cmp r3, #393216
4431 0054 6ED0 beq .L280
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 173
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4432 .loc 1 2274 5 is_stmt 1 view .LVU1590
4433 0056 0268 ldr r2, [r0]
4434 .LVL229:
2274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4435 .loc 1 2274 5 is_stmt 0 view .LVU1591
4436 0058 D368 ldr r3, [r2, #12]
4437 005a 23F4C023 bic r3, r3, #393216
4438 005e 43F48023 orr r3, r3, #262144
4439 0062 D360 str r3, [r2, #12]
4440 .LVL230:
4441 .L265:
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4442 .loc 1 2278 3 is_stmt 1 view .LVU1592
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4443 .loc 1 2278 19 is_stmt 0 view .LVU1593
4444 0064 E368 ldr r3, [r4, #12]
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4445 .loc 1 2278 6 view .LVU1594
4446 0066 0F2B cmp r3, #15
4447 0068 04D9 bls .L266
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4448 .loc 1 2278 59 discriminator 1 view .LVU1595
4449 006a E26F ldr r2, [r4, #124]
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4450 .loc 1 2278 73 discriminator 1 view .LVU1596
4451 006c 9269 ldr r2, [r2, #24]
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4452 .loc 1 2278 51 discriminator 1 view .LVU1597
4453 006e B2F5804F cmp r2, #16384
4454 0072 65D1 bne .L267
4455 .L266:
2278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4456 .loc 1 2278 119 discriminator 3 view .LVU1598
4457 0074 072B cmp r3, #7
4458 0076 07D9 bls .L268
2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4459 .loc 1 2279 59 view .LVU1599
4460 0078 E36F ldr r3, [r4, #124]
2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4461 .loc 1 2279 73 view .LVU1600
4462 007a 9B69 ldr r3, [r3, #24]
2279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4463 .loc 1 2279 50 view .LVU1601
4464 007c B3F5005F cmp r3, #8192
4465 0080 18BF it ne
4466 0082 B3F5804F cmpne r3, #16384
4467 0086 5BD1 bne .L267
4468 .L268:
2288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4469 .loc 1 2288 3 is_stmt 1 view .LVU1602
4470 0088 2268 ldr r2, [r4]
4471 008a 9368 ldr r3, [r2, #8]
4472 008c 23F48043 bic r3, r3, #16384
4473 0090 9360 str r3, [r2, #8]
2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4474 .loc 1 2291 3 view .LVU1603
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 174
2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4475 .loc 1 2291 17 is_stmt 0 view .LVU1604
4476 0092 E368 ldr r3, [r4, #12]
2291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4477 .loc 1 2291 6 view .LVU1605
4478 0094 072B cmp r3, #7
4479 0096 67D8 bhi .L269
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4480 .loc 1 2293 5 is_stmt 1 view .LVU1606
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4481 .loc 1 2293 13 is_stmt 0 view .LVU1607
4482 0098 E36F ldr r3, [r4, #124]
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4483 .loc 1 2293 27 view .LVU1608
4484 009a 9A69 ldr r2, [r3, #24]
2293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4485 .loc 1 2293 8 view .LVU1609
4486 009c B2F5005F cmp r2, #8192
4487 00a0 52D0 beq .L281
4488 .L270:
2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4489 .loc 1 2297 5 is_stmt 1 view .LVU1610
2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4490 .loc 1 2297 27 is_stmt 0 view .LVU1611
4491 00a2 9B69 ldr r3, [r3, #24]
2297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4492 .loc 1 2297 8 view .LVU1612
4493 00a4 B3F5804F cmp r3, #16384
4494 00a8 56D0 beq .L282
4495 .L271:
2312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4496 .loc 1 2312 3 is_stmt 1 view .LVU1613
2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4497 .loc 1 2315 3 view .LVU1614
2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4498 .loc 1 2315 7 is_stmt 0 view .LVU1615
4499 00aa E36F ldr r3, [r4, #124]
2315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4500 .loc 1 2315 38 view .LVU1616
4501 00ac 434A ldr r2, .L286
4502 00ae 1A64 str r2, [r3, #64]
2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4503 .loc 1 2318 3 is_stmt 1 view .LVU1617
2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4504 .loc 1 2318 7 is_stmt 0 view .LVU1618
4505 00b0 E36F ldr r3, [r4, #124]
2318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4506 .loc 1 2318 34 view .LVU1619
4507 00b2 434A ldr r2, .L286+4
4508 00b4 DA63 str r2, [r3, #60]
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4509 .loc 1 2321 3 is_stmt 1 view .LVU1620
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4510 .loc 1 2321 7 is_stmt 0 view .LVU1621
4511 00b6 E36F ldr r3, [r4, #124]
2321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4512 .loc 1 2321 35 view .LVU1622
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 175
4513 00b8 424A ldr r2, .L286+8
4514 00ba DA64 str r2, [r3, #76]
2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4515 .loc 1 2324 3 is_stmt 1 view .LVU1623
2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4516 .loc 1 2324 7 is_stmt 0 view .LVU1624
4517 00bc E36F ldr r3, [r4, #124]
2324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4518 .loc 1 2324 35 view .LVU1625
4519 00be 0022 movs r2, #0
4520 00c0 1A65 str r2, [r3, #80]
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4521 .loc 1 2327 3 is_stmt 1 view .LVU1626
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4522 .loc 1 2327 63 is_stmt 0 view .LVU1627
4523 00c2 2168 ldr r1, [r4]
4524 .LVL231:
2328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4525 .loc 1 2328 38 view .LVU1628
4526 00c4 B4F86A30 ldrh r3, [r4, #106]
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4527 .loc 1 2327 17 view .LVU1629
4528 00c8 9BB2 uxth r3, r3
4529 00ca 626E ldr r2, [r4, #100]
4530 00cc 3031 adds r1, r1, #48
4531 00ce E06F ldr r0, [r4, #124]
4532 .LVL232:
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4533 .loc 1 2327 17 view .LVU1630
4534 00d0 FFF7FEFF bl HAL_DMA_Start_IT
4535 .LVL233:
2327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4536 .loc 1 2327 6 discriminator 1 view .LVU1631
4537 00d4 0146 mov r1, r0
4538 00d6 0028 cmp r0, #0
4539 00d8 55D1 bne .L283
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4540 .loc 1 2341 3 is_stmt 1 view .LVU1632
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4541 .loc 1 2341 11 is_stmt 0 view .LVU1633
4542 00da E36F ldr r3, [r4, #124]
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4543 .loc 1 2341 25 view .LVU1634
4544 00dc DB69 ldr r3, [r3, #28]
2341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4545 .loc 1 2341 6 view .LVU1635
4546 00de B3F5807F cmp r3, #256
4547 00e2 5DD0 beq .L284
2347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4548 .loc 1 2347 5 is_stmt 1 view .LVU1636
4549 00e4 2268 ldr r2, [r4]
4550 00e6 5368 ldr r3, [r2, #4]
4551 00e8 6FF30F03 bfc r3, #0, #16
4552 00ec 1D43 orrs r5, r5, r3
4553 .LVL234:
2347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4554 .loc 1 2347 5 is_stmt 0 view .LVU1637
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 176
4555 00ee 5560 str r5, [r2, #4]
4556 .L274:
2351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4557 .loc 1 2351 3 is_stmt 1 view .LVU1638
4558 00f0 2268 ldr r2, [r4]
4559 00f2 9368 ldr r3, [r2, #8]
4560 00f4 43F48043 orr r3, r3, #16384
4561 00f8 9360 str r3, [r2, #8]
2354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4562 .loc 1 2354 3 view .LVU1639
4563 00fa 2268 ldr r2, [r4]
4564 00fc 1369 ldr r3, [r2, #16]
4565 00fe 43F45073 orr r3, r3, #832
4566 0102 1361 str r3, [r2, #16]
2357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4567 .loc 1 2357 3 view .LVU1640
4568 0104 2268 ldr r2, [r4]
4569 0106 1368 ldr r3, [r2]
4570 0108 43F00103 orr r3, r3, #1
4571 010c 1360 str r3, [r2]
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4572 .loc 1 2359 3 view .LVU1641
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4573 .loc 1 2359 17 is_stmt 0 view .LVU1642
4574 010e 6368 ldr r3, [r4, #4]
2359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4575 .loc 1 2359 6 view .LVU1643
4576 0110 B3F5800F cmp r3, #4194304
4577 0114 4AD0 beq .L285
4578 .L275:
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4579 .loc 1 2366 3 is_stmt 1 view .LVU1644
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4580 .loc 1 2366 3 view .LVU1645
4581 0116 0023 movs r3, #0
4582 0118 84F88030 strb r3, [r4, #128]
2366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4583 .loc 1 2366 3 view .LVU1646
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4584 .loc 1 2368 3 view .LVU1647
2368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4585 .loc 1 2368 10 is_stmt 0 view .LVU1648
4586 011c 0E46 mov r6, r1
4587 011e 03E0 b .L262
4588 .LVL235:
4589 .L278:
2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
4590 .loc 1 2241 5 is_stmt 1 view .LVU1649
2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
4591 .loc 1 2241 5 view .LVU1650
4592 0120 0023 movs r3, #0
4593 0122 80F88030 strb r3, [r0, #128]
2241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_BUSY;
4594 .loc 1 2241 5 view .LVU1651
2242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4595 .loc 1 2242 5 view .LVU1652
2242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 177
4596 .loc 1 2242 12 is_stmt 0 view .LVU1653
4597 0126 0226 movs r6, #2
4598 .LVL236:
4599 .L262:
2369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4600 .loc 1 2369 1 view .LVU1654
4601 0128 3046 mov r0, r6
4602 012a 70BD pop {r4, r5, r6, pc}
4603 .LVL237:
4604 .L279:
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4605 .loc 1 2247 5 is_stmt 1 view .LVU1655
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4606 .loc 1 2247 5 view .LVU1656
4607 012c 0023 movs r3, #0
4608 012e 80F88030 strb r3, [r0, #128]
2247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4609 .loc 1 2247 5 view .LVU1657
2248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4610 .loc 1 2248 5 view .LVU1658
2248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4611 .loc 1 2248 12 is_stmt 0 view .LVU1659
4612 0132 F9E7 b .L262
4613 .L280:
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4614 .loc 1 2270 5 is_stmt 1 view .LVU1660
4615 0134 0268 ldr r2, [r0]
4616 .LVL238:
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4617 .loc 1 2270 5 is_stmt 0 view .LVU1661
4618 0136 1368 ldr r3, [r2]
4619 0138 23F40063 bic r3, r3, #2048
4620 013c 1360 str r3, [r2]
4621 .LVL239:
2270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4622 .loc 1 2270 5 view .LVU1662
4623 013e 91E7 b .L265
4624 .L267:
2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4625 .loc 1 2283 5 is_stmt 1 view .LVU1663
2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4626 .loc 1 2283 5 view .LVU1664
4627 0140 0023 movs r3, #0
4628 0142 84F88030 strb r3, [r4, #128]
2283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4629 .loc 1 2283 5 view .LVU1665
2284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4630 .loc 1 2284 5 view .LVU1666
2284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4631 .loc 1 2284 12 is_stmt 0 view .LVU1667
4632 0146 EFE7 b .L262
4633 .L281:
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4634 .loc 1 2295 7 is_stmt 1 view .LVU1668
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4635 .loc 1 2295 32 is_stmt 0 view .LVU1669
4636 0148 B4F86A20 ldrh r2, [r4, #106]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 178
4637 014c 92B2 uxth r2, r2
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4638 .loc 1 2295 46 view .LVU1670
4639 014e 0132 adds r2, r2, #1
2295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4640 .loc 1 2295 25 view .LVU1671
4641 0150 5208 lsrs r2, r2, #1
4642 0152 A4F86A20 strh r2, [r4, #106] @ movhi
4643 0156 A4E7 b .L270
4644 .L282:
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4645 .loc 1 2299 7 is_stmt 1 view .LVU1672
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4646 .loc 1 2299 32 is_stmt 0 view .LVU1673
4647 0158 B4F86A30 ldrh r3, [r4, #106]
4648 015c 9BB2 uxth r3, r3
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4649 .loc 1 2299 46 view .LVU1674
4650 015e 0333 adds r3, r3, #3
2299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4651 .loc 1 2299 25 view .LVU1675
4652 0160 9B08 lsrs r3, r3, #2
4653 0162 A4F86A30 strh r3, [r4, #106] @ movhi
4654 0166 A0E7 b .L271
4655 .L269:
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4656 .loc 1 2302 8 is_stmt 1 view .LVU1676
2302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4657 .loc 1 2302 11 is_stmt 0 view .LVU1677
4658 0168 0F2B cmp r3, #15
4659 016a 9ED8 bhi .L271
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4660 .loc 1 2304 5 is_stmt 1 view .LVU1678
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4661 .loc 1 2304 13 is_stmt 0 view .LVU1679
4662 016c E36F ldr r3, [r4, #124]
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4663 .loc 1 2304 27 view .LVU1680
4664 016e 9B69 ldr r3, [r3, #24]
2304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4665 .loc 1 2304 8 view .LVU1681
4666 0170 B3F5804F cmp r3, #16384
4667 0174 99D1 bne .L271
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4668 .loc 1 2306 7 is_stmt 1 view .LVU1682
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4669 .loc 1 2306 32 is_stmt 0 view .LVU1683
4670 0176 B4F86A30 ldrh r3, [r4, #106]
4671 017a 9BB2 uxth r3, r3
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4672 .loc 1 2306 46 view .LVU1684
4673 017c 0133 adds r3, r3, #1
2306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4674 .loc 1 2306 25 view .LVU1685
4675 017e 5B08 lsrs r3, r3, #1
4676 0180 A4F86A30 strh r3, [r4, #106] @ movhi
4677 0184 91E7 b .L271
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 179
4678 .LVL240:
4679 .L283:
2331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4680 .loc 1 2331 5 is_stmt 1 view .LVU1686
4681 0186 D4F88430 ldr r3, [r4, #132]
4682 018a 43F01003 orr r3, r3, #16
4683 018e C4F88430 str r3, [r4, #132]
2332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4684 .loc 1 2332 5 view .LVU1687
2332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4685 .loc 1 2332 17 is_stmt 0 view .LVU1688
4686 0192 0123 movs r3, #1
4687 0194 84F88130 strb r3, [r4, #129]
2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4688 .loc 1 2335 5 is_stmt 1 view .LVU1689
2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4689 .loc 1 2335 5 view .LVU1690
4690 0198 0023 movs r3, #0
4691 019a 84F88030 strb r3, [r4, #128]
2335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4692 .loc 1 2335 5 view .LVU1691
2337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4693 .loc 1 2337 5 view .LVU1692
2337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4694 .loc 1 2337 12 is_stmt 0 view .LVU1693
4695 019e C3E7 b .L262
4696 .L284:
2343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4697 .loc 1 2343 5 is_stmt 1 view .LVU1694
4698 01a0 2268 ldr r2, [r4]
4699 01a2 5368 ldr r3, [r2, #4]
4700 01a4 6FF30F03 bfc r3, #0, #16
4701 01a8 5360 str r3, [r2, #4]
4702 01aa A1E7 b .L274
4703 .LVL241:
4704 .L285:
2362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4705 .loc 1 2362 5 view .LVU1695
4706 01ac 2268 ldr r2, [r4]
4707 01ae 1368 ldr r3, [r2]
4708 01b0 43F40073 orr r3, r3, #512
4709 01b4 1360 str r3, [r2]
4710 01b6 AEE7 b .L275
4711 .LVL242:
4712 .L276:
2252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4713 .loc 1 2252 3 is_stmt 0 discriminator 1 view .LVU1696
4714 01b8 0226 movs r6, #2
4715 01ba B5E7 b .L262
4716 .L287:
4717 .align 2
4718 .L286:
4719 01bc 00000000 .word SPI_DMAHalfReceiveCplt
4720 01c0 00000000 .word SPI_DMAReceiveCplt
4721 01c4 00000000 .word SPI_DMAError
4722 .cfi_endproc
4723 .LFE346:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 180
4725 .section .text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits
4726 .align 1
4727 .global HAL_SPI_TransmitReceive_DMA
4728 .syntax unified
4729 .thumb
4730 .thumb_func
4732 HAL_SPI_TransmitReceive_DMA:
4733 .LVL243:
4734 .LFB347:
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
4735 .loc 1 2383 1 is_stmt 1 view -0
4736 .cfi_startproc
4737 @ args = 0, pretend = 0, frame = 0
4738 @ frame_needed = 0, uses_anonymous_args = 0
2383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Check Direction parameter */
4739 .loc 1 2383 1 is_stmt 0 view .LVU1698
4740 0000 70B5 push {r4, r5, r6, lr}
4741 .cfi_def_cfa_offset 16
4742 .cfi_offset 4, -16
4743 .cfi_offset 5, -12
4744 .cfi_offset 6, -8
4745 .cfi_offset 14, -4
4746 0002 1D46 mov r5, r3
2385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4747 .loc 1 2385 3 is_stmt 1 view .LVU1699
2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4748 .loc 1 2387 3 view .LVU1700
2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4749 .loc 1 2387 11 is_stmt 0 view .LVU1701
4750 0004 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
4751 .LVL244:
2387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4752 .loc 1 2387 6 view .LVU1702
4753 0008 012B cmp r3, #1
4754 000a 40F01181 bne .L304
4755 000e 0446 mov r4, r0
4756 0010 DEB2 uxtb r6, r3
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4757 .loc 1 2392 3 is_stmt 1 view .LVU1703
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4758 .loc 1 2392 6 is_stmt 0 view .LVU1704
4759 0012 002A cmp r2, #0
4760 0014 18BF it ne
4761 0016 0029 cmpne r1, #0
4762 0018 00F00B81 beq .L289
2392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4763 .loc 1 2392 46 discriminator 1 view .LVU1705
4764 001c 002D cmp r5, #0
4765 001e 00F00881 beq .L289
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4766 .loc 1 2398 3 is_stmt 1 view .LVU1706
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4767 .loc 1 2398 3 view .LVU1707
4768 0022 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
4769 0026 012B cmp r3, #1
4770 0028 00F00581 beq .L305
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 181
4771 .loc 1 2398 3 discriminator 2 view .LVU1708
4772 002c 0123 movs r3, #1
4773 002e 80F88030 strb r3, [r0, #128]
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4774 .loc 1 2398 3 view .LVU1709
2401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4775 .loc 1 2401 3 view .LVU1710
2401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE;
4776 .loc 1 2401 21 is_stmt 0 view .LVU1711
4777 0032 0523 movs r3, #5
4778 0034 80F88130 strb r3, [r0, #129]
2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
4779 .loc 1 2402 3 is_stmt 1 view .LVU1712
2402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData;
4780 .loc 1 2402 21 is_stmt 0 view .LVU1713
4781 0038 0023 movs r3, #0
4782 003a C0F88430 str r3, [r0, #132]
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
4783 .loc 1 2403 3 is_stmt 1 view .LVU1714
2403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferSize = Size;
4784 .loc 1 2403 21 is_stmt 0 view .LVU1715
4785 003e C165 str r1, [r0, #92]
2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
4786 .loc 1 2404 3 is_stmt 1 view .LVU1716
2404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = Size;
4787 .loc 1 2404 21 is_stmt 0 view .LVU1717
4788 0040 A0F86050 strh r5, [r0, #96] @ movhi
2405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
4789 .loc 1 2405 3 is_stmt 1 view .LVU1718
2405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData;
4790 .loc 1 2405 21 is_stmt 0 view .LVU1719
4791 0044 A0F86250 strh r5, [r0, #98] @ movhi
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
4792 .loc 1 2406 3 is_stmt 1 view .LVU1720
2406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferSize = Size;
4793 .loc 1 2406 21 is_stmt 0 view .LVU1721
4794 0048 4266 str r2, [r0, #100]
2407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
4795 .loc 1 2407 3 is_stmt 1 view .LVU1722
2407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = Size;
4796 .loc 1 2407 21 is_stmt 0 view .LVU1723
4797 004a A0F86850 strh r5, [r0, #104] @ movhi
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4798 .loc 1 2408 3 is_stmt 1 view .LVU1724
2408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4799 .loc 1 2408 21 is_stmt 0 view .LVU1725
4800 004e A0F86A50 strh r5, [r0, #106] @ movhi
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4801 .loc 1 2411 3 is_stmt 1 view .LVU1726
2411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxISR = NULL;
4802 .loc 1 2411 21 is_stmt 0 view .LVU1727
4803 0052 0367 str r3, [r0, #112]
2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4804 .loc 1 2412 3 is_stmt 1 view .LVU1728
2412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4805 .loc 1 2412 21 is_stmt 0 view .LVU1729
4806 0054 4367 str r3, [r0, #116]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 182
2415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4807 .loc 1 2415 3 is_stmt 1 view .LVU1730
4808 0056 0268 ldr r2, [r0]
4809 .LVL245:
2415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4810 .loc 1 2415 3 is_stmt 0 view .LVU1731
4811 0058 D368 ldr r3, [r2, #12]
4812 005a 23F4C023 bic r3, r3, #393216
4813 005e D360 str r3, [r2, #12]
4814 .LVL246:
2418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4815 .loc 1 2418 3 is_stmt 1 view .LVU1732
4816 0060 0268 ldr r2, [r0]
4817 0062 9368 ldr r3, [r2, #8]
4818 0064 23F44043 bic r3, r3, #49152
4819 0068 9360 str r3, [r2, #8]
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4820 .loc 1 2421 3 view .LVU1733
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4821 .loc 1 2421 19 is_stmt 0 view .LVU1734
4822 006a C368 ldr r3, [r0, #12]
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4823 .loc 1 2421 6 view .LVU1735
4824 006c 0F2B cmp r3, #15
4825 006e 04D9 bls .L290
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4826 .loc 1 2421 59 discriminator 1 view .LVU1736
4827 0070 C26F ldr r2, [r0, #124]
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4828 .loc 1 2421 73 discriminator 1 view .LVU1737
4829 0072 9269 ldr r2, [r2, #24]
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4830 .loc 1 2421 51 discriminator 1 view .LVU1738
4831 0074 B2F5804F cmp r2, #16384
4832 0078 41D1 bne .L291
4833 .L290:
2421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) && ((hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4834 .loc 1 2421 119 discriminator 3 view .LVU1739
4835 007a 072B cmp r3, #7
4836 007c 07D9 bls .L292
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4837 .loc 1 2422 59 view .LVU1740
4838 007e E26F ldr r2, [r4, #124]
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4839 .loc 1 2422 73 view .LVU1741
4840 0080 9269 ldr r2, [r2, #24]
2422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** (hspi->hdmarx->Init.MemDataAlignment != DMA_MD
4841 .loc 1 2422 50 view .LVU1742
4842 0082 B2F5005F cmp r2, #8192
4843 0086 18BF it ne
4844 0088 B2F5804F cmpne r2, #16384
4845 008c 37D1 bne .L291
4846 .L292:
2432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4847 .loc 1 2432 3 is_stmt 1 view .LVU1743
2432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4848 .loc 1 2432 6 is_stmt 0 view .LVU1744
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 183
4849 008e 072B cmp r3, #7
4850 0090 59D8 bhi .L293
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4851 .loc 1 2434 5 is_stmt 1 view .LVU1745
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4852 .loc 1 2434 13 is_stmt 0 view .LVU1746
4853 0092 A36F ldr r3, [r4, #120]
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4854 .loc 1 2434 27 view .LVU1747
4855 0094 9A69 ldr r2, [r3, #24]
2434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4856 .loc 1 2434 8 view .LVU1748
4857 0096 B2F5005F cmp r2, #8192
4858 009a 34D0 beq .L307
4859 .L294:
2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4860 .loc 1 2438 5 is_stmt 1 view .LVU1749
2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4861 .loc 1 2438 27 is_stmt 0 view .LVU1750
4862 009c 9B69 ldr r3, [r3, #24]
2438:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4863 .loc 1 2438 8 view .LVU1751
4864 009e B3F5804F cmp r3, #16384
4865 00a2 38D0 beq .L308
4866 .L295:
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4867 .loc 1 2442 5 is_stmt 1 view .LVU1752
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4868 .loc 1 2442 13 is_stmt 0 view .LVU1753
4869 00a4 E36F ldr r3, [r4, #124]
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4870 .loc 1 2442 27 view .LVU1754
4871 00a6 9A69 ldr r2, [r3, #24]
2442:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4872 .loc 1 2442 8 view .LVU1755
4873 00a8 B2F5005F cmp r2, #8192
4874 00ac 3BD0 beq .L309
4875 .L296:
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4876 .loc 1 2446 5 is_stmt 1 view .LVU1756
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4877 .loc 1 2446 27 is_stmt 0 view .LVU1757
4878 00ae 9B69 ldr r3, [r3, #24]
2446:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4879 .loc 1 2446 8 view .LVU1758
4880 00b0 B3F5804F cmp r3, #16384
4881 00b4 3FD0 beq .L310
4882 .L297:
2465:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4883 .loc 1 2465 3 is_stmt 1 view .LVU1759
2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
4884 .loc 1 2468 3 view .LVU1760
2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
4885 .loc 1 2468 7 is_stmt 0 view .LVU1761
4886 00b6 E36F ldr r3, [r4, #124]
2468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt;
4887 .loc 1 2468 38 view .LVU1762
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 184
4888 00b8 604A ldr r2, .L315
4889 00ba 1A64 str r2, [r3, #64]
2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4890 .loc 1 2469 3 is_stmt 1 view .LVU1763
2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4891 .loc 1 2469 7 is_stmt 0 view .LVU1764
4892 00bc E36F ldr r3, [r4, #124]
2469:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4893 .loc 1 2469 38 view .LVU1765
4894 00be 604A ldr r2, .L315+4
4895 00c0 DA63 str r2, [r3, #60]
2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4896 .loc 1 2472 3 is_stmt 1 view .LVU1766
2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4897 .loc 1 2472 7 is_stmt 0 view .LVU1767
4898 00c2 E36F ldr r3, [r4, #124]
2472:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4899 .loc 1 2472 35 view .LVU1768
4900 00c4 5F4A ldr r2, .L315+8
4901 00c6 DA64 str r2, [r3, #76]
2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4902 .loc 1 2475 3 is_stmt 1 view .LVU1769
2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4903 .loc 1 2475 7 is_stmt 0 view .LVU1770
4904 00c8 E36F ldr r3, [r4, #124]
2475:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4905 .loc 1 2475 35 view .LVU1771
4906 00ca 0022 movs r2, #0
4907 00cc 1A65 str r2, [r3, #80]
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4908 .loc 1 2478 3 is_stmt 1 view .LVU1772
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4909 .loc 1 2478 63 is_stmt 0 view .LVU1773
4910 00ce 2168 ldr r1, [r4]
4911 .LVL247:
2479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4912 .loc 1 2479 38 view .LVU1774
4913 00d0 B4F86A30 ldrh r3, [r4, #106]
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4914 .loc 1 2478 17 view .LVU1775
4915 00d4 9BB2 uxth r3, r3
4916 00d6 626E ldr r2, [r4, #100]
4917 00d8 3031 adds r1, r1, #48
4918 00da E06F ldr r0, [r4, #124]
4919 .LVL248:
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4920 .loc 1 2478 17 view .LVU1776
4921 00dc FFF7FEFF bl HAL_DMA_Start_IT
4922 .LVL249:
2478:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount))
4923 .loc 1 2478 6 discriminator 1 view .LVU1777
4924 00e0 0028 cmp r0, #0
4925 00e2 4CD0 beq .L299
2482:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
4926 .loc 1 2482 5 is_stmt 1 view .LVU1778
4927 00e4 D4F88430 ldr r3, [r4, #132]
4928 00e8 43F01003 orr r3, r3, #16
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 185
4929 00ec C4F88430 str r3, [r4, #132]
2483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4930 .loc 1 2483 5 view .LVU1779
2483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4931 .loc 1 2483 17 is_stmt 0 view .LVU1780
4932 00f0 0123 movs r3, #1
4933 00f2 84F88130 strb r3, [r4, #129]
2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4934 .loc 1 2486 5 is_stmt 1 view .LVU1781
2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4935 .loc 1 2486 5 view .LVU1782
4936 00f6 0023 movs r3, #0
4937 00f8 84F88030 strb r3, [r4, #128]
2486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
4938 .loc 1 2486 5 view .LVU1783
2488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4939 .loc 1 2488 5 view .LVU1784
2488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4940 .loc 1 2488 12 is_stmt 0 view .LVU1785
4941 00fc 99E0 b .L289
4942 .LVL250:
4943 .L291:
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4944 .loc 1 2427 5 is_stmt 1 view .LVU1786
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4945 .loc 1 2427 5 view .LVU1787
4946 00fe 0023 movs r3, #0
4947 0100 84F88030 strb r3, [r4, #128]
2427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** return HAL_ERROR;
4948 .loc 1 2427 5 view .LVU1788
2428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4949 .loc 1 2428 5 view .LVU1789
2428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4950 .loc 1 2428 12 is_stmt 0 view .LVU1790
4951 0104 95E0 b .L289
4952 .L307:
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4953 .loc 1 2436 7 is_stmt 1 view .LVU1791
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4954 .loc 1 2436 32 is_stmt 0 view .LVU1792
4955 0106 B4F86220 ldrh r2, [r4, #98]
4956 010a 92B2 uxth r2, r2
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4957 .loc 1 2436 46 view .LVU1793
4958 010c 0132 adds r2, r2, #1
2436:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4959 .loc 1 2436 25 view .LVU1794
4960 010e 5208 lsrs r2, r2, #1
4961 0110 A4F86220 strh r2, [r4, #98] @ movhi
4962 0114 C2E7 b .L294
4963 .L308:
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4964 .loc 1 2440 7 is_stmt 1 view .LVU1795
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4965 .loc 1 2440 32 is_stmt 0 view .LVU1796
4966 0116 B4F86230 ldrh r3, [r4, #98]
4967 011a 9BB2 uxth r3, r3
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 186
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4968 .loc 1 2440 46 view .LVU1797
4969 011c 0333 adds r3, r3, #3
2440:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4970 .loc 1 2440 25 view .LVU1798
4971 011e 9B08 lsrs r3, r3, #2
4972 0120 A4F86230 strh r3, [r4, #98] @ movhi
4973 0124 BEE7 b .L295
4974 .L309:
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4975 .loc 1 2444 7 is_stmt 1 view .LVU1799
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4976 .loc 1 2444 32 is_stmt 0 view .LVU1800
4977 0126 B4F86A20 ldrh r2, [r4, #106]
4978 012a 92B2 uxth r2, r2
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4979 .loc 1 2444 46 view .LVU1801
4980 012c 0132 adds r2, r2, #1
2444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4981 .loc 1 2444 25 view .LVU1802
4982 012e 5208 lsrs r2, r2, #1
4983 0130 A4F86A20 strh r2, [r4, #106] @ movhi
4984 0134 BBE7 b .L296
4985 .L310:
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4986 .loc 1 2448 7 is_stmt 1 view .LVU1803
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4987 .loc 1 2448 32 is_stmt 0 view .LVU1804
4988 0136 B4F86A30 ldrh r3, [r4, #106]
4989 013a 9BB2 uxth r3, r3
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4990 .loc 1 2448 46 view .LVU1805
4991 013c 0333 adds r3, r3, #3
2448:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
4992 .loc 1 2448 25 view .LVU1806
4993 013e 9B08 lsrs r3, r3, #2
4994 0140 A4F86A30 strh r3, [r4, #106] @ movhi
4995 0144 B7E7 b .L297
4996 .L293:
2451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4997 .loc 1 2451 8 is_stmt 1 view .LVU1807
2451:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
4998 .loc 1 2451 11 is_stmt 0 view .LVU1808
4999 0146 0F2B cmp r3, #15
5000 0148 B5D8 bhi .L297
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5001 .loc 1 2453 5 is_stmt 1 view .LVU1809
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5002 .loc 1 2453 13 is_stmt 0 view .LVU1810
5003 014a A36F ldr r3, [r4, #120]
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5004 .loc 1 2453 27 view .LVU1811
5005 014c 9B69 ldr r3, [r3, #24]
2453:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5006 .loc 1 2453 8 view .LVU1812
5007 014e B3F5804F cmp r3, #16384
5008 0152 0CD0 beq .L311
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 187
5009 .L298:
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5010 .loc 1 2457 5 is_stmt 1 view .LVU1813
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5011 .loc 1 2457 13 is_stmt 0 view .LVU1814
5012 0154 E36F ldr r3, [r4, #124]
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5013 .loc 1 2457 27 view .LVU1815
5014 0156 9B69 ldr r3, [r3, #24]
2457:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5015 .loc 1 2457 8 view .LVU1816
5016 0158 B3F5804F cmp r3, #16384
5017 015c ABD1 bne .L297
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5018 .loc 1 2459 7 is_stmt 1 view .LVU1817
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5019 .loc 1 2459 32 is_stmt 0 view .LVU1818
5020 015e B4F86A30 ldrh r3, [r4, #106]
5021 0162 9BB2 uxth r3, r3
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5022 .loc 1 2459 46 view .LVU1819
5023 0164 0133 adds r3, r3, #1
2459:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5024 .loc 1 2459 25 view .LVU1820
5025 0166 5B08 lsrs r3, r3, #1
5026 0168 A4F86A30 strh r3, [r4, #106] @ movhi
5027 016c A3E7 b .L297
5028 .L311:
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5029 .loc 1 2455 7 is_stmt 1 view .LVU1821
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5030 .loc 1 2455 32 is_stmt 0 view .LVU1822
5031 016e B4F86230 ldrh r3, [r4, #98]
5032 0172 9BB2 uxth r3, r3
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5033 .loc 1 2455 46 view .LVU1823
5034 0174 0133 adds r3, r3, #1
2455:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5035 .loc 1 2455 25 view .LVU1824
5036 0176 5B08 lsrs r3, r3, #1
5037 0178 A4F86230 strh r3, [r4, #98] @ movhi
5038 017c EAE7 b .L298
5039 .LVL251:
5040 .L299:
2492:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5041 .loc 1 2492 3 is_stmt 1 view .LVU1825
5042 017e 2268 ldr r2, [r4]
5043 0180 9368 ldr r3, [r2, #8]
5044 0182 43F48043 orr r3, r3, #16384
5045 0186 9360 str r3, [r2, #8]
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
5046 .loc 1 2496 3 view .LVU1826
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
5047 .loc 1 2496 7 is_stmt 0 view .LVU1827
5048 0188 A26F ldr r2, [r4, #120]
2496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL;
5049 .loc 1 2496 38 view .LVU1828
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 188
5050 018a 0023 movs r3, #0
5051 018c 1364 str r3, [r2, #64]
2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
5052 .loc 1 2497 3 is_stmt 1 view .LVU1829
2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
5053 .loc 1 2497 7 is_stmt 0 view .LVU1830
5054 018e A26F ldr r2, [r4, #120]
2497:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
5055 .loc 1 2497 38 view .LVU1831
5056 0190 D363 str r3, [r2, #60]
2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5057 .loc 1 2498 3 is_stmt 1 view .LVU1832
2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5058 .loc 1 2498 7 is_stmt 0 view .LVU1833
5059 0192 A26F ldr r2, [r4, #120]
2498:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5060 .loc 1 2498 38 view .LVU1834
5061 0194 1365 str r3, [r2, #80]
2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5062 .loc 1 2501 3 is_stmt 1 view .LVU1835
2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5063 .loc 1 2501 7 is_stmt 0 view .LVU1836
5064 0196 A36F ldr r3, [r4, #120]
2501:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5065 .loc 1 2501 38 view .LVU1837
5066 0198 2A4A ldr r2, .L315+8
5067 019a DA64 str r2, [r3, #76]
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
5068 .loc 1 2504 3 is_stmt 1 view .LVU1838
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
5069 .loc 1 2504 91 is_stmt 0 view .LVU1839
5070 019c 2268 ldr r2, [r4]
2505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5071 .loc 1 2505 38 view .LVU1840
5072 019e B4F86230 ldrh r3, [r4, #98]
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
5073 .loc 1 2504 17 view .LVU1841
5074 01a2 9BB2 uxth r3, r3
5075 01a4 2032 adds r2, r2, #32
5076 01a6 E16D ldr r1, [r4, #92]
5077 01a8 A06F ldr r0, [r4, #120]
5078 01aa FFF7FEFF bl HAL_DMA_Start_IT
5079 .LVL252:
2504:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount))
5080 .loc 1 2504 6 discriminator 1 view .LVU1842
5081 01ae 0146 mov r1, r0
5082 01b0 10BB cbnz r0, .L312
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5083 .loc 1 2520 3 is_stmt 1 view .LVU1843
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5084 .loc 1 2520 11 is_stmt 0 view .LVU1844
5085 01b2 A36F ldr r3, [r4, #120]
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5086 .loc 1 2520 25 view .LVU1845
5087 01b4 DB69 ldr r3, [r3, #28]
2520:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5088 .loc 1 2520 6 view .LVU1846
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 189
5089 01b6 B3F5807F cmp r3, #256
5090 01ba 2DD0 beq .L313
2526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5091 .loc 1 2526 5 is_stmt 1 view .LVU1847
5092 01bc 2268 ldr r2, [r4]
5093 01be 5368 ldr r3, [r2, #4]
5094 01c0 6FF30F03 bfc r3, #0, #16
5095 01c4 1D43 orrs r5, r5, r3
5096 .LVL253:
2526:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5097 .loc 1 2526 5 is_stmt 0 view .LVU1848
5098 01c6 5560 str r5, [r2, #4]
5099 .L302:
2530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5100 .loc 1 2530 3 is_stmt 1 view .LVU1849
5101 01c8 2268 ldr r2, [r4]
5102 01ca 9368 ldr r3, [r2, #8]
5103 01cc 43F40043 orr r3, r3, #32768
5104 01d0 9360 str r3, [r2, #8]
2533:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5105 .loc 1 2533 3 view .LVU1850
5106 01d2 2268 ldr r2, [r4]
5107 01d4 1369 ldr r3, [r2, #16]
5108 01d6 43F45873 orr r3, r3, #864
5109 01da 1361 str r3, [r2, #16]
2536:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5110 .loc 1 2536 3 view .LVU1851
5111 01dc 2268 ldr r2, [r4]
5112 01de 1368 ldr r3, [r2]
5113 01e0 43F00103 orr r3, r3, #1
5114 01e4 1360 str r3, [r2]
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5115 .loc 1 2538 3 view .LVU1852
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5116 .loc 1 2538 17 is_stmt 0 view .LVU1853
5117 01e6 6368 ldr r3, [r4, #4]
2538:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5118 .loc 1 2538 6 view .LVU1854
5119 01e8 B3F5800F cmp r3, #4194304
5120 01ec 1AD0 beq .L314
5121 .L303:
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5122 .loc 1 2545 3 is_stmt 1 view .LVU1855
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5123 .loc 1 2545 3 view .LVU1856
5124 01ee 0023 movs r3, #0
5125 01f0 84F88030 strb r3, [r4, #128]
2545:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5126 .loc 1 2545 3 view .LVU1857
2547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5127 .loc 1 2547 3 view .LVU1858
2547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5128 .loc 1 2547 10 is_stmt 0 view .LVU1859
5129 01f4 0E46 mov r6, r1
5130 01f6 1CE0 b .L289
5131 .L312:
2508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 190
5132 .loc 1 2508 5 is_stmt 1 view .LVU1860
2508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5133 .loc 1 2508 11 is_stmt 0 view .LVU1861
5134 01f8 E06F ldr r0, [r4, #124]
5135 01fa FFF7FEFF bl HAL_DMA_Abort
5136 .LVL254:
2511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5137 .loc 1 2511 5 is_stmt 1 view .LVU1862
5138 01fe D4F88430 ldr r3, [r4, #132]
5139 0202 43F01003 orr r3, r3, #16
5140 0206 C4F88430 str r3, [r4, #132]
2512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5141 .loc 1 2512 5 view .LVU1863
2512:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5142 .loc 1 2512 17 is_stmt 0 view .LVU1864
5143 020a 0123 movs r3, #1
5144 020c 84F88130 strb r3, [r4, #129]
2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5145 .loc 1 2515 5 is_stmt 1 view .LVU1865
2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5146 .loc 1 2515 5 view .LVU1866
5147 0210 0023 movs r3, #0
5148 0212 84F88030 strb r3, [r4, #128]
2515:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5149 .loc 1 2515 5 view .LVU1867
2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5150 .loc 1 2517 5 view .LVU1868
2517:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5151 .loc 1 2517 12 is_stmt 0 view .LVU1869
5152 0216 0CE0 b .L289
5153 .L313:
2522:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5154 .loc 1 2522 5 is_stmt 1 view .LVU1870
5155 0218 2268 ldr r2, [r4]
5156 021a 5368 ldr r3, [r2, #4]
5157 021c 6FF30F03 bfc r3, #0, #16
5158 0220 5360 str r3, [r2, #4]
5159 0222 D1E7 b .L302
5160 .L314:
2541:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5161 .loc 1 2541 5 view .LVU1871
5162 0224 2268 ldr r2, [r4]
5163 0226 1368 ldr r3, [r2]
5164 0228 43F40073 orr r3, r3, #512
5165 022c 1360 str r3, [r2]
5166 022e DEE7 b .L303
5167 .LVL255:
5168 .L304:
2389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5169 .loc 1 2389 12 is_stmt 0 view .LVU1872
5170 0230 0226 movs r6, #2
5171 .LVL256:
5172 .L289:
2548:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5173 .loc 1 2548 1 view .LVU1873
5174 0232 3046 mov r0, r6
5175 0234 70BD pop {r4, r5, r6, pc}
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 191
5176 .LVL257:
5177 .L305:
2398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5178 .loc 1 2398 3 discriminator 1 view .LVU1874
5179 0236 0226 movs r6, #2
5180 0238 FBE7 b .L289
5181 .L316:
5182 023a 00BF .align 2
5183 .L315:
5184 023c 00000000 .word SPI_DMAHalfTransmitReceiveCplt
5185 0240 00000000 .word SPI_DMATransmitReceiveCplt
5186 0244 00000000 .word SPI_DMAError
5187 .cfi_endproc
5188 .LFE347:
5190 .section .text.HAL_SPI_Abort,"ax",%progbits
5191 .align 1
5192 .global HAL_SPI_Abort
5193 .syntax unified
5194 .thumb
5195 .thumb_func
5197 HAL_SPI_Abort:
5198 .LVL258:
5199 .LFB348:
2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
5200 .loc 1 2564 1 is_stmt 1 view -0
5201 .cfi_startproc
5202 @ args = 0, pretend = 0, frame = 8
5203 @ frame_needed = 0, uses_anonymous_args = 0
2565:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5204 .loc 1 2565 3 view .LVU1876
2567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5205 .loc 1 2567 3 view .LVU1877
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5206 .loc 1 2570 3 view .LVU1878
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5207 .loc 1 2570 3 view .LVU1879
5208 0000 90F88030 ldrb r3, [r0, #128] @ zero_extendqisi2
5209 0004 012B cmp r3, #1
5210 0006 00F09A80 beq .L331
2564:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
5211 .loc 1 2564 1 is_stmt 0 view .LVU1880
5212 000a 10B5 push {r4, lr}
5213 .cfi_def_cfa_offset 8
5214 .cfi_offset 4, -8
5215 .cfi_offset 14, -4
5216 000c 82B0 sub sp, sp, #8
5217 .cfi_def_cfa_offset 16
5218 000e 0446 mov r4, r0
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5219 .loc 1 2570 3 is_stmt 1 discriminator 2 view .LVU1881
5220 0010 0123 movs r3, #1
5221 0012 80F88030 strb r3, [r0, #128]
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5222 .loc 1 2570 3 view .LVU1882
2573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5223 .loc 1 2573 3 view .LVU1883
2573:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 192
5224 .loc 1 2573 15 is_stmt 0 view .LVU1884
5225 0016 0723 movs r3, #7
5226 0018 80F88130 strb r3, [r0, #129]
2576:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24UL / 1000UL);
5227 .loc 1 2576 3 is_stmt 1 view .LVU1885
5228 .LVL259:
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5229 .loc 1 2577 3 view .LVU1886
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5230 .loc 1 2577 57 is_stmt 0 view .LVU1887
5231 001c 494B ldr r3, .L342
5232 001e 1B68 ldr r3, [r3]
5233 0020 494A ldr r2, .L342+4
5234 0022 A2FB0323 umull r2, r3, r2, r3
5235 0026 5B0A lsrs r3, r3, #9
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5236 .loc 1 2577 31 view .LVU1888
5237 0028 6422 movs r2, #100
5238 002a 02FB03F3 mul r3, r2, r3
2577:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5239 .loc 1 2577 9 view .LVU1889
5240 002e 0193 str r3, [sp, #4]
2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5241 .loc 1 2580 3 is_stmt 1 view .LVU1890
2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5242 .loc 1 2580 7 is_stmt 0 view .LVU1891
5243 0030 0368 ldr r3, [r0]
5244 0032 1A68 ldr r2, [r3]
2580:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5245 .loc 1 2580 6 view .LVU1892
5246 0034 12F4007F tst r2, #512
5247 0038 40D0 beq .L319
2583:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
5248 .loc 1 2583 5 is_stmt 1 view .LVU1893
5249 003a 1A69 ldr r2, [r3, #16]
5250 003c 22F00802 bic r2, r2, #8
5251 0040 1A61 str r2, [r3, #16]
5252 .L322:
2584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5253 .loc 1 2584 5 view .LVU1894
2586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5254 .loc 1 2586 7 view .LVU1895
2586:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5255 .loc 1 2586 12 is_stmt 0 view .LVU1896
5256 0042 019B ldr r3, [sp, #4]
5257 0044 013B subs r3, r3, #1
5258 0046 0193 str r3, [sp, #4]
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5259 .loc 1 2587 7 is_stmt 1 view .LVU1897
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5260 .loc 1 2587 17 is_stmt 0 view .LVU1898
5261 0048 019B ldr r3, [sp, #4]
2587:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5262 .loc 1 2587 10 view .LVU1899
5263 004a 2BB1 cbz r3, .L337
2592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5264 .loc 1 2592 14 is_stmt 1 view .LVU1900
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 193
5265 004c 2368 ldr r3, [r4]
5266 004e 1B69 ldr r3, [r3, #16]
5267 0050 13F0080F tst r3, #8
5268 0054 F5D1 bne .L322
5269 0056 05E0 b .L321
5270 .L337:
2589:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
5271 .loc 1 2589 9 view .LVU1901
5272 0058 D4F88430 ldr r3, [r4, #132]
5273 005c 43F04003 orr r3, r3, #64
5274 0060 C4F88430 str r3, [r4, #132]
2590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5275 .loc 1 2590 9 view .LVU1902
5276 .L321:
2595:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
5277 .loc 1 2595 5 view .LVU1903
5278 0064 2268 ldr r2, [r4]
5279 0066 1368 ldr r3, [r2]
5280 0068 43F48063 orr r3, r3, #1024
5281 006c 1360 str r3, [r2]
5282 .L325:
2596:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5283 .loc 1 2596 5 view .LVU1904
2598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5284 .loc 1 2598 7 view .LVU1905
2598:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5285 .loc 1 2598 12 is_stmt 0 view .LVU1906
5286 006e 019B ldr r3, [sp, #4]
5287 0070 013B subs r3, r3, #1
5288 0072 0193 str r3, [sp, #4]
2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5289 .loc 1 2599 7 is_stmt 1 view .LVU1907
2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5290 .loc 1 2599 17 is_stmt 0 view .LVU1908
5291 0074 019B ldr r3, [sp, #4]
2599:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5292 .loc 1 2599 10 view .LVU1909
5293 0076 2BB1 cbz r3, .L338
2604:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5294 .loc 1 2604 14 is_stmt 1 view .LVU1910
5295 0078 2368 ldr r3, [r4]
5296 007a 1B68 ldr r3, [r3]
5297 007c 13F4007F tst r3, #512
5298 0080 F5D1 bne .L325
5299 0082 05E0 b .L324
5300 .L338:
2601:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
5301 .loc 1 2601 9 view .LVU1911
5302 0084 D4F88430 ldr r3, [r4, #132]
5303 0088 43F04003 orr r3, r3, #64
5304 008c C4F88430 str r3, [r4, #132]
2602:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5305 .loc 1 2602 9 view .LVU1912
5306 .L324:
2607:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
5307 .loc 1 2607 5 view .LVU1913
5308 0090 2268 ldr r2, [r4]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 194
5309 0092 9369 ldr r3, [r2, #24]
5310 0094 43F40063 orr r3, r3, #2048
5311 0098 9361 str r3, [r2, #24]
5312 .L327:
2608:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5313 .loc 1 2608 5 view .LVU1914
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5314 .loc 1 2610 7 view .LVU1915
2610:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
5315 .loc 1 2610 12 is_stmt 0 view .LVU1916
5316 009a 019B ldr r3, [sp, #4]
5317 009c 013B subs r3, r3, #1
5318 009e 0193 str r3, [sp, #4]
2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5319 .loc 1 2611 7 is_stmt 1 view .LVU1917
2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5320 .loc 1 2611 17 is_stmt 0 view .LVU1918
5321 00a0 019B ldr r3, [sp, #4]
2611:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5322 .loc 1 2611 10 view .LVU1919
5323 00a2 2BB1 cbz r3, .L339
2616:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5324 .loc 1 2616 14 is_stmt 1 view .LVU1920
5325 00a4 2368 ldr r3, [r4]
5326 00a6 5B69 ldr r3, [r3, #20]
5327 00a8 13F4006F tst r3, #2048
5328 00ac F5D1 bne .L327
5329 00ae 05E0 b .L319
5330 .L339:
2613:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
5331 .loc 1 2613 9 view .LVU1921
5332 00b0 D4F88430 ldr r3, [r4, #132]
5333 00b4 43F04003 orr r3, r3, #64
5334 00b8 C4F88430 str r3, [r4, #132]
2614:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5335 .loc 1 2614 9 view .LVU1922
5336 .L319:
2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5337 .loc 1 2620 3 view .LVU1923
2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5338 .loc 1 2620 7 is_stmt 0 view .LVU1924
5339 00bc 2368 ldr r3, [r4]
5340 00be 9B68 ldr r3, [r3, #8]
2620:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5341 .loc 1 2620 6 view .LVU1925
5342 00c0 13F4004F tst r3, #32768
5343 00c4 07D0 beq .L328
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5344 .loc 1 2622 5 is_stmt 1 view .LVU1926
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5345 .loc 1 2622 13 is_stmt 0 view .LVU1927
5346 00c6 A36F ldr r3, [r4, #120]
2622:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5347 .loc 1 2622 8 view .LVU1928
5348 00c8 2BB1 cbz r3, .L328
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5349 .loc 1 2625 7 is_stmt 1 view .LVU1929
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 195
2625:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5350 .loc 1 2625 39 is_stmt 0 view .LVU1930
5351 00ca 0022 movs r2, #0
5352 00cc 1A65 str r2, [r3, #80]
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5353 .loc 1 2628 7 is_stmt 1 view .LVU1931
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5354 .loc 1 2628 11 is_stmt 0 view .LVU1932
5355 00ce A06F ldr r0, [r4, #120]
5356 .LVL260:
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5357 .loc 1 2628 11 view .LVU1933
5358 00d0 FFF7FEFF bl HAL_DMA_Abort
5359 .LVL261:
2628:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5360 .loc 1 2628 10 discriminator 1 view .LVU1934
5361 00d4 F8B9 cbnz r0, .L340
5362 .L328:
2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5363 .loc 1 2639 3 is_stmt 1 view .LVU1935
2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5364 .loc 1 2639 7 is_stmt 0 view .LVU1936
5365 00d6 2368 ldr r3, [r4]
5366 00d8 9B68 ldr r3, [r3, #8]
2639:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5367 .loc 1 2639 6 view .LVU1937
5368 00da 13F4804F tst r3, #16384
5369 00de 07D0 beq .L329
2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5370 .loc 1 2641 5 is_stmt 1 view .LVU1938
2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5371 .loc 1 2641 13 is_stmt 0 view .LVU1939
5372 00e0 E36F ldr r3, [r4, #124]
2641:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5373 .loc 1 2641 8 view .LVU1940
5374 00e2 2BB1 cbz r3, .L329
2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5375 .loc 1 2644 7 is_stmt 1 view .LVU1941
2644:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5376 .loc 1 2644 39 is_stmt 0 view .LVU1942
5377 00e4 0022 movs r2, #0
5378 00e6 1A65 str r2, [r3, #80]
2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5379 .loc 1 2647 7 is_stmt 1 view .LVU1943
2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5380 .loc 1 2647 11 is_stmt 0 view .LVU1944
5381 00e8 E06F ldr r0, [r4, #124]
5382 00ea FFF7FEFF bl HAL_DMA_Abort
5383 .LVL262:
2647:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5384 .loc 1 2647 10 discriminator 1 view .LVU1945
5385 00ee D8B9 cbnz r0, .L341
5386 .L329:
2658:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5387 .loc 1 2658 3 is_stmt 1 view .LVU1946
5388 00f0 2046 mov r0, r4
5389 00f2 FFF7FEFF bl SPI_AbortTransfer
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 196
5390 .LVL263:
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5391 .loc 1 2661 3 view .LVU1947
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5392 .loc 1 2661 7 is_stmt 0 view .LVU1948
5393 00f6 D4F88430 ldr r3, [r4, #132]
2661:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5394 .loc 1 2661 6 view .LVU1949
5395 00fa 13F0400F tst r3, #64
5396 00fe 1CD1 bne .L332
2669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5397 .loc 1 2669 5 is_stmt 1 view .LVU1950
2669:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5398 .loc 1 2669 21 is_stmt 0 view .LVU1951
5399 0100 0020 movs r0, #0
5400 0102 C4F88400 str r0, [r4, #132]
5401 .L330:
5402 .LVL264:
2673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5403 .loc 1 2673 3 is_stmt 1 view .LVU1952
2673:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5404 .loc 1 2673 15 is_stmt 0 view .LVU1953
5405 0106 0123 movs r3, #1
5406 0108 84F88130 strb r3, [r4, #129]
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5407 .loc 1 2676 3 is_stmt 1 view .LVU1954
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5408 .loc 1 2676 3 view .LVU1955
5409 010c 0023 movs r3, #0
5410 010e 84F88030 strb r3, [r4, #128]
2676:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5411 .loc 1 2676 3 view .LVU1956
2678:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5412 .loc 1 2678 3 view .LVU1957
2679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5413 .loc 1 2679 1 is_stmt 0 view .LVU1958
5414 0112 02B0 add sp, sp, #8
5415 .cfi_remember_state
5416 .cfi_def_cfa_offset 8
5417 @ sp needed
5418 0114 10BD pop {r4, pc}
5419 .LVL265:
5420 .L340:
5421 .cfi_restore_state
2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5422 .loc 1 2630 9 is_stmt 1 view .LVU1959
2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5423 .loc 1 2630 13 is_stmt 0 view .LVU1960
5424 0116 A06F ldr r0, [r4, #120]
5425 0118 FFF7FEFF bl HAL_DMA_GetError
5426 .LVL266:
2630:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5427 .loc 1 2630 12 discriminator 1 view .LVU1961
5428 011c 2028 cmp r0, #32
5429 011e DAD1 bne .L328
2632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5430 .loc 1 2632 11 is_stmt 1 view .LVU1962
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 197
2632:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5431 .loc 1 2632 27 is_stmt 0 view .LVU1963
5432 0120 4023 movs r3, #64
5433 0122 C4F88430 str r3, [r4, #132]
5434 0126 D6E7 b .L328
5435 .L341:
2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5436 .loc 1 2649 9 is_stmt 1 view .LVU1964
2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5437 .loc 1 2649 13 is_stmt 0 view .LVU1965
5438 0128 E06F ldr r0, [r4, #124]
5439 012a FFF7FEFF bl HAL_DMA_GetError
5440 .LVL267:
2649:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5441 .loc 1 2649 12 discriminator 1 view .LVU1966
5442 012e 2028 cmp r0, #32
5443 0130 DED1 bne .L329
2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5444 .loc 1 2651 11 is_stmt 1 view .LVU1967
2651:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5445 .loc 1 2651 27 is_stmt 0 view .LVU1968
5446 0132 4023 movs r3, #64
5447 0134 C4F88430 str r3, [r4, #132]
5448 0138 DAE7 b .L329
5449 .L332:
2664:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5450 .loc 1 2664 15 view .LVU1969
5451 013a 0120 movs r0, #1
5452 013c E3E7 b .L330
5453 .LVL268:
5454 .L331:
5455 .cfi_def_cfa_offset 0
5456 .cfi_restore 4
5457 .cfi_restore 14
2570:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5458 .loc 1 2570 3 discriminator 1 view .LVU1970
5459 013e 0220 movs r0, #2
5460 .LVL269:
2679:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5461 .loc 1 2679 1 view .LVU1971
5462 0140 7047 bx lr
5463 .L343:
5464 0142 00BF .align 2
5465 .L342:
5466 0144 00000000 .word SystemCoreClock
5467 0148 F1197605 .word 91625969
5468 .cfi_endproc
5469 .LFE348:
5471 .section .text.HAL_SPI_DMAPause,"ax",%progbits
5472 .align 1
5473 .global HAL_SPI_DMAPause
5474 .syntax unified
5475 .thumb
5476 .thumb_func
5478 HAL_SPI_DMAPause:
5479 .LVL270:
5480 .LFB350:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 198
2843:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
5481 .loc 1 2843 1 is_stmt 1 view -0
5482 .cfi_startproc
5483 @ args = 0, pretend = 0, frame = 0
5484 @ frame_needed = 0, uses_anonymous_args = 0
5485 @ link register save eliminated.
2845:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5486 .loc 1 2845 3 view .LVU1973
5487 0000 D0F88430 ldr r3, [r0, #132]
5488 0004 43F48063 orr r3, r3, #1024
5489 0008 C0F88430 str r3, [r0, #132]
2847:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5490 .loc 1 2847 3 view .LVU1974
2848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5491 .loc 1 2848 1 is_stmt 0 view .LVU1975
5492 000c 0120 movs r0, #1
5493 .LVL271:
2848:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5494 .loc 1 2848 1 view .LVU1976
5495 000e 7047 bx lr
5496 .cfi_endproc
5497 .LFE350:
5499 .section .text.HAL_SPI_DMAResume,"ax",%progbits
5500 .align 1
5501 .global HAL_SPI_DMAResume
5502 .syntax unified
5503 .thumb
5504 .thumb_func
5506 HAL_SPI_DMAResume:
5507 .LVL272:
5508 .LFB351:
2858:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
5509 .loc 1 2858 1 is_stmt 1 view -0
5510 .cfi_startproc
5511 @ args = 0, pretend = 0, frame = 0
5512 @ frame_needed = 0, uses_anonymous_args = 0
5513 @ link register save eliminated.
2860:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5514 .loc 1 2860 3 view .LVU1978
5515 0000 D0F88430 ldr r3, [r0, #132]
5516 0004 43F48063 orr r3, r3, #1024
5517 0008 C0F88430 str r3, [r0, #132]
2862:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5518 .loc 1 2862 3 view .LVU1979
2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5519 .loc 1 2863 1 is_stmt 0 view .LVU1980
5520 000c 0120 movs r0, #1
5521 .LVL273:
2863:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5522 .loc 1 2863 1 view .LVU1981
5523 000e 7047 bx lr
5524 .cfi_endproc
5525 .LFE351:
5527 .section .text.HAL_SPI_DMAStop,"ax",%progbits
5528 .align 1
5529 .global HAL_SPI_DMAStop
5530 .syntax unified
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 199
5531 .thumb
5532 .thumb_func
5534 HAL_SPI_DMAStop:
5535 .LVL274:
5536 .LFB352:
2873:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Set error code to not supported */
5537 .loc 1 2873 1 is_stmt 1 view -0
5538 .cfi_startproc
5539 @ args = 0, pretend = 0, frame = 0
5540 @ frame_needed = 0, uses_anonymous_args = 0
5541 @ link register save eliminated.
2875:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5542 .loc 1 2875 3 view .LVU1983
5543 0000 D0F88430 ldr r3, [r0, #132]
5544 0004 43F48063 orr r3, r3, #1024
5545 0008 C0F88430 str r3, [r0, #132]
2877:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5546 .loc 1 2877 3 view .LVU1984
2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5547 .loc 1 2878 1 is_stmt 0 view .LVU1985
5548 000c 0120 movs r0, #1
5549 .LVL275:
2878:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5550 .loc 1 2878 1 view .LVU1986
5551 000e 7047 bx lr
5552 .cfi_endproc
5553 .LFE352:
5555 .section .text.HAL_SPI_TxCpltCallback,"ax",%progbits
5556 .align 1
5557 .weak HAL_SPI_TxCpltCallback
5558 .syntax unified
5559 .thumb
5560 .thumb_func
5562 HAL_SPI_TxCpltCallback:
5563 .LVL276:
5564 .LFB354:
3140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5565 .loc 1 3140 1 is_stmt 1 view -0
5566 .cfi_startproc
5567 @ args = 0, pretend = 0, frame = 0
5568 @ frame_needed = 0, uses_anonymous_args = 0
5569 @ link register save eliminated.
3142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5570 .loc 1 3142 3 view .LVU1988
3147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5571 .loc 1 3147 1 is_stmt 0 view .LVU1989
5572 0000 7047 bx lr
5573 .cfi_endproc
5574 .LFE354:
5576 .section .text.SPI_DMATransmitCplt,"ax",%progbits
5577 .align 1
5578 .syntax unified
5579 .thumb
5580 .thumb_func
5582 SPI_DMATransmitCplt:
5583 .LVL277:
5584 .LFB365:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 200
3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5585 .loc 1 3341 1 is_stmt 1 view -0
5586 .cfi_startproc
5587 @ args = 0, pretend = 0, frame = 0
5588 @ frame_needed = 0, uses_anonymous_args = 0
3341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5589 .loc 1 3341 1 is_stmt 0 view .LVU1991
5590 0000 08B5 push {r3, lr}
5591 .cfi_def_cfa_offset 8
5592 .cfi_offset 3, -8
5593 .cfi_offset 14, -4
3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5594 .loc 1 3342 3 is_stmt 1 view .LVU1992
3342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5595 .loc 1 3342 22 is_stmt 0 view .LVU1993
5596 0002 806B ldr r0, [r0, #56]
5597 .LVL278:
3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5598 .loc 1 3344 3 is_stmt 1 view .LVU1994
3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5599 .loc 1 3344 11 is_stmt 0 view .LVU1995
5600 0004 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
3344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5601 .loc 1 3344 6 view .LVU1996
5602 0008 072B cmp r3, #7
5603 000a 09D0 beq .L348
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5604 .loc 1 3346 5 is_stmt 1 view .LVU1997
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5605 .loc 1 3346 13 is_stmt 0 view .LVU1998
5606 000c 836F ldr r3, [r0, #120]
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5607 .loc 1 3346 27 view .LVU1999
5608 000e DB69 ldr r3, [r3, #28]
3346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5609 .loc 1 3346 8 view .LVU2000
5610 0010 B3F5807F cmp r3, #256
5611 0014 05D0 beq .L352
3357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5612 .loc 1 3357 7 is_stmt 1 view .LVU2001
5613 0016 0268 ldr r2, [r0]
5614 0018 1369 ldr r3, [r2, #16]
5615 001a 43F00803 orr r3, r3, #8
5616 001e 1361 str r3, [r2, #16]
5617 .LVL279:
5618 .L348:
3360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5619 .loc 1 3360 1 is_stmt 0 view .LVU2002
5620 0020 08BD pop {r3, pc}
5621 .LVL280:
5622 .L352:
3351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5623 .loc 1 3351 7 is_stmt 1 view .LVU2003
5624 0022 FFF7FEFF bl HAL_SPI_TxCpltCallback
5625 .LVL281:
3351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5626 .loc 1 3351 7 is_stmt 0 view .LVU2004
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 201
5627 0026 FBE7 b .L348
5628 .cfi_endproc
5629 .LFE365:
5631 .section .text.HAL_SPI_RxCpltCallback,"ax",%progbits
5632 .align 1
5633 .weak HAL_SPI_RxCpltCallback
5634 .syntax unified
5635 .thumb
5636 .thumb_func
5638 HAL_SPI_RxCpltCallback:
5639 .LVL282:
5640 .LFB355:
3156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5641 .loc 1 3156 1 is_stmt 1 view -0
5642 .cfi_startproc
5643 @ args = 0, pretend = 0, frame = 0
5644 @ frame_needed = 0, uses_anonymous_args = 0
5645 @ link register save eliminated.
3158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5646 .loc 1 3158 3 view .LVU2006
3163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5647 .loc 1 3163 1 is_stmt 0 view .LVU2007
5648 0000 7047 bx lr
5649 .cfi_endproc
5650 .LFE355:
5652 .section .text.SPI_DMAReceiveCplt,"ax",%progbits
5653 .align 1
5654 .syntax unified
5655 .thumb
5656 .thumb_func
5658 SPI_DMAReceiveCplt:
5659 .LVL283:
5660 .LFB366:
3369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5661 .loc 1 3369 1 is_stmt 1 view -0
5662 .cfi_startproc
5663 @ args = 0, pretend = 0, frame = 0
5664 @ frame_needed = 0, uses_anonymous_args = 0
3369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5665 .loc 1 3369 1 is_stmt 0 view .LVU2009
5666 0000 08B5 push {r3, lr}
5667 .cfi_def_cfa_offset 8
5668 .cfi_offset 3, -8
5669 .cfi_offset 14, -4
3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5670 .loc 1 3370 3 is_stmt 1 view .LVU2010
3370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5671 .loc 1 3370 22 is_stmt 0 view .LVU2011
5672 0002 806B ldr r0, [r0, #56]
5673 .LVL284:
3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5674 .loc 1 3372 3 is_stmt 1 view .LVU2012
3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5675 .loc 1 3372 11 is_stmt 0 view .LVU2013
5676 0004 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
3372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5677 .loc 1 3372 6 view .LVU2014
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 202
5678 0008 072B cmp r3, #7
5679 000a 09D0 beq .L354
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5680 .loc 1 3374 5 is_stmt 1 view .LVU2015
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5681 .loc 1 3374 13 is_stmt 0 view .LVU2016
5682 000c C36F ldr r3, [r0, #124]
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5683 .loc 1 3374 27 view .LVU2017
5684 000e DB69 ldr r3, [r3, #28]
3374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5685 .loc 1 3374 8 view .LVU2018
5686 0010 B3F5807F cmp r3, #256
5687 0014 05D0 beq .L358
3385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5688 .loc 1 3385 7 is_stmt 1 view .LVU2019
5689 0016 0268 ldr r2, [r0]
5690 0018 1369 ldr r3, [r2, #16]
5691 001a 43F00803 orr r3, r3, #8
5692 001e 1361 str r3, [r2, #16]
5693 .LVL285:
5694 .L354:
3388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5695 .loc 1 3388 1 is_stmt 0 view .LVU2020
5696 0020 08BD pop {r3, pc}
5697 .LVL286:
5698 .L358:
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5699 .loc 1 3379 7 is_stmt 1 view .LVU2021
5700 0022 FFF7FEFF bl HAL_SPI_RxCpltCallback
5701 .LVL287:
3379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5702 .loc 1 3379 7 is_stmt 0 view .LVU2022
5703 0026 FBE7 b .L354
5704 .cfi_endproc
5705 .LFE366:
5707 .section .text.HAL_SPI_TxRxCpltCallback,"ax",%progbits
5708 .align 1
5709 .weak HAL_SPI_TxRxCpltCallback
5710 .syntax unified
5711 .thumb
5712 .thumb_func
5714 HAL_SPI_TxRxCpltCallback:
5715 .LVL288:
5716 .LFB356:
3172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5717 .loc 1 3172 1 is_stmt 1 view -0
5718 .cfi_startproc
5719 @ args = 0, pretend = 0, frame = 0
5720 @ frame_needed = 0, uses_anonymous_args = 0
5721 @ link register save eliminated.
3174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5722 .loc 1 3174 3 view .LVU2024
3179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5723 .loc 1 3179 1 is_stmt 0 view .LVU2025
5724 0000 7047 bx lr
5725 .cfi_endproc
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 203
5726 .LFE356:
5728 .section .text.SPI_DMATransmitReceiveCplt,"ax",%progbits
5729 .align 1
5730 .syntax unified
5731 .thumb
5732 .thumb_func
5734 SPI_DMATransmitReceiveCplt:
5735 .LVL289:
5736 .LFB367:
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5737 .loc 1 3397 1 is_stmt 1 view -0
5738 .cfi_startproc
5739 @ args = 0, pretend = 0, frame = 0
5740 @ frame_needed = 0, uses_anonymous_args = 0
3397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5741 .loc 1 3397 1 is_stmt 0 view .LVU2027
5742 0000 08B5 push {r3, lr}
5743 .cfi_def_cfa_offset 8
5744 .cfi_offset 3, -8
5745 .cfi_offset 14, -4
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5746 .loc 1 3398 3 is_stmt 1 view .LVU2028
3398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5747 .loc 1 3398 22 is_stmt 0 view .LVU2029
5748 0002 806B ldr r0, [r0, #56]
5749 .LVL290:
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5750 .loc 1 3400 3 is_stmt 1 view .LVU2030
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5751 .loc 1 3400 11 is_stmt 0 view .LVU2031
5752 0004 90F88130 ldrb r3, [r0, #129] @ zero_extendqisi2
3400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5753 .loc 1 3400 6 view .LVU2032
5754 0008 072B cmp r3, #7
5755 000a 09D0 beq .L360
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5756 .loc 1 3402 5 is_stmt 1 view .LVU2033
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5757 .loc 1 3402 13 is_stmt 0 view .LVU2034
5758 000c 836F ldr r3, [r0, #120]
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5759 .loc 1 3402 27 view .LVU2035
5760 000e DB69 ldr r3, [r3, #28]
3402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5761 .loc 1 3402 8 view .LVU2036
5762 0010 B3F5807F cmp r3, #256
5763 0014 05D0 beq .L364
3413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
5764 .loc 1 3413 7 is_stmt 1 view .LVU2037
5765 0016 0268 ldr r2, [r0]
5766 0018 1369 ldr r3, [r2, #16]
5767 001a 43F00803 orr r3, r3, #8
5768 001e 1361 str r3, [r2, #16]
5769 .LVL291:
5770 .L360:
3416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5771 .loc 1 3416 1 is_stmt 0 view .LVU2038
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 204
5772 0020 08BD pop {r3, pc}
5773 .LVL292:
5774 .L364:
3407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5775 .loc 1 3407 7 is_stmt 1 view .LVU2039
5776 0022 FFF7FEFF bl HAL_SPI_TxRxCpltCallback
5777 .LVL293:
3407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5778 .loc 1 3407 7 is_stmt 0 view .LVU2040
5779 0026 FBE7 b .L360
5780 .cfi_endproc
5781 .LFE367:
5783 .section .text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits
5784 .align 1
5785 .weak HAL_SPI_TxHalfCpltCallback
5786 .syntax unified
5787 .thumb
5788 .thumb_func
5790 HAL_SPI_TxHalfCpltCallback:
5791 .LVL294:
5792 .LFB357:
3188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5793 .loc 1 3188 1 is_stmt 1 view -0
5794 .cfi_startproc
5795 @ args = 0, pretend = 0, frame = 0
5796 @ frame_needed = 0, uses_anonymous_args = 0
5797 @ link register save eliminated.
3190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5798 .loc 1 3190 3 view .LVU2042
3195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5799 .loc 1 3195 1 is_stmt 0 view .LVU2043
5800 0000 7047 bx lr
5801 .cfi_endproc
5802 .LFE357:
5804 .section .text.SPI_DMAHalfTransmitCplt,"ax",%progbits
5805 .align 1
5806 .syntax unified
5807 .thumb
5808 .thumb_func
5810 SPI_DMAHalfTransmitCplt:
5811 .LVL295:
5812 .LFB368:
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5813 .loc 1 3425 1 is_stmt 1 view -0
5814 .cfi_startproc
5815 @ args = 0, pretend = 0, frame = 0
5816 @ frame_needed = 0, uses_anonymous_args = 0
3425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5817 .loc 1 3425 1 is_stmt 0 view .LVU2045
5818 0000 08B5 push {r3, lr}
5819 .cfi_def_cfa_offset 8
5820 .cfi_offset 3, -8
5821 .cfi_offset 14, -4
3426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
5822 .loc 1 3426 3 is_stmt 1 view .LVU2046
5823 .LVL296:
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 205
5824 .loc 1 3432 3 view .LVU2047
5825 0002 806B ldr r0, [r0, #56]
5826 .LVL297:
3432:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5827 .loc 1 3432 3 is_stmt 0 view .LVU2048
5828 0004 FFF7FEFF bl HAL_SPI_TxHalfCpltCallback
5829 .LVL298:
3434:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5830 .loc 1 3434 1 view .LVU2049
5831 0008 08BD pop {r3, pc}
5832 .cfi_endproc
5833 .LFE368:
5835 .section .text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits
5836 .align 1
5837 .weak HAL_SPI_RxHalfCpltCallback
5838 .syntax unified
5839 .thumb
5840 .thumb_func
5842 HAL_SPI_RxHalfCpltCallback:
5843 .LVL299:
5844 .LFB358:
3204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5845 .loc 1 3204 1 is_stmt 1 view -0
5846 .cfi_startproc
5847 @ args = 0, pretend = 0, frame = 0
5848 @ frame_needed = 0, uses_anonymous_args = 0
5849 @ link register save eliminated.
3206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5850 .loc 1 3206 3 view .LVU2051
3211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5851 .loc 1 3211 1 is_stmt 0 view .LVU2052
5852 0000 7047 bx lr
5853 .cfi_endproc
5854 .LFE358:
5856 .section .text.SPI_DMAHalfReceiveCplt,"ax",%progbits
5857 .align 1
5858 .syntax unified
5859 .thumb
5860 .thumb_func
5862 SPI_DMAHalfReceiveCplt:
5863 .LVL300:
5864 .LFB369:
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5865 .loc 1 3443 1 is_stmt 1 view -0
5866 .cfi_startproc
5867 @ args = 0, pretend = 0, frame = 0
5868 @ frame_needed = 0, uses_anonymous_args = 0
3443:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5869 .loc 1 3443 1 is_stmt 0 view .LVU2054
5870 0000 08B5 push {r3, lr}
5871 .cfi_def_cfa_offset 8
5872 .cfi_offset 3, -8
5873 .cfi_offset 14, -4
3444:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
5874 .loc 1 3444 3 is_stmt 1 view .LVU2055
5875 .LVL301:
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 206
5876 .loc 1 3450 3 view .LVU2056
5877 0002 806B ldr r0, [r0, #56]
5878 .LVL302:
3450:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5879 .loc 1 3450 3 is_stmt 0 view .LVU2057
5880 0004 FFF7FEFF bl HAL_SPI_RxHalfCpltCallback
5881 .LVL303:
3452:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5882 .loc 1 3452 1 view .LVU2058
5883 0008 08BD pop {r3, pc}
5884 .cfi_endproc
5885 .LFE369:
5887 .section .text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits
5888 .align 1
5889 .weak HAL_SPI_TxRxHalfCpltCallback
5890 .syntax unified
5891 .thumb
5892 .thumb_func
5894 HAL_SPI_TxRxHalfCpltCallback:
5895 .LVL304:
5896 .LFB359:
3220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5897 .loc 1 3220 1 is_stmt 1 view -0
5898 .cfi_startproc
5899 @ args = 0, pretend = 0, frame = 0
5900 @ frame_needed = 0, uses_anonymous_args = 0
5901 @ link register save eliminated.
3222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5902 .loc 1 3222 3 view .LVU2060
3227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5903 .loc 1 3227 1 is_stmt 0 view .LVU2061
5904 0000 7047 bx lr
5905 .cfi_endproc
5906 .LFE359:
5908 .section .text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits
5909 .align 1
5910 .syntax unified
5911 .thumb
5912 .thumb_func
5914 SPI_DMAHalfTransmitReceiveCplt:
5915 .LVL305:
5916 .LFB370:
3461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5917 .loc 1 3461 1 is_stmt 1 view -0
5918 .cfi_startproc
5919 @ args = 0, pretend = 0, frame = 0
5920 @ frame_needed = 0, uses_anonymous_args = 0
3461:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)
5921 .loc 1 3461 1 is_stmt 0 view .LVU2063
5922 0000 08B5 push {r3, lr}
5923 .cfi_def_cfa_offset 8
5924 .cfi_offset 3, -8
5925 .cfi_offset 14, -4
3462:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** ((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation MISRAC2012-Rule-8.13
5926 .loc 1 3462 3 is_stmt 1 view .LVU2064
5927 .LVL306:
3468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 207
5928 .loc 1 3468 3 view .LVU2065
5929 0002 806B ldr r0, [r0, #56]
5930 .LVL307:
3468:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
5931 .loc 1 3468 3 is_stmt 0 view .LVU2066
5932 0004 FFF7FEFF bl HAL_SPI_TxRxHalfCpltCallback
5933 .LVL308:
3470:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5934 .loc 1 3470 1 view .LVU2067
5935 0008 08BD pop {r3, pc}
5936 .cfi_endproc
5937 .LFE370:
5939 .section .text.HAL_SPI_ErrorCallback,"ax",%progbits
5940 .align 1
5941 .weak HAL_SPI_ErrorCallback
5942 .syntax unified
5943 .thumb
5944 .thumb_func
5946 HAL_SPI_ErrorCallback:
5947 .LVL309:
5948 .LFB360:
3236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
5949 .loc 1 3236 1 is_stmt 1 view -0
5950 .cfi_startproc
5951 @ args = 0, pretend = 0, frame = 0
5952 @ frame_needed = 0, uses_anonymous_args = 0
5953 @ link register save eliminated.
3238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5954 .loc 1 3238 3 view .LVU2069
3246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5955 .loc 1 3246 1 is_stmt 0 view .LVU2070
5956 0000 7047 bx lr
5957 .cfi_endproc
5958 .LFE360:
5960 .section .text.SPI_DMAError,"ax",%progbits
5961 .align 1
5962 .syntax unified
5963 .thumb
5964 .thumb_func
5966 SPI_DMAError:
5967 .LVL310:
5968 .LFB371:
3479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5969 .loc 1 3479 1 is_stmt 1 view -0
5970 .cfi_startproc
5971 @ args = 0, pretend = 0, frame = 0
5972 @ frame_needed = 0, uses_anonymous_args = 0
3479:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
5973 .loc 1 3479 1 is_stmt 0 view .LVU2072
5974 0000 10B5 push {r4, lr}
5975 .cfi_def_cfa_offset 8
5976 .cfi_offset 4, -8
5977 .cfi_offset 14, -4
3480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5978 .loc 1 3480 3 is_stmt 1 view .LVU2073
3480:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5979 .loc 1 3480 22 is_stmt 0 view .LVU2074
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 208
5980 0002 846B ldr r4, [r0, #56]
5981 .LVL311:
3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5982 .loc 1 3483 3 is_stmt 1 view .LVU2075
3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5983 .loc 1 3483 7 is_stmt 0 view .LVU2076
5984 0004 FFF7FEFF bl HAL_DMA_GetError
5985 .LVL312:
3483:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
5986 .loc 1 3483 6 discriminator 1 view .LVU2077
5987 0008 0228 cmp r0, #2
5988 000a 00D1 bne .L378
5989 .L375:
3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5990 .loc 1 3496 1 view .LVU2078
5991 000c 10BD pop {r4, pc}
5992 .LVL313:
5993 .L378:
3486:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
5994 .loc 1 3486 5 is_stmt 1 view .LVU2079
5995 000e 2046 mov r0, r4
5996 0010 FFF7FEFF bl SPI_CloseTransfer
5997 .LVL314:
3488:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY;
5998 .loc 1 3488 5 view .LVU2080
5999 0014 D4F88430 ldr r3, [r4, #132]
6000 0018 43F01003 orr r3, r3, #16
6001 001c C4F88430 str r3, [r4, #132]
3489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
6002 .loc 1 3489 5 view .LVU2081
3489:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1UL)
6003 .loc 1 3489 17 is_stmt 0 view .LVU2082
6004 0020 0123 movs r3, #1
6005 0022 84F88130 strb r3, [r4, #129]
3493:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6006 .loc 1 3493 5 is_stmt 1 view .LVU2083
6007 0026 2046 mov r0, r4
6008 0028 FFF7FEFF bl HAL_SPI_ErrorCallback
6009 .LVL315:
3496:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6010 .loc 1 3496 1 is_stmt 0 view .LVU2084
6011 002c EEE7 b .L375
6012 .cfi_endproc
6013 .LFE371:
6015 .section .text.SPI_DMAAbortOnError,"ax",%progbits
6016 .align 1
6017 .syntax unified
6018 .thumb
6019 .thumb_func
6021 SPI_DMAAbortOnError:
6022 .LVL316:
6023 .LFB372:
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6024 .loc 1 3505 1 is_stmt 1 view -0
6025 .cfi_startproc
6026 @ args = 0, pretend = 0, frame = 0
6027 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 209
3505:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6028 .loc 1 3505 1 is_stmt 0 view .LVU2086
6029 0000 08B5 push {r3, lr}
6030 .cfi_def_cfa_offset 8
6031 .cfi_offset 3, -8
6032 .cfi_offset 14, -4
3506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
6033 .loc 1 3506 3 is_stmt 1 view .LVU2087
3506:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxXferCount = (uint16_t) 0UL;
6034 .loc 1 3506 22 is_stmt 0 view .LVU2088
6035 0002 806B ldr r0, [r0, #56]
6036 .LVL317:
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
6037 .loc 1 3507 3 is_stmt 1 view .LVU2089
3507:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->TxXferCount = (uint16_t) 0UL;
6038 .loc 1 3507 21 is_stmt 0 view .LVU2090
6039 0004 0023 movs r3, #0
6040 0006 A0F86A30 strh r3, [r0, #106] @ movhi
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6041 .loc 1 3508 3 is_stmt 1 view .LVU2091
3508:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6042 .loc 1 3508 21 is_stmt 0 view .LVU2092
6043 000a A0F86230 strh r3, [r0, #98] @ movhi
3511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6044 .loc 1 3511 3 is_stmt 1 view .LVU2093
3511:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6045 .loc 1 3511 15 is_stmt 0 view .LVU2094
6046 000e 0123 movs r3, #1
6047 0010 80F88130 strb r3, [r0, #129]
3516:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6048 .loc 1 3516 3 is_stmt 1 view .LVU2095
6049 0014 FFF7FEFF bl HAL_SPI_ErrorCallback
6050 .LVL318:
3518:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6051 .loc 1 3518 1 is_stmt 0 view .LVU2096
6052 0018 08BD pop {r3, pc}
6053 .cfi_endproc
6054 .LFE372:
6056 .section .text.HAL_SPI_AbortCpltCallback,"ax",%progbits
6057 .align 1
6058 .weak HAL_SPI_AbortCpltCallback
6059 .syntax unified
6060 .thumb
6061 .thumb_func
6063 HAL_SPI_AbortCpltCallback:
6064 .LVL319:
6065 .LFB361:
3254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
6066 .loc 1 3254 1 is_stmt 1 view -0
6067 .cfi_startproc
6068 @ args = 0, pretend = 0, frame = 0
6069 @ frame_needed = 0, uses_anonymous_args = 0
6070 @ link register save eliminated.
3256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6071 .loc 1 3256 3 view .LVU2098
3261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6072 .loc 1 3261 1 is_stmt 0 view .LVU2099
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 210
6073 0000 7047 bx lr
6074 .cfi_endproc
6075 .LFE361:
6077 .section .text.HAL_SPI_Abort_IT,"ax",%progbits
6078 .align 1
6079 .global HAL_SPI_Abort_IT
6080 .syntax unified
6081 .thumb
6082 .thumb_func
6084 HAL_SPI_Abort_IT:
6085 .LVL320:
6086 .LFB349:
2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6087 .loc 1 2697 1 is_stmt 1 view -0
6088 .cfi_startproc
6089 @ args = 0, pretend = 0, frame = 8
6090 @ frame_needed = 0, uses_anonymous_args = 0
2697:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_StatusTypeDef errorcode;
6091 .loc 1 2697 1 is_stmt 0 view .LVU2101
6092 0000 30B5 push {r4, r5, lr}
6093 .cfi_def_cfa_offset 12
6094 .cfi_offset 4, -12
6095 .cfi_offset 5, -8
6096 .cfi_offset 14, -4
6097 0002 83B0 sub sp, sp, #12
6098 .cfi_def_cfa_offset 24
6099 0004 0446 mov r4, r0
2698:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __IO uint32_t count;
6100 .loc 1 2698 3 is_stmt 1 view .LVU2102
2699:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_tx_abort_done = 1UL;
6101 .loc 1 2699 3 view .LVU2103
2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_rx_abort_done = 1UL;
6102 .loc 1 2700 3 view .LVU2104
6103 .LVL321:
2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6104 .loc 1 2701 3 view .LVU2105
2704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6105 .loc 1 2704 3 view .LVU2106
2704:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6106 .loc 1 2704 15 is_stmt 0 view .LVU2107
6107 0006 0723 movs r3, #7
6108 0008 80F88130 strb r3, [r0, #129]
2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24UL / 1000UL);
6109 .loc 1 2707 3 is_stmt 1 view .LVU2108
6110 .LVL322:
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6111 .loc 1 2708 3 view .LVU2109
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6112 .loc 1 2708 57 is_stmt 0 view .LVU2110
6113 000c 554B ldr r3, .L417
6114 000e 1B68 ldr r3, [r3]
6115 0010 554A ldr r2, .L417+4
6116 0012 A2FB0323 umull r2, r3, r2, r3
6117 0016 5B0A lsrs r3, r3, #9
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6118 .loc 1 2708 31 view .LVU2111
6119 0018 6422 movs r2, #100
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 211
6120 001a 02FB03F3 mul r3, r2, r3
2708:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6121 .loc 1 2708 9 view .LVU2112
6122 001e 0193 str r3, [sp, #4]
2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6123 .loc 1 2711 3 is_stmt 1 view .LVU2113
2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6124 .loc 1 2711 7 is_stmt 0 view .LVU2114
6125 0020 0368 ldr r3, [r0]
6126 0022 1A68 ldr r2, [r3]
2711:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6127 .loc 1 2711 6 view .LVU2115
6128 0024 12F4007F tst r2, #512
6129 0028 40D0 beq .L383
2714:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
6130 .loc 1 2714 5 is_stmt 1 view .LVU2116
6131 002a 1A69 ldr r2, [r3, #16]
6132 002c 22F00802 bic r2, r2, #8
6133 0030 1A61 str r2, [r3, #16]
6134 .L386:
2715:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6135 .loc 1 2715 5 view .LVU2117
2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6136 .loc 1 2717 7 view .LVU2118
2717:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6137 .loc 1 2717 12 is_stmt 0 view .LVU2119
6138 0032 019B ldr r3, [sp, #4]
6139 0034 013B subs r3, r3, #1
6140 0036 0193 str r3, [sp, #4]
2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6141 .loc 1 2718 7 is_stmt 1 view .LVU2120
2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6142 .loc 1 2718 17 is_stmt 0 view .LVU2121
6143 0038 019B ldr r3, [sp, #4]
2718:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6144 .loc 1 2718 10 view .LVU2122
6145 003a 2BB1 cbz r3, .L407
2723:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6146 .loc 1 2723 14 is_stmt 1 view .LVU2123
6147 003c 2368 ldr r3, [r4]
6148 003e 1B69 ldr r3, [r3, #16]
6149 0040 13F0080F tst r3, #8
6150 0044 F5D1 bne .L386
6151 0046 05E0 b .L385
6152 .L407:
2720:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
6153 .loc 1 2720 9 view .LVU2124
6154 0048 D4F88430 ldr r3, [r4, #132]
6155 004c 43F04003 orr r3, r3, #64
6156 0050 C4F88430 str r3, [r4, #132]
2721:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6157 .loc 1 2721 9 view .LVU2125
6158 .L385:
2726:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
6159 .loc 1 2726 5 view .LVU2126
6160 0054 2268 ldr r2, [r4]
6161 0056 1368 ldr r3, [r2]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 212
6162 0058 43F48063 orr r3, r3, #1024
6163 005c 1360 str r3, [r2]
6164 .L389:
2727:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6165 .loc 1 2727 5 view .LVU2127
2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6166 .loc 1 2729 7 view .LVU2128
2729:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6167 .loc 1 2729 12 is_stmt 0 view .LVU2129
6168 005e 019B ldr r3, [sp, #4]
6169 0060 013B subs r3, r3, #1
6170 0062 0193 str r3, [sp, #4]
2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6171 .loc 1 2730 7 is_stmt 1 view .LVU2130
2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6172 .loc 1 2730 17 is_stmt 0 view .LVU2131
6173 0064 019B ldr r3, [sp, #4]
2730:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6174 .loc 1 2730 10 view .LVU2132
6175 0066 2BB1 cbz r3, .L408
2735:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6176 .loc 1 2735 14 is_stmt 1 view .LVU2133
6177 0068 2368 ldr r3, [r4]
6178 006a 1B68 ldr r3, [r3]
6179 006c 13F4007F tst r3, #512
6180 0070 F5D1 bne .L389
6181 0072 05E0 b .L388
6182 .L408:
2732:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
6183 .loc 1 2732 9 view .LVU2134
6184 0074 D4F88430 ldr r3, [r4, #132]
6185 0078 43F04003 orr r3, r3, #64
6186 007c C4F88430 str r3, [r4, #132]
2733:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6187 .loc 1 2733 9 view .LVU2135
6188 .L388:
2738:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** do
6189 .loc 1 2738 5 view .LVU2136
6190 0080 2268 ldr r2, [r4]
6191 0082 9369 ldr r3, [r2, #24]
6192 0084 43F40063 orr r3, r3, #2048
6193 0088 9361 str r3, [r2, #24]
6194 .L391:
2739:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6195 .loc 1 2739 5 view .LVU2137
2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6196 .loc 1 2741 7 view .LVU2138
2741:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (count == 0UL)
6197 .loc 1 2741 12 is_stmt 0 view .LVU2139
6198 008a 019B ldr r3, [sp, #4]
6199 008c 013B subs r3, r3, #1
6200 008e 0193 str r3, [sp, #4]
2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6201 .loc 1 2742 7 is_stmt 1 view .LVU2140
2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6202 .loc 1 2742 17 is_stmt 0 view .LVU2141
6203 0090 019B ldr r3, [sp, #4]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 213
2742:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6204 .loc 1 2742 10 view .LVU2142
6205 0092 2BB1 cbz r3, .L409
2747:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6206 .loc 1 2747 14 is_stmt 1 view .LVU2143
6207 0094 2368 ldr r3, [r4]
6208 0096 5B69 ldr r3, [r3, #20]
6209 0098 13F4006F tst r3, #2048
6210 009c F5D1 bne .L391
6211 009e 05E0 b .L383
6212 .L409:
2744:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** break;
6213 .loc 1 2744 9 view .LVU2144
6214 00a0 D4F88430 ldr r3, [r4, #132]
6215 00a4 43F04003 orr r3, r3, #64
6216 00a8 C4F88430 str r3, [r4, #132]
2745:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6217 .loc 1 2745 9 view .LVU2145
6218 .L383:
2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6219 .loc 1 2753 3 view .LVU2146
2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6220 .loc 1 2753 11 is_stmt 0 view .LVU2147
6221 00ac A36F ldr r3, [r4, #120]
2753:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6222 .loc 1 2753 6 view .LVU2148
6223 00ae 63B3 cbz r3, .L398
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6224 .loc 1 2755 5 is_stmt 1 view .LVU2149
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6225 .loc 1 2755 9 is_stmt 0 view .LVU2150
6226 00b0 2268 ldr r2, [r4]
6227 00b2 9268 ldr r2, [r2, #8]
2755:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6228 .loc 1 2755 8 view .LVU2151
6229 00b4 12F4004F tst r2, #32768
6230 00b8 13D1 bne .L410
2774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6231 .loc 1 2774 7 is_stmt 1 view .LVU2152
2774:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6232 .loc 1 2774 39 is_stmt 0 view .LVU2153
6233 00ba 0022 movs r2, #0
6234 00bc 1A65 str r2, [r3, #80]
2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_rx_abort_done = 1UL;
6235 .loc 1 2700 12 view .LVU2154
6236 00be 0125 movs r5, #1
6237 .LVL323:
6238 .L392:
2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6239 .loc 1 2778 3 is_stmt 1 view .LVU2155
2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6240 .loc 1 2778 11 is_stmt 0 view .LVU2156
6241 00c0 E36F ldr r3, [r4, #124]
2778:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6242 .loc 1 2778 6 view .LVU2157
6243 00c2 002B cmp r3, #0
6244 00c4 37D0 beq .L401
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 214
2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6245 .loc 1 2780 5 is_stmt 1 view .LVU2158
2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6246 .loc 1 2780 9 is_stmt 0 view .LVU2159
6247 00c6 2268 ldr r2, [r4]
6248 00c8 9268 ldr r2, [r2, #8]
2780:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6249 .loc 1 2780 8 view .LVU2160
6250 00ca 12F4804F tst r2, #16384
6251 00ce 1ED1 bne .L411
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6252 .loc 1 2799 7 is_stmt 1 view .LVU2161
2799:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6253 .loc 1 2799 39 is_stmt 0 view .LVU2162
6254 00d0 0022 movs r2, #0
6255 00d2 1A65 str r2, [r3, #80]
2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6256 .loc 1 2701 12 view .LVU2163
6257 00d4 0123 movs r3, #1
6258 .LVL324:
6259 .L394:
2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6260 .loc 1 2804 3 is_stmt 1 view .LVU2164
2804:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6261 .loc 1 2804 6 is_stmt 0 view .LVU2165
6262 00d6 1D42 tst r5, r3
6263 00d8 2FD1 bne .L412
2707:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24UL / 1000UL);
6264 .loc 1 2707 13 view .LVU2166
6265 00da 0025 movs r5, #0
6266 .LVL325:
6267 .L396:
2832:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6268 .loc 1 2832 3 is_stmt 1 view .LVU2167
2833:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6269 .loc 1 2833 1 is_stmt 0 view .LVU2168
6270 00dc 2846 mov r0, r5
6271 00de 03B0 add sp, sp, #12
6272 .cfi_remember_state
6273 .cfi_def_cfa_offset 12
6274 @ sp needed
6275 00e0 30BD pop {r4, r5, pc}
6276 .LVL326:
6277 .L410:
6278 .cfi_restore_state
2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6279 .loc 1 2758 7 is_stmt 1 view .LVU2169
2758:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6280 .loc 1 2758 39 is_stmt 0 view .LVU2170
6281 00e2 224A ldr r2, .L417+8
6282 00e4 1A65 str r2, [r3, #80]
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6283 .loc 1 2760 7 is_stmt 1 view .LVU2171
6284 .LVL327:
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6285 .loc 1 2763 7 view .LVU2172
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 215
6286 .loc 1 2763 11 is_stmt 0 view .LVU2173
6287 00e6 A06F ldr r0, [r4, #120]
6288 .LVL328:
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6289 .loc 1 2763 11 view .LVU2174
6290 00e8 FFF7FEFF bl HAL_DMA_Abort_IT
6291 .LVL329:
2763:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6292 .loc 1 2763 10 discriminator 1 view .LVU2175
6293 00ec 08B9 cbnz r0, .L413
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6294 .loc 1 2760 25 view .LVU2176
6295 00ee 0025 movs r5, #0
6296 00f0 E6E7 b .L392
6297 .L413:
2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6298 .loc 1 2765 9 is_stmt 1 view .LVU2177
2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6299 .loc 1 2765 13 is_stmt 0 view .LVU2178
6300 00f2 A06F ldr r0, [r4, #120]
6301 00f4 FFF7FEFF bl HAL_DMA_GetError
6302 .LVL330:
2765:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6303 .loc 1 2765 12 discriminator 1 view .LVU2179
6304 00f8 8028 cmp r0, #128
6305 00fa 01D0 beq .L414
2760:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6306 .loc 1 2760 25 view .LVU2180
6307 00fc 0025 movs r5, #0
6308 00fe DFE7 b .L392
6309 .L414:
2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
6310 .loc 1 2767 11 is_stmt 1 view .LVU2181
6311 .LVL331:
2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6312 .loc 1 2768 11 view .LVU2182
2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6313 .loc 1 2768 15 is_stmt 0 view .LVU2183
6314 0100 A36F ldr r3, [r4, #120]
2768:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6315 .loc 1 2768 43 view .LVU2184
6316 0102 0022 movs r2, #0
6317 0104 1A65 str r2, [r3, #80]
2767:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL;
6318 .loc 1 2767 29 view .LVU2185
6319 0106 0125 movs r5, #1
6320 0108 DAE7 b .L392
6321 .LVL332:
6322 .L398:
2700:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t dma_rx_abort_done = 1UL;
6323 .loc 1 2700 12 view .LVU2186
6324 010a 0125 movs r5, #1
6325 010c D8E7 b .L392
6326 .LVL333:
6327 .L411:
2783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6328 .loc 1 2783 7 is_stmt 1 view .LVU2187
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 216
2783:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6329 .loc 1 2783 39 is_stmt 0 view .LVU2188
6330 010e 184A ldr r2, .L417+12
6331 0110 1A65 str r2, [r3, #80]
2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6332 .loc 1 2785 7 is_stmt 1 view .LVU2189
6333 .LVL334:
2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6334 .loc 1 2788 7 view .LVU2190
2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6335 .loc 1 2788 11 is_stmt 0 view .LVU2191
6336 0112 E06F ldr r0, [r4, #124]
6337 0114 FFF7FEFF bl HAL_DMA_Abort_IT
6338 .LVL335:
2788:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6339 .loc 1 2788 10 discriminator 1 view .LVU2192
6340 0118 08B9 cbnz r0, .L415
2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6341 .loc 1 2785 25 view .LVU2193
6342 011a 0023 movs r3, #0
6343 011c DBE7 b .L394
6344 .L415:
2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6345 .loc 1 2790 9 is_stmt 1 view .LVU2194
2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6346 .loc 1 2790 13 is_stmt 0 view .LVU2195
6347 011e E06F ldr r0, [r4, #124]
6348 0120 FFF7FEFF bl HAL_DMA_GetError
6349 .LVL336:
2790:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6350 .loc 1 2790 12 discriminator 1 view .LVU2196
6351 0124 8028 cmp r0, #128
6352 0126 01D0 beq .L416
2785:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6353 .loc 1 2785 25 view .LVU2197
6354 0128 0023 movs r3, #0
6355 012a D4E7 b .L394
6356 .L416:
2792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
6357 .loc 1 2792 11 is_stmt 1 view .LVU2198
6358 .LVL337:
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6359 .loc 1 2793 11 view .LVU2199
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6360 .loc 1 2793 15 is_stmt 0 view .LVU2200
6361 012c E36F ldr r3, [r4, #124]
2793:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6362 .loc 1 2793 43 view .LVU2201
6363 012e 0022 movs r2, #0
6364 0130 1A65 str r2, [r3, #80]
2792:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL;
6365 .loc 1 2792 29 view .LVU2202
6366 0132 0123 movs r3, #1
6367 0134 CFE7 b .L394
6368 .L401:
2701:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6369 .loc 1 2701 12 view .LVU2203
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 217
6370 0136 0123 movs r3, #1
6371 0138 CDE7 b .L394
6372 .LVL338:
6373 .L412:
2807:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6374 .loc 1 2807 5 is_stmt 1 view .LVU2204
6375 013a 2046 mov r0, r4
6376 013c FFF7FEFF bl SPI_AbortTransfer
6377 .LVL339:
2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6378 .loc 1 2810 5 view .LVU2205
2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6379 .loc 1 2810 9 is_stmt 0 view .LVU2206
6380 0140 D4F88430 ldr r3, [r4, #132]
2810:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6381 .loc 1 2810 8 view .LVU2207
6382 0144 13F0400F tst r3, #64
6383 0148 09D1 bne .L405
2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6384 .loc 1 2818 7 is_stmt 1 view .LVU2208
2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6385 .loc 1 2818 23 is_stmt 0 view .LVU2209
6386 014a 0025 movs r5, #0
6387 .LVL340:
2818:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6388 .loc 1 2818 23 view .LVU2210
6389 014c C4F88450 str r5, [r4, #132]
6390 .L397:
6391 .LVL341:
2822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6392 .loc 1 2822 5 is_stmt 1 view .LVU2211
2822:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6393 .loc 1 2822 17 is_stmt 0 view .LVU2212
6394 0150 0123 movs r3, #1
6395 0152 84F88130 strb r3, [r4, #129]
2828:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6396 .loc 1 2828 5 is_stmt 1 view .LVU2213
6397 0156 2046 mov r0, r4
6398 0158 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6399 .LVL342:
6400 015c BEE7 b .L396
6401 .LVL343:
6402 .L405:
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6403 .loc 1 2813 17 is_stmt 0 view .LVU2214
6404 015e 0125 movs r5, #1
6405 .LVL344:
2813:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6406 .loc 1 2813 17 view .LVU2215
6407 0160 F6E7 b .L397
6408 .L418:
6409 0162 00BF .align 2
6410 .L417:
6411 0164 00000000 .word SystemCoreClock
6412 0168 F1197605 .word 91625969
6413 016c 00000000 .word SPI_DMATxAbortCallback
6414 0170 00000000 .word SPI_DMARxAbortCallback
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 218
6415 .cfi_endproc
6416 .LFE349:
6418 .section .text.SPI_DMARxAbortCallback,"ax",%progbits
6419 .align 1
6420 .syntax unified
6421 .thumb
6422 .thumb_func
6424 SPI_DMARxAbortCallback:
6425 .LVL345:
6426 .LFB374:
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6427 .loc 1 3566 1 is_stmt 1 view -0
6428 .cfi_startproc
6429 @ args = 0, pretend = 0, frame = 0
6430 @ frame_needed = 0, uses_anonymous_args = 0
3566:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6431 .loc 1 3566 1 is_stmt 0 view .LVU2217
6432 0000 10B5 push {r4, lr}
6433 .cfi_def_cfa_offset 8
6434 .cfi_offset 4, -8
6435 .cfi_offset 14, -4
3567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6436 .loc 1 3567 3 is_stmt 1 view .LVU2218
3567:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6437 .loc 1 3567 22 is_stmt 0 view .LVU2219
6438 0002 846B ldr r4, [r0, #56]
6439 .LVL346:
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6440 .loc 1 3569 3 is_stmt 1 view .LVU2220
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6441 .loc 1 3569 7 is_stmt 0 view .LVU2221
6442 0004 E36F ldr r3, [r4, #124]
3569:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6443 .loc 1 3569 35 view .LVU2222
6444 0006 0022 movs r2, #0
6445 0008 1A65 str r2, [r3, #80]
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6446 .loc 1 3572 3 is_stmt 1 view .LVU2223
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6447 .loc 1 3572 11 is_stmt 0 view .LVU2224
6448 000a A36F ldr r3, [r4, #120]
3572:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6449 .loc 1 3572 6 view .LVU2225
6450 000c 0BB1 cbz r3, .L420
3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6451 .loc 1 3574 5 is_stmt 1 view .LVU2226
3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6452 .loc 1 3574 21 is_stmt 0 view .LVU2227
6453 000e 1B6D ldr r3, [r3, #80]
3574:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6454 .loc 1 3574 8 view .LVU2228
6455 0010 43B9 cbnz r3, .L419
6456 .L420:
3581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6457 .loc 1 3581 3 is_stmt 1 view .LVU2229
6458 0012 2046 mov r0, r4
6459 .LVL347:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 219
3581:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6460 .loc 1 3581 3 is_stmt 0 view .LVU2230
6461 0014 FFF7FEFF bl SPI_AbortTransfer
6462 .LVL348:
3584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6463 .loc 1 3584 3 is_stmt 1 view .LVU2231
3584:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6464 .loc 1 3584 15 is_stmt 0 view .LVU2232
6465 0018 0123 movs r3, #1
6466 001a 84F88130 strb r3, [r4, #129]
3590:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6467 .loc 1 3590 3 is_stmt 1 view .LVU2233
6468 001e 2046 mov r0, r4
6469 0020 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6470 .LVL349:
6471 .L419:
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6472 .loc 1 3592 1 is_stmt 0 view .LVU2234
6473 0024 10BD pop {r4, pc}
3592:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6474 .loc 1 3592 1 view .LVU2235
6475 .cfi_endproc
6476 .LFE374:
6478 .section .text.SPI_DMATxAbortCallback,"ax",%progbits
6479 .align 1
6480 .syntax unified
6481 .thumb
6482 .thumb_func
6484 SPI_DMATxAbortCallback:
6485 .LVL350:
6486 .LFB373:
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6487 .loc 1 3529 1 is_stmt 1 view -0
6488 .cfi_startproc
6489 @ args = 0, pretend = 0, frame = 0
6490 @ frame_needed = 0, uses_anonymous_args = 0
3529:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
6491 .loc 1 3529 1 is_stmt 0 view .LVU2237
6492 0000 10B5 push {r4, lr}
6493 .cfi_def_cfa_offset 8
6494 .cfi_offset 4, -8
6495 .cfi_offset 14, -4
3530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6496 .loc 1 3530 3 is_stmt 1 view .LVU2238
3530:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6497 .loc 1 3530 22 is_stmt 0 view .LVU2239
6498 0002 846B ldr r4, [r0, #56]
6499 .LVL351:
3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6500 .loc 1 3532 3 is_stmt 1 view .LVU2240
3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6501 .loc 1 3532 7 is_stmt 0 view .LVU2241
6502 0004 A36F ldr r3, [r4, #120]
3532:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6503 .loc 1 3532 35 view .LVU2242
6504 0006 0022 movs r2, #0
6505 0008 1A65 str r2, [r3, #80]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 220
3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6506 .loc 1 3535 3 is_stmt 1 view .LVU2243
3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6507 .loc 1 3535 11 is_stmt 0 view .LVU2244
6508 000a E36F ldr r3, [r4, #124]
3535:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6509 .loc 1 3535 6 view .LVU2245
6510 000c 0BB1 cbz r3, .L424
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6511 .loc 1 3537 5 is_stmt 1 view .LVU2246
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6512 .loc 1 3537 21 is_stmt 0 view .LVU2247
6513 000e 1B6D ldr r3, [r3, #80]
3537:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6514 .loc 1 3537 8 view .LVU2248
6515 0010 43B9 cbnz r3, .L423
6516 .L424:
3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6517 .loc 1 3544 3 is_stmt 1 view .LVU2249
6518 0012 2046 mov r0, r4
6519 .LVL352:
3544:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6520 .loc 1 3544 3 is_stmt 0 view .LVU2250
6521 0014 FFF7FEFF bl SPI_AbortTransfer
6522 .LVL353:
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6523 .loc 1 3547 3 is_stmt 1 view .LVU2251
3547:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6524 .loc 1 3547 15 is_stmt 0 view .LVU2252
6525 0018 0123 movs r3, #1
6526 001a 84F88130 strb r3, [r4, #129]
3553:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6527 .loc 1 3553 3 is_stmt 1 view .LVU2253
6528 001e 2046 mov r0, r4
6529 0020 FFF7FEFF bl HAL_SPI_AbortCpltCallback
6530 .LVL354:
6531 .L423:
3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6532 .loc 1 3555 1 is_stmt 0 view .LVU2254
6533 0024 10BD pop {r4, pc}
3555:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6534 .loc 1 3555 1 view .LVU2255
6535 .cfi_endproc
6536 .LFE373:
6538 .section .text.HAL_SPI_SuspendCallback,"ax",%progbits
6539 .align 1
6540 .weak HAL_SPI_SuspendCallback
6541 .syntax unified
6542 .thumb
6543 .thumb_func
6545 HAL_SPI_SuspendCallback:
6546 .LVL355:
6547 .LFB362:
3269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */
6548 .loc 1 3269 1 is_stmt 1 view -0
6549 .cfi_startproc
6550 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 221
6551 @ frame_needed = 0, uses_anonymous_args = 0
6552 @ link register save eliminated.
3271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6553 .loc 1 3271 3 view .LVU2257
3276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6554 .loc 1 3276 1 is_stmt 0 view .LVU2258
6555 0000 7047 bx lr
6556 .cfi_endproc
6557 .LFE362:
6559 .section .text.HAL_SPI_IRQHandler,"ax",%progbits
6560 .align 1
6561 .global HAL_SPI_IRQHandler
6562 .syntax unified
6563 .thumb
6564 .thumb_func
6566 HAL_SPI_IRQHandler:
6567 .LVL356:
6568 .LFB353:
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itsource = hspi->Instance->IER;
6569 .loc 1 2887 1 is_stmt 1 view -0
6570 .cfi_startproc
6571 @ args = 0, pretend = 0, frame = 0
6572 @ frame_needed = 0, uses_anonymous_args = 0
2887:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itsource = hspi->Instance->IER;
6573 .loc 1 2887 1 is_stmt 0 view .LVU2260
6574 0000 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
6575 .cfi_def_cfa_offset 32
6576 .cfi_offset 3, -32
6577 .cfi_offset 4, -28
6578 .cfi_offset 5, -24
6579 .cfi_offset 6, -20
6580 .cfi_offset 7, -16
6581 .cfi_offset 8, -12
6582 .cfi_offset 9, -8
6583 .cfi_offset 14, -4
6584 0004 0446 mov r4, r0
2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6585 .loc 1 2888 3 is_stmt 1 view .LVU2261
2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6586 .loc 1 2888 27 is_stmt 0 view .LVU2262
6587 0006 0668 ldr r6, [r0]
2888:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR;
6588 .loc 1 2888 12 view .LVU2263
6589 0008 3269 ldr r2, [r6, #16]
6590 .LVL357:
2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t trigger = itsource & itflag;
6591 .loc 1 2889 3 is_stmt 1 view .LVU2264
2889:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t trigger = itsource & itflag;
6592 .loc 1 2889 12 is_stmt 0 view .LVU2265
6593 000a 7369 ldr r3, [r6, #20]
6594 .LVL358:
2890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t cfg1 = hspi->Instance->CFG1;
6595 .loc 1 2890 3 is_stmt 1 view .LVU2266
2890:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t cfg1 = hspi->Instance->CFG1;
6596 .loc 1 2890 12 is_stmt 0 view .LVU2267
6597 000c 02EA0305 and r5, r2, r3
6598 .LVL359:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 222
2891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t handled = 0UL;
6599 .loc 1 2891 3 is_stmt 1 view .LVU2268
2891:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** uint32_t handled = 0UL;
6600 .loc 1 2891 12 is_stmt 0 view .LVU2269
6601 0010 D6F80890 ldr r9, [r6, #8]
6602 .LVL360:
2892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6603 .loc 1 2892 3 is_stmt 1 view .LVU2270
2894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
6604 .loc 1 2894 3 view .LVU2271
2894:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #if defined (__GNUC__)
6605 .loc 1 2894 24 is_stmt 0 view .LVU2272
6606 0014 90F88170 ldrb r7, [r0, #129] @ zero_extendqisi2
6607 0018 FFB2 uxtb r7, r7
6608 .LVL361:
2896:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* __GNUC__ */
6609 .loc 1 2896 3 is_stmt 1 view .LVU2273
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6610 .loc 1 2900 3 view .LVU2274
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6611 .loc 1 2900 6 is_stmt 0 view .LVU2275
6612 001a 13F4006F tst r3, #2048
6613 001e 02D0 beq .L429
2900:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6614 .loc 1 2900 45 discriminator 1 view .LVU2276
6615 0020 12F0080F tst r2, #8
6616 0024 3FD1 bne .L456
6617 .L429:
2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))
6618 .loc 1 2915 3 is_stmt 1 view .LVU2277
2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))
6619 .loc 1 2915 86 is_stmt 0 view .LVU2278
6620 0026 05F06403 and r3, r5, #100
6621 .LVL362:
2915:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_SET(trigger, SPI_FLAG_DXP))
6622 .loc 1 2915 6 view .LVU2279
6623 002a 042B cmp r3, #4
6624 002c 42D0 beq .L457
2892:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6625 .loc 1 2892 12 view .LVU2280
6626 002e 0023 movs r3, #0
6627 .LVL363:
6628 .L431:
2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
6629 .loc 1 2924 3 is_stmt 1 view .LVU2281
2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
6630 .loc 1 2924 86 is_stmt 0 view .LVU2282
6631 0030 05F04508 and r8, r5, #69
2924:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
6632 .loc 1 2924 6 view .LVU2283
6633 0034 B8F1010F cmp r8, #1
6634 0038 44D0 beq .L458
6635 .LVL364:
6636 .L432:
2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
6637 .loc 1 2932 3 is_stmt 1 view .LVU2284
2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 223
6638 .loc 1 2932 86 is_stmt 0 view .LVU2285
6639 003a 05F02602 and r2, r5, #38
2932:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** HAL_IS_BIT_CLR(trigger, SPI_FLAG_DXP))
6640 .loc 1 2932 6 view .LVU2286
6641 003e 022A cmp r2, #2
6642 0040 45D0 beq .L459
2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6643 .loc 1 2947 3 is_stmt 1 view .LVU2287
2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6644 .loc 1 2947 6 is_stmt 0 view .LVU2288
6645 0042 002B cmp r3, #0
6646 0044 46D1 bne .L428
2953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6647 .loc 1 2953 3 is_stmt 1 view .LVU2289
2953:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6648 .loc 1 2953 6 is_stmt 0 view .LVU2290
6649 0046 15F0080F tst r5, #8
6650 004a 79D0 beq .L436
2956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TXTFFLAG(hspi);
6651 .loc 1 2956 5 is_stmt 1 view .LVU2291
6652 004c 2268 ldr r2, [r4]
6653 004e 9369 ldr r3, [r2, #24]
6654 .LVL365:
2956:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_TXTFFLAG(hspi);
6655 .loc 1 2956 5 is_stmt 0 view .LVU2292
6656 0050 43F00803 orr r3, r3, #8
6657 0054 9361 str r3, [r2, #24]
2957:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_SUSPFLAG(hspi);
6658 .loc 1 2957 5 is_stmt 1 view .LVU2293
6659 0056 2268 ldr r2, [r4]
6660 0058 9369 ldr r3, [r2, #24]
6661 005a 43F01003 orr r3, r3, #16
6662 005e 9361 str r3, [r2, #24]
2958:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6663 .loc 1 2958 5 view .LVU2294
6664 0060 2268 ldr r2, [r4]
6665 0062 9369 ldr r3, [r2, #24]
6666 0064 43F40063 orr r3, r3, #2048
6667 0068 9361 str r3, [r2, #24]
2961:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6668 .loc 1 2961 5 view .LVU2295
6669 006a 2268 ldr r2, [r4]
6670 006c 1369 ldr r3, [r2, #16]
6671 006e 23F00803 bic r3, r3, #8
6672 0072 1361 str r3, [r2, #16]
2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6673 .loc 1 2964 5 view .LVU2296
2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6674 .loc 1 2964 9 is_stmt 0 view .LVU2297
6675 0074 2368 ldr r3, [r4]
6676 0076 9B68 ldr r3, [r3, #8]
2964:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6677 .loc 1 2964 8 view .LVU2298
6678 0078 13F4404F tst r3, #49152
6679 007c 3BD0 beq .L437
6680 .L438:
2997:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 224
6681 .loc 1 2997 5 is_stmt 1 view .LVU2299
6682 007e 2046 mov r0, r4
6683 0080 FFF7FEFF bl SPI_CloseTransfer
6684 .LVL366:
2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
6685 .loc 1 2999 5 view .LVU2300
2999:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
6686 .loc 1 2999 17 is_stmt 0 view .LVU2301
6687 0084 0123 movs r3, #1
6688 0086 84F88130 strb r3, [r4, #129]
3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6689 .loc 1 3000 5 is_stmt 1 view .LVU2302
3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6690 .loc 1 3000 13 is_stmt 0 view .LVU2303
6691 008a D4F88430 ldr r3, [r4, #132]
3000:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6692 .loc 1 3000 8 view .LVU2304
6693 008e 002B cmp r3, #0
6694 0090 4AD1 bne .L460
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6695 .loc 1 3026 5 is_stmt 1 view .LVU2305
3026:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6696 .loc 1 3026 8 is_stmt 0 view .LVU2306
6697 0092 052F cmp r7, #5
6698 0094 4CD0 beq .L461
3030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6699 .loc 1 3030 10 is_stmt 1 view .LVU2307
3030:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6700 .loc 1 3030 13 is_stmt 0 view .LVU2308
6701 0096 042F cmp r7, #4
6702 0098 4ED0 beq .L462
3034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6703 .loc 1 3034 10 is_stmt 1 view .LVU2309
3034:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6704 .loc 1 3034 13 is_stmt 0 view .LVU2310
6705 009a 032F cmp r7, #3
6706 009c 1AD1 bne .L428
3036:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6707 .loc 1 3036 7 is_stmt 1 view .LVU2311
6708 009e 2046 mov r0, r4
6709 00a0 FFF7FEFF bl HAL_SPI_TxCpltCallback
6710 .LVL367:
3042:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6711 .loc 1 3042 5 view .LVU2312
3044:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6712 .loc 1 3044 5 view .LVU2313
6713 00a4 16E0 b .L428
6714 .LVL368:
6715 .L456:
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6716 .loc 1 2903 5 view .LVU2314
6717 00a6 B369 ldr r3, [r6, #24]
6718 .LVL369:
2903:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6719 .loc 1 2903 5 is_stmt 0 view .LVU2315
6720 00a8 43F40063 orr r3, r3, #2048
6721 00ac B361 str r3, [r6, #24]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 225
2909:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6722 .loc 1 2909 5 is_stmt 1 view .LVU2316
6723 00ae FFF7FEFF bl HAL_SPI_SuspendCallback
6724 .LVL370:
2911:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6725 .loc 1 2911 5 view .LVU2317
6726 00b2 0FE0 b .L428
6727 .LVL371:
6728 .L457:
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
6729 .loc 1 2918 5 view .LVU2318
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
6730 .loc 1 2918 9 is_stmt 0 view .LVU2319
6731 00b4 636F ldr r3, [r4, #116]
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
6732 .loc 1 2918 5 view .LVU2320
6733 00b6 2046 mov r0, r4
6734 .LVL372:
2918:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->RxISR(hspi);
6735 .loc 1 2918 5 view .LVU2321
6736 00b8 9847 blx r3
6737 .LVL373:
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6738 .loc 1 2919 5 is_stmt 1 view .LVU2322
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6739 .loc 1 2919 9 is_stmt 0 view .LVU2323
6740 00ba 236F ldr r3, [r4, #112]
2919:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6741 .loc 1 2919 5 view .LVU2324
6742 00bc 2046 mov r0, r4
6743 00be 9847 blx r3
6744 .LVL374:
2920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6745 .loc 1 2920 5 is_stmt 1 view .LVU2325
2920:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6746 .loc 1 2920 13 is_stmt 0 view .LVU2326
6747 00c0 0123 movs r3, #1
6748 00c2 B5E7 b .L431
6749 .LVL375:
6750 .L458:
2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6751 .loc 1 2927 5 is_stmt 1 view .LVU2327
2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6752 .loc 1 2927 9 is_stmt 0 view .LVU2328
6753 00c4 236F ldr r3, [r4, #112]
6754 .LVL376:
2927:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6755 .loc 1 2927 5 view .LVU2329
6756 00c6 2046 mov r0, r4
6757 00c8 9847 blx r3
6758 .LVL377:
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6759 .loc 1 2928 5 is_stmt 1 view .LVU2330
2928:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6760 .loc 1 2928 13 is_stmt 0 view .LVU2331
6761 00ca 4346 mov r3, r8
6762 00cc B5E7 b .L432
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 226
6763 .LVL378:
6764 .L459:
2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6765 .loc 1 2935 5 is_stmt 1 view .LVU2332
2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6766 .loc 1 2935 9 is_stmt 0 view .LVU2333
6767 00ce 636F ldr r3, [r4, #116]
6768 .LVL379:
2935:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** handled = 1UL;
6769 .loc 1 2935 5 view .LVU2334
6770 00d0 2046 mov r0, r4
6771 00d2 9847 blx r3
6772 .LVL380:
2936:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6773 .loc 1 2936 5 is_stmt 1 view .LVU2335
2947:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6774 .loc 1 2947 3 view .LVU2336
6775 .L428:
3131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6776 .loc 1 3131 1 is_stmt 0 view .LVU2337
6777 00d4 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
6778 .LVL381:
6779 .L439:
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6780 .loc 1 2976 14 is_stmt 1 view .LVU2338
2976:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6781 .loc 1 2976 17 is_stmt 0 view .LVU2339
6782 00d8 072B cmp r3, #7
6783 00da 1CD9 bls .L441
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
6784 .loc 1 2979 11 is_stmt 1 view .LVU2340
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
6785 .loc 1 2979 29 is_stmt 0 view .LVU2341
6786 00dc 636E ldr r3, [r4, #100]
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
6787 .loc 1 2979 45 view .LVU2342
6788 00de 328E ldrh r2, [r6, #48]
2979:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #else
6789 .loc 1 2979 43 view .LVU2343
6790 00e0 1A80 strh r2, [r3] @ movhi
2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6791 .loc 1 2983 11 is_stmt 1 view .LVU2344
2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6792 .loc 1 2983 15 is_stmt 0 view .LVU2345
6793 00e2 636E ldr r3, [r4, #100]
2983:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6794 .loc 1 2983 28 view .LVU2346
6795 00e4 0233 adds r3, r3, #2
6796 00e6 6366 str r3, [r4, #100]
6797 .L440:
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6798 .loc 1 2992 9 is_stmt 1 view .LVU2347
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6799 .loc 1 2992 13 is_stmt 0 view .LVU2348
6800 00e8 B4F86A30 ldrh r3, [r4, #106]
6801 00ec 9BB2 uxth r3, r3
2992:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 227
6802 .loc 1 2992 26 view .LVU2349
6803 00ee 013B subs r3, r3, #1
6804 00f0 9BB2 uxth r3, r3
6805 00f2 A4F86A30 strh r3, [r4, #106] @ movhi
6806 .L437:
2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6807 .loc 1 2967 32 is_stmt 1 view .LVU2350
2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6808 .loc 1 2967 18 is_stmt 0 view .LVU2351
6809 00f6 B4F86A30 ldrh r3, [r4, #106]
6810 00fa 9BB2 uxth r3, r3
2967:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6811 .loc 1 2967 32 view .LVU2352
6812 00fc 002B cmp r3, #0
6813 00fe BED0 beq .L438
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6814 .loc 1 2970 9 is_stmt 1 view .LVU2353
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6815 .loc 1 2970 23 is_stmt 0 view .LVU2354
6816 0100 E368 ldr r3, [r4, #12]
2970:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6817 .loc 1 2970 12 view .LVU2355
6818 0102 0F2B cmp r3, #15
6819 0104 E8D9 bls .L439
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
6820 .loc 1 2972 11 is_stmt 1 view .LVU2356
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
6821 .loc 1 2972 69 is_stmt 0 view .LVU2357
6822 0106 2268 ldr r2, [r4]
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
6823 .loc 1 2972 29 view .LVU2358
6824 0108 636E ldr r3, [r4, #100]
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
6825 .loc 1 2972 45 view .LVU2359
6826 010a 126B ldr r2, [r2, #48]
2972:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint32_t);
6827 .loc 1 2972 43 view .LVU2360
6828 010c 1A60 str r2, [r3]
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6829 .loc 1 2973 11 is_stmt 1 view .LVU2361
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6830 .loc 1 2973 15 is_stmt 0 view .LVU2362
6831 010e 636E ldr r3, [r4, #100]
2973:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6832 .loc 1 2973 28 view .LVU2363
6833 0110 0433 adds r3, r3, #4
6834 0112 6366 str r3, [r4, #100]
6835 0114 E8E7 b .L440
6836 .L441:
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
6837 .loc 1 2988 11 is_stmt 1 view .LVU2364
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
6838 .loc 1 2988 67 is_stmt 0 view .LVU2365
6839 0116 2268 ldr r2, [r4]
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
6840 .loc 1 2988 28 view .LVU2366
6841 0118 636E ldr r3, [r4, #100]
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 228
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
6842 .loc 1 2988 44 view .LVU2367
6843 011a 92F83020 ldrb r2, [r2, #48] @ zero_extendqisi2
2988:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t);
6844 .loc 1 2988 42 view .LVU2368
6845 011e 1A70 strb r2, [r3]
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6846 .loc 1 2989 11 is_stmt 1 view .LVU2369
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6847 .loc 1 2989 15 is_stmt 0 view .LVU2370
6848 0120 636E ldr r3, [r4, #100]
2989:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6849 .loc 1 2989 28 view .LVU2371
6850 0122 0133 adds r3, r3, #1
6851 0124 6366 str r3, [r4, #100]
6852 0126 DFE7 b .L440
6853 .L460:
3005:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
6854 .loc 1 3005 7 is_stmt 1 view .LVU2372
6855 0128 2046 mov r0, r4
6856 012a FFF7FEFF bl HAL_SPI_ErrorCallback
6857 .LVL382:
3007:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6858 .loc 1 3007 7 view .LVU2373
6859 012e D1E7 b .L428
6860 .L461:
3028:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6861 .loc 1 3028 7 view .LVU2374
6862 0130 2046 mov r0, r4
6863 0132 FFF7FEFF bl HAL_SPI_TxRxCpltCallback
6864 .LVL383:
6865 0136 CDE7 b .L428
6866 .L462:
3032:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6867 .loc 1 3032 7 view .LVU2375
6868 0138 2046 mov r0, r4
6869 013a FFF7FEFF bl HAL_SPI_RxCpltCallback
6870 .LVL384:
6871 013e C9E7 b .L428
6872 .LVL385:
6873 .L436:
3048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6874 .loc 1 3048 3 view .LVU2376
3048:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6875 .loc 1 3048 6 is_stmt 0 view .LVU2377
6876 0140 15F4587F tst r5, #864
6877 0144 C6D0 beq .L428
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6878 .loc 1 3051 5 is_stmt 1 view .LVU2378
3051:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6879 .loc 1 3051 8 is_stmt 0 view .LVU2379
6880 0146 15F0400F tst r5, #64
6881 014a 0AD0 beq .L447
3053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
6882 .loc 1 3053 7 is_stmt 1 view .LVU2380
6883 014c D4F88430 ldr r3, [r4, #132]
6884 .LVL386:
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 229
3053:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi);
6885 .loc 1 3053 7 is_stmt 0 view .LVU2381
6886 0150 43F00403 orr r3, r3, #4
6887 0154 C4F88430 str r3, [r4, #132]
3054:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6888 .loc 1 3054 7 is_stmt 1 view .LVU2382
6889 0158 2268 ldr r2, [r4]
6890 015a 9369 ldr r3, [r2, #24]
6891 015c 43F04003 orr r3, r3, #64
6892 0160 9361 str r3, [r2, #24]
6893 .L447:
3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6894 .loc 1 3058 5 view .LVU2383
3058:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6895 .loc 1 3058 8 is_stmt 0 view .LVU2384
6896 0162 15F4007F tst r5, #512
6897 0166 0AD0 beq .L448
3060:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi);
6898 .loc 1 3060 7 is_stmt 1 view .LVU2385
6899 0168 D4F88430 ldr r3, [r4, #132]
6900 016c 43F00103 orr r3, r3, #1
6901 0170 C4F88430 str r3, [r4, #132]
3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6902 .loc 1 3061 7 view .LVU2386
6903 0174 2268 ldr r2, [r4]
6904 0176 9369 ldr r3, [r2, #24]
6905 0178 43F40073 orr r3, r3, #512
6906 017c 9361 str r3, [r2, #24]
6907 .L448:
3061:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6908 .loc 1 3061 37 discriminator 1 view .LVU2387
3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6909 .loc 1 3065 5 view .LVU2388
3065:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6910 .loc 1 3065 8 is_stmt 0 view .LVU2389
6911 017e 15F4807F tst r5, #256
6912 0182 0AD0 beq .L449
3067:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi);
6913 .loc 1 3067 7 is_stmt 1 view .LVU2390
6914 0184 D4F88430 ldr r3, [r4, #132]
6915 0188 43F00803 orr r3, r3, #8
6916 018c C4F88430 str r3, [r4, #132]
3068:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6917 .loc 1 3068 7 view .LVU2391
6918 0190 2268 ldr r2, [r4]
6919 0192 9369 ldr r3, [r2, #24]
6920 0194 43F48073 orr r3, r3, #256
6921 0198 9361 str r3, [r2, #24]
6922 .L449:
3072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6923 .loc 1 3072 5 view .LVU2392
3072:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6924 .loc 1 3072 8 is_stmt 0 view .LVU2393
6925 019a 15F0200F tst r5, #32
6926 019e 0AD0 beq .L450
3074:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** __HAL_SPI_CLEAR_UDRFLAG(hspi);
6927 .loc 1 3074 7 is_stmt 1 view .LVU2394
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 230
6928 01a0 D4F88430 ldr r3, [r4, #132]
6929 01a4 43F08003 orr r3, r3, #128
6930 01a8 C4F88430 str r3, [r4, #132]
3075:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6931 .loc 1 3075 7 view .LVU2395
6932 01ac 2268 ldr r2, [r4]
6933 01ae 9369 ldr r3, [r2, #24]
6934 01b0 43F02003 orr r3, r3, #32
6935 01b4 9361 str r3, [r2, #24]
6936 .L450:
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6937 .loc 1 3078 5 view .LVU2396
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6938 .loc 1 3078 13 is_stmt 0 view .LVU2397
6939 01b6 D4F88430 ldr r3, [r4, #132]
3078:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6940 .loc 1 3078 8 view .LVU2398
6941 01ba 002B cmp r3, #0
6942 01bc 8AD0 beq .L428
3081:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6943 .loc 1 3081 7 is_stmt 1 view .LVU2399
6944 01be 2268 ldr r2, [r4]
6945 01c0 1368 ldr r3, [r2]
6946 01c2 23F00103 bic r3, r3, #1
6947 01c6 1360 str r3, [r2]
3084:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** SPI_IT_OVR | SPI_IT_FRE | SPI_IT_UDR));
6948 .loc 1 3084 7 view .LVU2400
6949 01c8 2268 ldr r2, [r4]
6950 01ca 1169 ldr r1, [r2, #16]
6951 01cc 1A4B ldr r3, .L463
6952 01ce 0B40 ands r3, r3, r1
6953 01d0 1361 str r3, [r2, #16]
3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6954 .loc 1 3088 7 view .LVU2401
3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6955 .loc 1 3088 11 is_stmt 0 view .LVU2402
6956 01d2 09F44049 and r9, r9, #49152
6957 .LVL387:
3088:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6958 .loc 1 3088 10 view .LVU2403
6959 01d6 B9F5404F cmp r9, #49152
6960 01da 25D1 bne .L452
3091:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
6961 .loc 1 3091 9 is_stmt 1 view .LVU2404
6962 01dc 2268 ldr r2, [r4]
6963 01de 9368 ldr r3, [r2, #8]
6964 01e0 23F44043 bic r3, r3, #49152
6965 01e4 9360 str r3, [r2, #8]
3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6966 .loc 1 3094 9 view .LVU2405
3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6967 .loc 1 3094 17 is_stmt 0 view .LVU2406
6968 01e6 E36F ldr r3, [r4, #124]
3094:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6969 .loc 1 3094 12 view .LVU2407
6970 01e8 5BB1 cbz r3, .L453
3098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 231
6971 .loc 1 3098 11 is_stmt 1 view .LVU2408
3098:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx))
6972 .loc 1 3098 43 is_stmt 0 view .LVU2409
6973 01ea 144A ldr r2, .L463+4
6974 01ec 1A65 str r2, [r3, #80]
3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6975 .loc 1 3099 11 is_stmt 1 view .LVU2410
3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6976 .loc 1 3099 25 is_stmt 0 view .LVU2411
6977 01ee E06F ldr r0, [r4, #124]
6978 01f0 FFF7FEFF bl HAL_DMA_Abort_IT
6979 .LVL388:
3099:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6980 .loc 1 3099 14 discriminator 1 view .LVU2412
6981 01f4 28B1 cbz r0, .L453
3101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
6982 .loc 1 3101 13 is_stmt 1 view .LVU2413
6983 01f6 D4F88430 ldr r3, [r4, #132]
6984 01fa 43F04003 orr r3, r3, #64
6985 01fe C4F88430 str r3, [r4, #132]
6986 .L453:
3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6987 .loc 1 3105 9 view .LVU2414
3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6988 .loc 1 3105 17 is_stmt 0 view .LVU2415
6989 0202 A36F ldr r3, [r4, #120]
3105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6990 .loc 1 3105 12 view .LVU2416
6991 0204 002B cmp r3, #0
6992 0206 3FF465AF beq .L428
3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6993 .loc 1 3109 11 is_stmt 1 view .LVU2417
3109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx))
6994 .loc 1 3109 43 is_stmt 0 view .LVU2418
6995 020a 0C4A ldr r2, .L463+4
6996 020c 1A65 str r2, [r3, #80]
3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6997 .loc 1 3110 11 is_stmt 1 view .LVU2419
3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
6998 .loc 1 3110 25 is_stmt 0 view .LVU2420
6999 020e A06F ldr r0, [r4, #120]
7000 0210 FFF7FEFF bl HAL_DMA_Abort_IT
7001 .LVL389:
3110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** {
7002 .loc 1 3110 14 discriminator 1 view .LVU2421
7003 0214 0028 cmp r0, #0
7004 0216 3FF45DAF beq .L428
3112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7005 .loc 1 3112 13 is_stmt 1 view .LVU2422
7006 021a D4F88430 ldr r3, [r4, #132]
7007 021e 43F04003 orr r3, r3, #64
7008 0222 C4F88430 str r3, [r4, #132]
7009 0226 55E7 b .L428
7010 .L452:
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
7011 .loc 1 3119 9 view .LVU2423
3119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 232
7012 .loc 1 3119 21 is_stmt 0 view .LVU2424
7013 0228 0123 movs r3, #1
7014 022a 84F88130 strb r3, [r4, #129]
3125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */
7015 .loc 1 3125 9 is_stmt 1 view .LVU2425
7016 022e 2046 mov r0, r4
7017 0230 FFF7FEFF bl HAL_SPI_ErrorCallback
7018 .LVL390:
3129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7019 .loc 1 3129 5 view .LVU2426
7020 0234 4EE7 b .L428
7021 .L464:
7022 0236 00BF .align 2
7023 .L463:
7024 0238 94FCFFFF .word -876
7025 023c 00000000 .word SPI_DMAAbortOnError
7026 .cfi_endproc
7027 .LFE353:
7029 .section .text.HAL_SPI_GetState,"ax",%progbits
7030 .align 1
7031 .global HAL_SPI_GetState
7032 .syntax unified
7033 .thumb
7034 .thumb_func
7036 HAL_SPI_GetState:
7037 .LVL391:
7038 .LFB363:
3304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return SPI handle state */
7039 .loc 1 3304 1 view -0
7040 .cfi_startproc
7041 @ args = 0, pretend = 0, frame = 0
7042 @ frame_needed = 0, uses_anonymous_args = 0
7043 @ link register save eliminated.
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7044 .loc 1 3306 3 view .LVU2428
3306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7045 .loc 1 3306 14 is_stmt 0 view .LVU2429
7046 0000 90F88100 ldrb r0, [r0, #129] @ zero_extendqisi2
7047 .LVL392:
3307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
7048 .loc 1 3307 1 view .LVU2430
7049 0004 7047 bx lr
7050 .cfi_endproc
7051 .LFE363:
7053 .section .text.HAL_SPI_GetError,"ax",%progbits
7054 .align 1
7055 .global HAL_SPI_GetError
7056 .syntax unified
7057 .thumb
7058 .thumb_func
7060 HAL_SPI_GetError:
7061 .LVL393:
7062 .LFB364:
3316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** /* Return SPI ErrorCode */
7063 .loc 1 3316 1 is_stmt 1 view -0
7064 .cfi_startproc
7065 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 233
7066 @ frame_needed = 0, uses_anonymous_args = 0
7067 @ link register save eliminated.
3318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7068 .loc 1 3318 3 view .LVU2432
3318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c **** }
7069 .loc 1 3318 14 is_stmt 0 view .LVU2433
7070 0000 D0F88400 ldr r0, [r0, #132]
7071 .LVL394:
3319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c ****
7072 .loc 1 3319 1 view .LVU2434
7073 0004 7047 bx lr
7074 .cfi_endproc
7075 .LFE364:
7077 .text
7078 .Letext0:
7079 .file 2 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
7080 .file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
7081 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h"
7082 .file 5 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h"
7083 .file 6 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h"
7084 .file 7 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_dma.h"
7085 .file 8 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_spi.h"
7086 .file 9 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/system_stm32h7xx.h"
7087 .file 10 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal.h"
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 234
DEFINED SYMBOLS
*ABS*:00000000 stm32h7xx_hal_spi.c
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:20 .text.SPI_RxISR_8BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:25 .text.SPI_RxISR_8BIT:00000000 SPI_RxISR_8BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:74 .text.SPI_RxISR_16BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:79 .text.SPI_RxISR_16BIT:00000000 SPI_RxISR_16BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:132 .text.SPI_RxISR_32BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:137 .text.SPI_RxISR_32BIT:00000000 SPI_RxISR_32BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:186 .text.SPI_TxISR_8BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:191 .text.SPI_TxISR_8BIT:00000000 SPI_TxISR_8BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:240 .text.SPI_TxISR_16BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:245 .text.SPI_TxISR_16BIT:00000000 SPI_TxISR_16BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:297 .text.SPI_TxISR_32BIT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:302 .text.SPI_TxISR_32BIT:00000000 SPI_TxISR_32BIT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:351 .text.SPI_AbortTransfer:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:356 .text.SPI_AbortTransfer:00000000 SPI_AbortTransfer
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:428 .text.SPI_AbortTransfer:00000070 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:433 .text.SPI_CloseTransfer:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:438 .text.SPI_CloseTransfer:00000000 SPI_CloseTransfer
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:567 .text.SPI_CloseTransfer:000000c8 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:572 .text.SPI_GetPacketSize:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:577 .text.SPI_GetPacketSize:00000000 SPI_GetPacketSize
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:612 .text.SPI_WaitOnFlagUntilTimeout:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:617 .text.SPI_WaitOnFlagUntilTimeout:00000000 SPI_WaitOnFlagUntilTimeout
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:690 .text.HAL_SPI_MspInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:696 .text.HAL_SPI_MspInit:00000000 HAL_SPI_MspInit
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:711 .text.HAL_SPI_Init:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:717 .text.HAL_SPI_Init:00000000 HAL_SPI_Init
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1040 .text.HAL_SPI_Init:00000184 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1047 .text.HAL_SPI_MspDeInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1053 .text.HAL_SPI_MspDeInit:00000000 HAL_SPI_MspDeInit
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1068 .text.HAL_SPI_DeInit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1074 .text.HAL_SPI_DeInit:00000000 HAL_SPI_DeInit
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1131 .text.HAL_SPI_Transmit:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1137 .text.HAL_SPI_Transmit:00000000 HAL_SPI_Transmit
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1673 .text.HAL_SPI_Receive:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:1679 .text.HAL_SPI_Receive:00000000 HAL_SPI_Receive
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:2346 .text.HAL_SPI_TransmitReceive:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:2352 .text.HAL_SPI_TransmitReceive:00000000 HAL_SPI_TransmitReceive
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:2969 .text.HAL_SPI_TransmitReceive:000002fc $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:2975 .text.HAL_SPI_TransmitReceive:00000304 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3297 .text.HAL_SPI_Transmit_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3303 .text.HAL_SPI_Transmit_IT:00000000 HAL_SPI_Transmit_IT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3488 .text.HAL_SPI_Transmit_IT:000000cc $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3495 .text.HAL_SPI_Receive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3501 .text.HAL_SPI_Receive_IT:00000000 HAL_SPI_Receive_IT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3675 .text.HAL_SPI_Receive_IT:000000d0 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3682 .text.HAL_SPI_TransmitReceive_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3688 .text.HAL_SPI_TransmitReceive_IT:00000000 HAL_SPI_TransmitReceive_IT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3981 .text.HAL_SPI_TransmitReceive_IT:00000180 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3991 .text.HAL_SPI_Transmit_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:3997 .text.HAL_SPI_Transmit_DMA:00000000 HAL_SPI_Transmit_DMA
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4345 .text.HAL_SPI_Transmit_DMA:000001b0 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5810 .text.SPI_DMAHalfTransmitCplt:00000000 SPI_DMAHalfTransmitCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5582 .text.SPI_DMATransmitCplt:00000000 SPI_DMATransmitCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5966 .text.SPI_DMAError:00000000 SPI_DMAError
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4352 .text.HAL_SPI_Receive_DMA:00000000 $t
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 235
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4358 .text.HAL_SPI_Receive_DMA:00000000 HAL_SPI_Receive_DMA
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4719 .text.HAL_SPI_Receive_DMA:000001bc $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5862 .text.SPI_DMAHalfReceiveCplt:00000000 SPI_DMAHalfReceiveCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5658 .text.SPI_DMAReceiveCplt:00000000 SPI_DMAReceiveCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4726 .text.HAL_SPI_TransmitReceive_DMA:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:4732 .text.HAL_SPI_TransmitReceive_DMA:00000000 HAL_SPI_TransmitReceive_DMA
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5184 .text.HAL_SPI_TransmitReceive_DMA:0000023c $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5914 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 SPI_DMAHalfTransmitReceiveCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5734 .text.SPI_DMATransmitReceiveCplt:00000000 SPI_DMATransmitReceiveCplt
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5191 .text.HAL_SPI_Abort:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5197 .text.HAL_SPI_Abort:00000000 HAL_SPI_Abort
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5466 .text.HAL_SPI_Abort:00000144 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5472 .text.HAL_SPI_DMAPause:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5478 .text.HAL_SPI_DMAPause:00000000 HAL_SPI_DMAPause
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5500 .text.HAL_SPI_DMAResume:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5506 .text.HAL_SPI_DMAResume:00000000 HAL_SPI_DMAResume
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5528 .text.HAL_SPI_DMAStop:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5534 .text.HAL_SPI_DMAStop:00000000 HAL_SPI_DMAStop
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5556 .text.HAL_SPI_TxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5562 .text.HAL_SPI_TxCpltCallback:00000000 HAL_SPI_TxCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5577 .text.SPI_DMATransmitCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5632 .text.HAL_SPI_RxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5638 .text.HAL_SPI_RxCpltCallback:00000000 HAL_SPI_RxCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5653 .text.SPI_DMAReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5708 .text.HAL_SPI_TxRxCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5714 .text.HAL_SPI_TxRxCpltCallback:00000000 HAL_SPI_TxRxCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5729 .text.SPI_DMATransmitReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5784 .text.HAL_SPI_TxHalfCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5790 .text.HAL_SPI_TxHalfCpltCallback:00000000 HAL_SPI_TxHalfCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5805 .text.SPI_DMAHalfTransmitCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5836 .text.HAL_SPI_RxHalfCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5842 .text.HAL_SPI_RxHalfCpltCallback:00000000 HAL_SPI_RxHalfCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5857 .text.SPI_DMAHalfReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5888 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5894 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 HAL_SPI_TxRxHalfCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5909 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5940 .text.HAL_SPI_ErrorCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5946 .text.HAL_SPI_ErrorCallback:00000000 HAL_SPI_ErrorCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:5961 .text.SPI_DMAError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6016 .text.SPI_DMAAbortOnError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6021 .text.SPI_DMAAbortOnError:00000000 SPI_DMAAbortOnError
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6057 .text.HAL_SPI_AbortCpltCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6063 .text.HAL_SPI_AbortCpltCallback:00000000 HAL_SPI_AbortCpltCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6078 .text.HAL_SPI_Abort_IT:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6084 .text.HAL_SPI_Abort_IT:00000000 HAL_SPI_Abort_IT
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6411 .text.HAL_SPI_Abort_IT:00000164 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6484 .text.SPI_DMATxAbortCallback:00000000 SPI_DMATxAbortCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6424 .text.SPI_DMARxAbortCallback:00000000 SPI_DMARxAbortCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6419 .text.SPI_DMARxAbortCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6479 .text.SPI_DMATxAbortCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6539 .text.HAL_SPI_SuspendCallback:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6545 .text.HAL_SPI_SuspendCallback:00000000 HAL_SPI_SuspendCallback
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6560 .text.HAL_SPI_IRQHandler:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:6566 .text.HAL_SPI_IRQHandler:00000000 HAL_SPI_IRQHandler
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:7024 .text.HAL_SPI_IRQHandler:00000238 $d
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:7030 .text.HAL_SPI_GetState:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:7036 .text.HAL_SPI_GetState:00000000 HAL_SPI_GetState
ARM GAS C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s page 236
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:7054 .text.HAL_SPI_GetError:00000000 $t
C:\Users\lenex\AppData\Local\Temp\cc3xi6gT.s:7060 .text.HAL_SPI_GetError:00000000 HAL_SPI_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT
HAL_DMA_Abort
HAL_DMA_GetError
SystemCoreClock
HAL_DMA_Abort_IT