ARM GAS C:\Users\lenex\AppData\Local\Temp\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.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\cceEyfn8.s page 234 DEFINED SYMBOLS *ABS*:00000000 stm32h7xx_hal_spi.c C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:20 .text.SPI_RxISR_8BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:25 .text.SPI_RxISR_8BIT:00000000 SPI_RxISR_8BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:74 .text.SPI_RxISR_16BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:79 .text.SPI_RxISR_16BIT:00000000 SPI_RxISR_16BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:132 .text.SPI_RxISR_32BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:137 .text.SPI_RxISR_32BIT:00000000 SPI_RxISR_32BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:186 .text.SPI_TxISR_8BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:191 .text.SPI_TxISR_8BIT:00000000 SPI_TxISR_8BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:240 .text.SPI_TxISR_16BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:245 .text.SPI_TxISR_16BIT:00000000 SPI_TxISR_16BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:297 .text.SPI_TxISR_32BIT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:302 .text.SPI_TxISR_32BIT:00000000 SPI_TxISR_32BIT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:351 .text.SPI_AbortTransfer:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:356 .text.SPI_AbortTransfer:00000000 SPI_AbortTransfer C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:428 .text.SPI_AbortTransfer:00000070 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:433 .text.SPI_CloseTransfer:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:438 .text.SPI_CloseTransfer:00000000 SPI_CloseTransfer C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:567 .text.SPI_CloseTransfer:000000c8 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:572 .text.SPI_GetPacketSize:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:577 .text.SPI_GetPacketSize:00000000 SPI_GetPacketSize C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:612 .text.SPI_WaitOnFlagUntilTimeout:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:617 .text.SPI_WaitOnFlagUntilTimeout:00000000 SPI_WaitOnFlagUntilTimeout C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:690 .text.HAL_SPI_MspInit:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:696 .text.HAL_SPI_MspInit:00000000 HAL_SPI_MspInit C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:711 .text.HAL_SPI_Init:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:717 .text.HAL_SPI_Init:00000000 HAL_SPI_Init C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1040 .text.HAL_SPI_Init:00000184 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1047 .text.HAL_SPI_MspDeInit:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1053 .text.HAL_SPI_MspDeInit:00000000 HAL_SPI_MspDeInit C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1068 .text.HAL_SPI_DeInit:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1074 .text.HAL_SPI_DeInit:00000000 HAL_SPI_DeInit C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1131 .text.HAL_SPI_Transmit:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1137 .text.HAL_SPI_Transmit:00000000 HAL_SPI_Transmit C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1673 .text.HAL_SPI_Receive:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:1679 .text.HAL_SPI_Receive:00000000 HAL_SPI_Receive C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:2346 .text.HAL_SPI_TransmitReceive:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:2352 .text.HAL_SPI_TransmitReceive:00000000 HAL_SPI_TransmitReceive C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:2969 .text.HAL_SPI_TransmitReceive:000002fc $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:2975 .text.HAL_SPI_TransmitReceive:00000304 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3297 .text.HAL_SPI_Transmit_IT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3303 .text.HAL_SPI_Transmit_IT:00000000 HAL_SPI_Transmit_IT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3488 .text.HAL_SPI_Transmit_IT:000000cc $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3495 .text.HAL_SPI_Receive_IT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3501 .text.HAL_SPI_Receive_IT:00000000 HAL_SPI_Receive_IT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3675 .text.HAL_SPI_Receive_IT:000000d0 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3682 .text.HAL_SPI_TransmitReceive_IT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3688 .text.HAL_SPI_TransmitReceive_IT:00000000 HAL_SPI_TransmitReceive_IT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3981 .text.HAL_SPI_TransmitReceive_IT:00000180 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3991 .text.HAL_SPI_Transmit_DMA:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:3997 .text.HAL_SPI_Transmit_DMA:00000000 HAL_SPI_Transmit_DMA C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4345 .text.HAL_SPI_Transmit_DMA:000001b0 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5810 .text.SPI_DMAHalfTransmitCplt:00000000 SPI_DMAHalfTransmitCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5582 .text.SPI_DMATransmitCplt:00000000 SPI_DMATransmitCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5966 .text.SPI_DMAError:00000000 SPI_DMAError C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4352 .text.HAL_SPI_Receive_DMA:00000000 $t ARM GAS C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s page 235 C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4358 .text.HAL_SPI_Receive_DMA:00000000 HAL_SPI_Receive_DMA C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4719 .text.HAL_SPI_Receive_DMA:000001bc $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5862 .text.SPI_DMAHalfReceiveCplt:00000000 SPI_DMAHalfReceiveCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5658 .text.SPI_DMAReceiveCplt:00000000 SPI_DMAReceiveCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4726 .text.HAL_SPI_TransmitReceive_DMA:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:4732 .text.HAL_SPI_TransmitReceive_DMA:00000000 HAL_SPI_TransmitReceive_DMA C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5184 .text.HAL_SPI_TransmitReceive_DMA:0000023c $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5914 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 SPI_DMAHalfTransmitReceiveCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5734 .text.SPI_DMATransmitReceiveCplt:00000000 SPI_DMATransmitReceiveCplt C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5191 .text.HAL_SPI_Abort:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5197 .text.HAL_SPI_Abort:00000000 HAL_SPI_Abort C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5466 .text.HAL_SPI_Abort:00000144 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5472 .text.HAL_SPI_DMAPause:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5478 .text.HAL_SPI_DMAPause:00000000 HAL_SPI_DMAPause C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5500 .text.HAL_SPI_DMAResume:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5506 .text.HAL_SPI_DMAResume:00000000 HAL_SPI_DMAResume C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5528 .text.HAL_SPI_DMAStop:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5534 .text.HAL_SPI_DMAStop:00000000 HAL_SPI_DMAStop C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5556 .text.HAL_SPI_TxCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5562 .text.HAL_SPI_TxCpltCallback:00000000 HAL_SPI_TxCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5577 .text.SPI_DMATransmitCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5632 .text.HAL_SPI_RxCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5638 .text.HAL_SPI_RxCpltCallback:00000000 HAL_SPI_RxCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5653 .text.SPI_DMAReceiveCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5708 .text.HAL_SPI_TxRxCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5714 .text.HAL_SPI_TxRxCpltCallback:00000000 HAL_SPI_TxRxCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5729 .text.SPI_DMATransmitReceiveCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5784 .text.HAL_SPI_TxHalfCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5790 .text.HAL_SPI_TxHalfCpltCallback:00000000 HAL_SPI_TxHalfCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5805 .text.SPI_DMAHalfTransmitCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5836 .text.HAL_SPI_RxHalfCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5842 .text.HAL_SPI_RxHalfCpltCallback:00000000 HAL_SPI_RxHalfCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5857 .text.SPI_DMAHalfReceiveCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5888 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5894 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 HAL_SPI_TxRxHalfCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5909 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5940 .text.HAL_SPI_ErrorCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5946 .text.HAL_SPI_ErrorCallback:00000000 HAL_SPI_ErrorCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:5961 .text.SPI_DMAError:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6016 .text.SPI_DMAAbortOnError:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6021 .text.SPI_DMAAbortOnError:00000000 SPI_DMAAbortOnError C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6057 .text.HAL_SPI_AbortCpltCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6063 .text.HAL_SPI_AbortCpltCallback:00000000 HAL_SPI_AbortCpltCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6078 .text.HAL_SPI_Abort_IT:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6084 .text.HAL_SPI_Abort_IT:00000000 HAL_SPI_Abort_IT C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6411 .text.HAL_SPI_Abort_IT:00000164 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6484 .text.SPI_DMATxAbortCallback:00000000 SPI_DMATxAbortCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6424 .text.SPI_DMARxAbortCallback:00000000 SPI_DMARxAbortCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6419 .text.SPI_DMARxAbortCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6479 .text.SPI_DMATxAbortCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6539 .text.HAL_SPI_SuspendCallback:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6545 .text.HAL_SPI_SuspendCallback:00000000 HAL_SPI_SuspendCallback C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6560 .text.HAL_SPI_IRQHandler:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:6566 .text.HAL_SPI_IRQHandler:00000000 HAL_SPI_IRQHandler C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:7024 .text.HAL_SPI_IRQHandler:00000238 $d C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:7030 .text.HAL_SPI_GetState:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:7036 .text.HAL_SPI_GetState:00000000 HAL_SPI_GetState ARM GAS C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s page 236 C:\Users\lenex\AppData\Local\Temp\cceEyfn8.s:7054 .text.HAL_SPI_GetError:00000000 $t C:\Users\lenex\AppData\Local\Temp\cceEyfn8.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