Files
Last update 5 months 3 weeks
by Masakatsu Honda
stm32f4xx_hal_spi.lstARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 1 1 .cpu cortex-m4 2 .arch armv7e-m 3 .fpu fpv4-sp-d16 4 .eabi_attribute 27, 1 5 .eabi_attribute 28, 1 6 .eabi_attribute 20, 1 7 .eabi_attribute 21, 1 8 .eabi_attribute 23, 3 9 .eabi_attribute 24, 1 10 .eabi_attribute 25, 1 11 .eabi_attribute 26, 1 12 .eabi_attribute 30, 1 13 .eabi_attribute 34, 1 14 .eabi_attribute 18, 4 15 .file "stm32f4xx_hal_spi.c" 16 .text 17 .Ltext0: 18 .cfi_sections .debug_frame 19 .section .text.SPI_AbortRx_ISR,"ax",%progbits 20 .align 1 21 .syntax unified 22 .thumb 23 .thumb_func 25 SPI_AbortRx_ISR: 26 .LVL0: 27 .LFB292: 28 .file 1 "Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c" 1:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ****************************************************************************** 3:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @file stm32f4xx_hal_spi.c 4:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @author MCD Application Team 5:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief SPI HAL module driver. 6:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * This file provides firmware functions to manage the following 7:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * functionalities of the Serial Peripheral Interface (SPI) peripheral: 8:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * + Initialization and de-initialization functions 9:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * + IO operation functions 10:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * + Peripheral Control functions 11:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * + Peripheral State functions 12:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ****************************************************************************** 13:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @attention 14:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 15:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * Copyright (c) 2016 STMicroelectronics. 16:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * All rights reserved. 17:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 18:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * This software is licensed under terms that can be found in the LICENSE file 19:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * in the root directory of this software component. 20:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * If no LICENSE file comes with this software, it is provided AS-IS. 21:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 22:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ****************************************************************************** 23:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @verbatim 24:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ============================================================================== 25:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ##### How to use this driver ##### 26:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ============================================================================== 27:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 28:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** The SPI HAL driver can be used as follows: 29:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 30:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) Declare a SPI_HandleTypeDef handle structure, for example: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 2 31:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef hspi; 32:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 33:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#)Initialize the SPI low level resources by implementing the HAL_SPI_MspInit() API: 34:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) Enable the SPIx interface clock 35:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) SPI pins configuration 36:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Enable the clock for the SPI GPIOs 37:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Configure these SPI pins as alternate function push-pull 38:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) NVIC configuration if you need to use interrupt process 39:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Configure the SPIx interrupt priority 40:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Enable the NVIC SPI IRQ handle 41:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) DMA Configuration if you need to use DMA process 42:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive Stream 43:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Enable the DMAx clock 44:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Configure the DMA handle parameters 45:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Configure the DMA Tx or Rx Stream/Channel 46:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Associate the initialized hdma_tx(or _rx) handle to the hspi DMA Tx or Rx hand 47:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt 48:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 49:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) Program the Mode, BidirectionalMode , Data size, Baudrate Prescaler, NSS 50:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** management, Clock polarity and phase, FirstBit and CRC configuration in the hspi Init str 51:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 52:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) Initialize the SPI registers by calling the HAL_SPI_Init() API: 53:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) This API configures also the low level Hardware GPIO, CLOCK, CORTEX...etc) 54:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** by calling the customized HAL_SPI_MspInit() API. 55:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 56:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Circular mode restriction: 57:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) The DMA circular mode cannot be used when the SPI is configured in these modes: 58:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) Master 2Lines RxOnly 59:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) Master 1Line Rx 60:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) The CRC feature is not managed when the DMA circular mode is enabled 61:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) When the SPI DMA Pause/Stop features are used, we must use the following APIs 62:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_DMAPause()/ HAL_SPI_DMAStop() only under the SPI callbacks 63:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 64:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Master Receive mode restriction: 65:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) In Master unidirectional receive-only mode (MSTR =1, BIDIMODE=0, RXONLY=1) or 66:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** bidirectional receive mode (MSTR=1, BIDIMODE=1, BIDIOE=0), to ensure that the SPI 67:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** does not initiate a new transfer the following procedure has to be respected: 68:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) HAL_SPI_DeInit() 69:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (##) HAL_SPI_Init() 70:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 71:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Callback registration: 72:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 73:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) The compilation flag USE_HAL_SPI_REGISTER_CALLBACKS when set to 1U 74:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** allows the user to configure dynamically the driver callbacks. 75:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Use Functions HAL_SPI_RegisterCallback() to register an interrupt callback. 76:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 77:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Function HAL_SPI_RegisterCallback() allows to register following callbacks: 78:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback 79:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback 80:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback 81:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback 82:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback 83:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback 84:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback 85:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback 86:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback 87:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 3 88:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** This function takes as parameters the HAL peripheral handle, the Callback ID 89:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and a pointer to the user callback function. 90:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 91:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 92:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) Use function HAL_SPI_UnRegisterCallback to reset a callback to the default 93:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** weak function. 94:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_UnRegisterCallback takes as parameters the HAL peripheral handle, 95:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and the Callback ID. 96:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** This function allows to reset following callbacks: 97:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxCpltCallback : SPI Tx Completed callback 98:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) RxCpltCallback : SPI Rx Completed callback 99:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxRxCpltCallback : SPI TxRx Completed callback 100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxHalfCpltCallback : SPI Tx Half Completed callback 101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) RxHalfCpltCallback : SPI Rx Half Completed callback 102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TxRxHalfCpltCallback : SPI TxRx Half Completed callback 103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) ErrorCallback : SPI Error callback 104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) AbortCpltCallback : SPI Abort callback 105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) MspInitCallback : SPI Msp Init callback 106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) MspDeInitCallback : SPI Msp DeInit callback 107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** By default, after the HAL_SPI_Init() and when the state is HAL_SPI_STATE_RESET 110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** all callbacks are set to the corresponding weak functions: 111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** examples HAL_SPI_MasterTxCpltCallback(), HAL_SPI_MasterRxCpltCallback(). 112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Exception done for MspInit and MspDeInit functions that are 113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** reset to the legacy weak functions in the HAL_SPI_Init()/ HAL_SPI_DeInit() only when 114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** these callbacks are null (not registered beforehand). 115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** If MspInit or MspDeInit are not null, the HAL_SPI_Init()/ HAL_SPI_DeInit() 116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state 117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Callbacks can be registered/unregistered in HAL_SPI_STATE_READY state only. 120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered 121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** in HAL_SPI_STATE_READY or HAL_SPI_STATE_RESET state, 122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit. 123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Then, the user first registers the MspInit/MspDeInit user callbacks 124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** using HAL_SPI_RegisterCallback() before calling HAL_SPI_DeInit() 125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** or HAL_SPI_Init() function. 126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** When the compilation define USE_HAL_PPP_REGISTER_CALLBACKS is set to 0 or 129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** not defined, the callback registering feature is not available 130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and weak (surcharged) callbacks are used. 131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Using the HAL it is not possible to reach all supported SPI frequency with the different SPI 134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the following table resume the max SPI frequency reached with data size 8bits/16bits, 135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** according to frequency of the APBx Peripheral Clock (fPCLK) used by the SPI instance. 136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @endverbatim 138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Additional table : 140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** DataSize = SPI_DATASIZE_8BIT: 142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** +------------------------------------------------------------------------------------------- 143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line 144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|------------------- ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 4 145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave 146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========================================================================================== 147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | T | Polling | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA 148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/8 | NA | NA | NA | NA 150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|------- 151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA 152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|======= 153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/ 154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|------- 155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | R | Interrupt | Fpclk/8 | Fpclk/8 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/ 156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/128 | Fpclk/ 158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|======= 159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/2 | Fpclk/ 160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|------- 161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/4 | NA | NA | Fpclk/2 | Fpclk/ 162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/ 164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** +------------------------------------------------------------------------------------------- 165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** DataSize = SPI_DATASIZE_16BIT: 167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** +------------------------------------------------------------------------------------------- 168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | | 2Lines Fullduplex | 2Lines RxOnly | 1Line 169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | Process | Transfer mode |---------------------|----------------------|------------------- 170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | | Master | Slave | Master | Slave | Master | Slave 171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========================================================================================== 172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | T | Polling | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA 173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | / | Interrupt | Fpclk/4 | Fpclk/4 | NA | NA | NA | NA 175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | R |----------------|----------|----------|-----------|----------|-----------|------- 176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X | DMA | Fpclk/2 | Fpclk/2 | NA | NA | NA | NA 177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|======= 178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/32 | Fpclk/ 179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|------- 180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | R | Interrupt | Fpclk/4 | Fpclk/4 | Fpclk/64 | Fpclk/2 | Fpclk/64 | Fpclk/ 181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | Fpclk/64 | Fpclk/2 | Fpclk/128 | Fpclk/ 183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** |=========|================|==========|==========|===========|==========|===========|======= 184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | Polling | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/ 185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | |----------------|----------|----------|-----------|----------|-----------|------- 186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | T | Interrupt | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/ 187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | X |----------------|----------|----------|-----------|----------|-----------|------- 188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** | | DMA | Fpclk/2 | Fpclk/2 | NA | NA | Fpclk/2 | Fpclk/ 189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** +------------------------------------------------------------------------------------------- 190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @note The max SPI frequency depend on SPI data size (8bits, 16bits), 191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI mode(2 Lines fullduplex, 2 lines RxOnly, 1 line TX/RX) and Process mode (Polling, 192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @note 193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) TX/RX processes are HAL_SPI_TransmitReceive(), HAL_SPI_TransmitReceive_IT() and HAL 194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) RX processes are HAL_SPI_Receive(), HAL_SPI_Receive_IT() and HAL_SPI_Receive_DMA() 195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) TX processes are HAL_SPI_Transmit(), HAL_SPI_Transmit_IT() and HAL_SPI_Transmit_DMA 196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Includes ------------------------------------------------------------------*/ 200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #include "stm32f4xx_hal.h" 201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 5 202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @addtogroup STM32F4xx_HAL_Driver 203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI SPI 207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief SPI HAL module driver 208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #ifdef HAL_SPI_MODULE_ENABLED 211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Private typedef -----------------------------------------------------------*/ 213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Private defines -----------------------------------------------------------*/ 214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Private_Constants SPI Private Constants 215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #define SPI_DEFAULT_TIMEOUT 100U 218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #define SPI_BSY_FLAG_WORKAROUND_TIMEOUT 1000U /*!< Timeout 1000 µs */ 219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Private macros ------------------------------------------------------------*/ 224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Private variables ---------------------------------------------------------*/ 225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Private function prototypes -----------------------------------------------*/ 226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Private_Functions SPI Private Functions 227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma); 230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma); 231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma); 232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma); 233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma); 234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma); 235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma); 236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma); 237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma); 238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma); 239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag 240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart); 241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi); 242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi); 243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi); 244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi); 245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi); 246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi); 247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi); 248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi); 249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi); 251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi); 252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi); 253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi); 254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi); 256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi); 257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi); 258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 6 259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi); 260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t T 261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t 262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Exported functions --------------------------------------------------------*/ 267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions SPI Exported Functions 268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group1 Initialization and de-initialization functions 272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Initialization and Configuration functions 273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @verbatim 275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** =============================================================================== 276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ##### Initialization and de-initialization functions ##### 277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** =============================================================================== 278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] This subsection provides a set of functions allowing to initialize and 279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** de-initialize the SPIx peripheral: 280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+) User must implement HAL_SPI_MspInit() function in which he configures 282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ). 283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+) Call the function HAL_SPI_Init() to configure the selected device with 285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the selected configuration: 286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) Mode 287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) Direction 288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) Data Size 289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) Clock Polarity and Phase 290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) NSS Management 291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) BaudRate Prescaler 292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) FirstBit 293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) TIMode 294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) CRC Calculation 295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) CRC Polynomial if CRC enabled 296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+) Call the function HAL_SPI_DeInit() to restore the default configuration 298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** of the selected SPIx peripheral. 299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @endverbatim 301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Initialize the SPI according to the specified parameters 306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * in the SPI_InitTypeDef and initialize the associated handle. 307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi) 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi == NULL) 315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 7 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the parameters */ 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance)); 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode)); 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction)); 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize)); 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS)); 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) 329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); 332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER) 334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); 336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */ 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; 341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); 346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Force polarity and phase to TI protocaol requirements */ 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.CLKPolarity = SPI_POLARITY_LOW; 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_CRC_CALCULATION(hspi->Init.CRCCalculation)); 353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial)); 356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_RESET) 362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Allocate lock resource and initialize it */ 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Lock = HAL_UNLOCKED; 365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init the SPI Callback settings */ 368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback 369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback 370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback 371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback 372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 8 373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback 374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback 375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback 376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->MspInitCallback == NULL) 378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit */ 380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */ 383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback(hspi); 384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */ 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_MspInit(hspi); 387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY; 391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the selected SPI peripheral */ 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/ 396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure : SPI Mode, Communication Mode, Data size, Clock polarity and phase, NSS management, 397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Communication speed, First bit and CRC calculation state */ 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) | 399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) | 400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.DataSize & SPI_CR1_DFF) | 401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.CLKPolarity & SPI_CR1_CPOL) | 402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.CLKPhase & SPI_CR1_CPHA) | 403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.NSS & SPI_CR1_SSM) | 404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.BaudRatePrescaler & SPI_CR1_BR_Msk) | 405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.FirstBit & SPI_CR1_LSBFIRST) | 406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.CRCCalculation & SPI_CR1_CRCEN))); 407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure : NSS management, TI Mode */ 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) | (hspi->Init.TIMode & S 410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*---------------------------- SPIx CRCPOLY Configuration ------------------*/ 413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure : CRC Polynomial */ 414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** WRITE_REG(hspi->Instance->CRCPR, (hspi->Init.CRCPolynomial & SPI_CRCPR_CRCPOLY_Msk)); 417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if defined(SPI_I2SCFGR_I2SMOD) 421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */ 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD); 423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */ 424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 9 430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief De-Initialize the SPI peripheral. 433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi) 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi == NULL) 441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check SPI Instance parameter */ 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_ALL_INSTANCE(hspi->Instance)); 447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY; 449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI Peripheral Clock */ 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->MspDeInitCallback == NULL) 455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit */ 457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ 460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback(hspi); 461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC... */ 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_MspDeInit(hspi); 464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET; 468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Release Lock */ 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Initialize the SPI MSP. 477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi) 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 10 487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_MspInit should be implemented in the user file 488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief De-Initialize the SPI MSP. 493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi) 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_MspDeInit should be implemented in the user file 504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Register a User SPI Callback 510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * To be used instead of the weak predefined callback 511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains 512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI. 513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param CallbackID ID of the callback to be registered 514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pCallback pointer to the Callback function 515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_RegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Callb 518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** pSPI_CallbackTypeDef pCallback) 519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK; 521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (pCallback == NULL) 523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode |= HAL_SPI_ERROR_INVALID_CALLBACK; 526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process locked */ 530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State) 533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** switch (CallbackID) 535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID : 537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxCpltCallback = pCallback; 538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID : 541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback = pCallback; 542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 11 544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID : 545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxCpltCallback = pCallback; 546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID : 549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxHalfCpltCallback = pCallback; 550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID : 553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxHalfCpltCallback = pCallback; 554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID : 557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = pCallback; 558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID : 561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback = pCallback; 562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID : 565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback = pCallback; 566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID : 569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback = pCallback; 570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID : 573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback; 574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** default : 577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ 581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State) 586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** switch (CallbackID) 588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID : 590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback = pCallback; 591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID : 594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback = pCallback; 595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** default : 598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 12 601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ 602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ 612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Release Lock */ 616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return status; 618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Unregister an SPI Callback 622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * SPI callback is redirected to the weak predefined callback 623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi Pointer to a SPI_HandleTypeDef structure that contains 624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI. 625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param CallbackID ID of the callback to be unregistered 626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_UnRegisterCallback(SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef Cal 629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef status = HAL_OK; 631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process locked */ 633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_SPI_STATE_READY == hspi->State) 636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** switch (CallbackID) 638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_COMPLETE_CB_ID : 640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxCpltCallback = HAL_SPI_TxCpltCallback; /* Legacy weak TxCpltCallback 641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_RX_COMPLETE_CB_ID : 644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback = HAL_SPI_RxCpltCallback; /* Legacy weak RxCpltCallback 645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_RX_COMPLETE_CB_ID : 648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxCpltCallback = HAL_SPI_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback 649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_HALF_COMPLETE_CB_ID : 652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxHalfCpltCallback = HAL_SPI_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallbac 653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_RX_HALF_COMPLETE_CB_ID : 656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxHalfCpltCallback = HAL_SPI_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallbac 657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 13 658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID : 660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxHalfCpltCallback = HAL_SPI_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallb 661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_ERROR_CB_ID : 664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback = HAL_SPI_ErrorCallback; /* Legacy weak ErrorCallback 665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_ABORT_CB_ID : 668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback = HAL_SPI_AbortCpltCallback; /* Legacy weak AbortCpltCallback 669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID : 672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit 673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID : 676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit 677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** default : 680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ 684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else if (HAL_SPI_STATE_RESET == hspi->State) 689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** switch (CallbackID) 691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPINIT_CB_ID : 693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspInitCallback = HAL_SPI_MspInit; /* Legacy weak MspInit 694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** case HAL_SPI_MSPDEINIT_CB_ID : 697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->MspDeInitCallback = HAL_SPI_MspDeInit; /* Legacy weak MspDeInit 698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** default : 701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ 705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update the error code */ 712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_INVALID_CALLBACK); 713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return error status */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 14 715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** status = HAL_ERROR; 716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Release Lock */ 719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return status; 721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group2 IO operation functions 728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Data transfers functions 729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @verbatim 731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ============================================================================== 732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ##### IO operation functions ##### 733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** =============================================================================== 734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** This subsection provides a set of functions allowing to manage the SPI 736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** data transfers. 737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] The SPI supports master and slave mode : 739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) There are two modes of transfer: 741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) Blocking mode: The communication is performed in polling mode. 742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** The HAL status of all data processing is returned by the same function 743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** after finishing transfer. 744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (++) No-Blocking mode: The communication is performed using Interrupts 745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** or DMA, These APIs return the HAL status. 746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** The end of the data processing will be indicated through the 747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** dedicated SPI IRQ when using Interrupt mode or the DMA IRQ when 748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** using DMA mode. 749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** The HAL_SPI_TxCpltCallback(), HAL_SPI_RxCpltCallback() and HAL_SPI_TxRxCpltCallback() u 750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** will be executed respectively at the end of the transmit or Receive process 751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** The HAL_SPI_ErrorCallback()user callback will be executed when a communication error is 752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (#) APIs provided for these 2 transfer modes (Blocking mode or Non blocking mode using either I 754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** exist for 1Line (simplex) and 2Lines (full duplex) modes. 755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @endverbatim 757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit an amount of data in blocking mode. 762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size, ui 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 15 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t initial_TxXferCount; 773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction)); 776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) 782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX; 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*Init field not used in handle to zero */ 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL; 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction : 1Line */ 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 16 829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT) 833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while (hspi->TxXferCount > 0U) 842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set to send data */ 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) 845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Timeout management */ 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout = 854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 8 Bit mode */ 863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = *((const uint8_t *)hspi->pTxBuffPtr); 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while (hspi->TxXferCount > 0U) 872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set to send data */ 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) 875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = *((const uint8_t *)hspi->pTxBuffPtr); 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Timeout management */ 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout = 884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 17 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */ 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Receive an amount of data in blocking mode. 928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be received 932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 18 943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES)) 948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_SPI_TransmitReceive(hspi, pData, pData, Size, Timeout); 952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*Init field not used in handle to zero */ 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL; 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* this is done to handle the CRCNEXT before the latest data */ 985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction: 1Line */ 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 19 1000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 8 Bit mode */ 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_8BIT) 1006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transfer loop */ 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while (hspi->RxXferCount > 0U) 1009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the RXNE flag */ 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) 1012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* read the received data */ 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (* (uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t); 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Timeout management */ 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout = 1022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transfer loop */ 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while (hspi->RxXferCount > 0U) 1034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the RXNE flag */ 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) 1037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Timeout management */ 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) || (Timeout = 1046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Handle the CRC Transmission */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 20 1057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* freeze the CRC before the latest data */ 1060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 1061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read the latest data */ 1063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK) 1064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* the latest data has not been received */ 1066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive last data in 16 Bit mode */ 1071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT) 1072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 1074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive last data in 8 Bit mode */ 1076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 1079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait the CRC data */ 1082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK) 1083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 1085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */ 1091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 1092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 1093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 1094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, Timeout, tickstart) != HAL_OK) 1099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 1101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 1105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR)) 1106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 1108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 1109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 21 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 1116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in blocking mode. 1127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer 1130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pRxData pointer to reception data buffer 1131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent and received 1132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 1133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t 1136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t Size, uint32_t Timeout) 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t initial_TxXferCount; 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 1142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 1144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Variable used to alternate Rx and Tx during transfer */ 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t txallowed = 1U; 1148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); 1151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 1154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init temporary variables */ 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_state = hspi->State; 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 1159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \ 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 1167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 22 1171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX) 1176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 1178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*Init field not used in handle to zero */ 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit and Receive data in 16 Bit mode */ 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize == SPI_DATASIZE_16BIT) 1210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 1212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 1219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 1220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 1222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 1227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 23 1228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check TXE flag */ 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U) 1230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** txallowed = 0U; 1236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 1239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 1240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 1242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check RXNE flag */ 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) 1248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** txallowed = 1U; 1254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) 1256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit and Receive data in 8 Bit mode */ 1264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 1267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((__IO uint8_t *)&hspi->Instance->DR) = *((const uint8_t *)hspi->pTxBuffPtr); 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 1274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 1275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 1277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 1281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check TXE flag */ 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U) 1284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 24 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** txallowed = 0U; 1290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 1293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->TxXferCount == 0U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 1294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 1296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until RXNE flag is reset */ 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) 1302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (*(uint8_t *)hspi->pRxBuffPtr) = hspi->Instance->DR; 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** txallowed = 1U; 1308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout = 1310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read CRC from DR to close CRC calculation process */ 1320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag */ 1323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, Timeout, tickstart) != HAL_OK) 1324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Error on the CRC reception */ 1326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 1327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read CRC */ 1332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 1333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 1334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 1335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 1338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR)) 1339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 1341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear CRC Flag */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 25 1342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 1343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 1350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */ 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 1358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 1360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 1364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 1368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with Interrupt. 1379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 1382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 1383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size) 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction)); 1390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 1393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) 1398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 26 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX; 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init field not used in handle to zero */ 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL; 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the function for IT treatment */ 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 1420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_16BIT; 1422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_TxISR_8BIT; 1426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction : 1Line */ 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 1430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 1434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE and ERR interrupt */ 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR)); 1455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 27 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with Interrupt. 1461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 1464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 1465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) 1471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) 1476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 1478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_SPI_TransmitReceive_IT(hspi, pData, pData, Size); 1480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 1484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init field not used in handle to zero */ 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (uint8_t *)NULL; 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the function for IT treatment */ 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 1506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BIT; 1508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BIT; 1512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 28 1513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction : 1Line */ 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 1516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 1520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Note : The SPI must be enabled after unlocking current process 1531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** to avoid the risk of SPI interrupt handle execution before current 1532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** process unlock */ 1533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable RXNE and ERR interrupt */ 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR)); 1545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with Interrupt. 1551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer 1554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pRxData pointer to reception data buffer 1555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent and received 1556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8 1559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t Size) 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 1563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); 1566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init temporary variables */ 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_state = hspi->State; 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 29 1570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || \ 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 1578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process locked */ 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX) 1587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 1589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the function for IT treatment */ 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 1602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BIT; 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT; 1605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BIT; 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT; 1610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 30 1627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */ 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); 1632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit an amount of data in non-blocking mode with DMA. 1638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 1641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 1642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check tx dma handle */ 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx)); 1649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES_OR_1LINE(hspi->Init.Direction)); 1652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) 1654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 1659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX; 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init field not used in handle to zero */ 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)NULL; 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 1679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction : 1Line */ 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 1682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 31 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 1686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI TxDMA Half transfer complete callback */ 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = SPI_DMAHalfTransmitCplt; 1698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI TxDMA transfer complete callback */ 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = SPI_DMATransmitCplt; 1701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA error callback */ 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = SPI_DMAError; 1704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */ 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 1707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */ 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 1711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update SPI error code */ 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 1714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */ 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR)); 1731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable Tx DMA Request */ 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN); 1734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Receive an amount of data in non-blocking mode with DMA. 1740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note In case of MASTER mode and SPI_DIRECTION_2LINES direction, hdmatx shall be defined. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 32 1741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pData pointer to data buffer 1744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note When the CRC feature is enabled the pData Length must be Size + 1. 1745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 1746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check rx dma handle */ 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx)); 1752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_READY) 1754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) 1759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 1761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check tx dma handle */ 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx)); 1764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_SPI_TransmitReceive_DMA(hspi, pData, pData, Size); 1767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pData == NULL) || (Size == 0U)) 1770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_RX; 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /*Init field not used in handle to zero */ 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 1789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Configure communication direction : 1Line */ 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_1LINE) 1792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral before set 1Line direction (BIDIOE bit) */ 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 1796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 33 1798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI RxDMA Half transfer complete callback */ 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt; 1808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI Rx DMA transfer complete callback */ 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 1811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA error callback */ 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError; 1814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */ 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 1817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */ 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 1821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update SPI error code */ 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 1824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */ 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR)); 1841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable Rx DMA Request */ 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); 1844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Transmit and Receive an amount of data in non-blocking mode with DMA. 1850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 1851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 1852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pTxData pointer to transmission data buffer 1853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param pRxData pointer to reception data buffer 1854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note When the CRC feature is enabled the pRxData Length must be Size + 1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 34 1855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Size amount of data to be sent 1856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 1858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint 1859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t Size) 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 1863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check rx & tx dma handles */ 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmarx)); 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx)); 1867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Direction parameter */ 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); 1870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init temporary variables */ 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_state = hspi->State; 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 1874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (!((tmp_state == HAL_SPI_STATE_READY) || 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_BUSY; 1879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 1882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process locked */ 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 1888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_RX) 1891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 1893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the transaction information */ 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init field not used in handle to zero */ 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 1910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 1911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 35 1912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 1913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 1915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if we are in Rx only or in Rx/Tx Mode and configure the DMA transfer complete callback * 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX) 1918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI Rx DMA Half transfer complete callback */ 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfReceiveCplt; 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 1922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 1924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI Tx/Rx DMA Half transfer complete callback */ 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferHalfCpltCallback = SPI_DMAHalfTransmitReceiveCplt; 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; 1928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA error callback */ 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferErrorCallback = SPI_DMAError; 1932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the DMA AbortCpltCallback */ 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 1935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the Rx DMA Stream/Channel */ 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmarx, (uint32_t)&hspi->Instance->DR, (uint32_t)hspi->pRxBu 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 1939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update SPI error code */ 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 1942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable Rx DMA Request */ 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); 1949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI Tx DMA transfer complete callback as NULL because the communication closing 1951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** is performed in DMA reception complete callback */ 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferHalfCpltCallback = NULL; 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL; 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL; 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 1956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the Tx DMA Stream/Channel */ 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Start_IT(hspi->hdmatx, (uint32_t)hspi->pTxBuffPtr, (uint32_t)&hspi->Instanc 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 1960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Update SPI error code */ 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 1963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if the SPI is already enabled */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 36 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 1970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable SPI peripheral */ 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE(hspi); 1973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the SPI Error Interrupt Bit */ 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_ENABLE_IT(hspi, (SPI_IT_ERR)); 1980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable Tx DMA Request */ 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN); 1983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 1988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Abort ongoing transfer (blocking mode). 1989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi SPI handle. 1990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx), 1991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * started in Interrupt or DMA mode. 1992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * This procedure performs following operations : 1993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction) 1994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 1995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort (in case of transfer in DMA mode) 1996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Set handle State to READY 1997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note This procedure is executed in blocking mode : when exiting function, Abort is considere 1998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 1999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort(SPI_HandleTypeDef *hspi) 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t resetcount; 2005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Initialized local variable */ 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_OK; 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */ 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE); 2013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */ 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE)) 2016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR; 2018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 2020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 2022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 2025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 37 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 2028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)) 2033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR; 2035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 2037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 2039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 2042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 2045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */ 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN)) 2051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel : use blocking DMA Abort API (no callback) */ 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 2054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI DMA Abort callback : 2056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */ 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 2058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */ 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmatx) != HAL_OK) 2061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 2063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Tx DMA Request */ 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN)); 2067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set */ 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 2070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 2072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 2075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 2078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */ 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN)) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 38 2083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel : use blocking DMA Abort API (no callback) */ 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 2086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI DMA Abort callback : 2088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** will lead to call HAL_SPI_AbortCpltCallback() at end of DMA abort procedure */ 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 2090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */ 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_DMA_Abort(hspi->hdmarx) != HAL_OK) 2093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 2095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable peripheral */ 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 2099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Rx DMA Request */ 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_RXDMAEN)); 2102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */ 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check error during Abort procedure */ 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT) 2110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */ 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 2113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset errorCode */ 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear the Error flags in the SR register */ 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 2123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Restore hspi->state to ready */ 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return errorcode; 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Abort ongoing transfer (Interrupt mode). 2132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi SPI handle. 2133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note This procedure could be used for aborting any ongoing transfer (Tx and Rx), 2134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * started in Interrupt or DMA mode. 2135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * This procedure performs following operations : 2136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Disable SPI Interrupts (depending of transfer direction) 2137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Disable the DMA transfer in the peripheral register (if enabled) 2138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Abort DMA transfer by calling HAL_DMA_Abort_IT (in case of transfer in DMA mode) 2139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - Set handle State to READY ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 39 2140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * - At abort completion, call user abort complete callback 2141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be 2142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * considered as completed only when user abort complete callback is executed (not when ex 2143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 2144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_Abort_IT(SPI_HandleTypeDef *hspi) 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t abortcplt ; 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t resetcount; 2151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Initialized local variable */ 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_OK; 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** abortcplt = 1U; 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear ERRIE interrupt to avoid error interrupts generation during Abort procedure */ 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_ERRIE); 2160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Change Rx and Tx Irq Handler to Disable TXEIE, RXNEIE and ERRIE interrupts */ 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXEIE)) 2163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_AbortTx_ISR; 2165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 2167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 2169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 2172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 2175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXNEIE)) 2180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_AbortRx_ISR; 2182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 2184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 2186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 2189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 2192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 2194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* If DMA Tx and/or DMA Rx Handles are associated to SPI Handle, DMA Abort complete callbacks sho ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 40 2197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** before any call to DMA Abort functions */ 2198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DMA Tx Handle is valid */ 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 2200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. 2202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Otherwise, set it to NULL */ 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN)) 2204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMATxAbortCallback; 2206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 2210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DMA Rx Handle is valid */ 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 2214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. 2216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** Otherwise, set it to NULL */ 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN)) 2218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMARxAbortCallback; 2220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 2224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Tx request if enabled */ 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_TXDMAEN)) 2229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Tx Stream/Channel */ 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 2232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort DMA Tx Handle linked to SPI Peripheral */ 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmatx) != HAL_OK) 2235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 2238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** abortcplt = 0U; 2242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Rx request if enabled */ 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_IS_BIT_SET(hspi->Instance->CR2, SPI_CR2_RXDMAEN)) 2247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Rx Stream/Channel */ 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 2250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort DMA Rx Handle linked to SPI Peripheral */ 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_DMA_Abort_IT(hspi->hdmarx) != HAL_OK) 2253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 41 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 2256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** abortcplt = 0U; 2260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (abortcplt == 1U) 2265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Tx and Rx transfer counters */ 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check error during Abort procedure */ 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_ABORT) 2272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* return HAL_Error in case of error during Abort procedure */ 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 2275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset errorCode */ 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear the Error flags in the SR register */ 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 2285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Restore hspi->State to Ready */ 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* As no DMA to be aborted, call directly user Abort complete callback */ 2290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback(hspi); 2292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi); 2294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return errorcode; 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Pause the DMA Transfer. 2302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI module. 2304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 2305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi) 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 2310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 42 2311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */ 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Resume the DMA Transfer. 2322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI module. 2324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 2325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi) 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_LOCK(hspi); 2330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable the SPI DMA Tx & Rx requests */ 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Stop the DMA Transfer. 2342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI module. 2344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 2345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi) 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK; 2349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application 2350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** to call the HAL SPI API under callbacks HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() o 2351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** when calling HAL_DMA_Abort() API the DMA TX/RX Transfer complete interrupt is generated 2352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and the correspond call back is executed HAL_SPI_TxCpltCallback() or HAL_SPI_RxCpltCallback() 2353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA tx Stream/Channel */ 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 2357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmatx)) 2359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 2362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA rx Stream/Channel */ 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 2366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort(hspi->hdmarx)) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 43 2368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 2371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA Tx & Rx requests */ 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return errorcode; 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle SPI interrupt request. 2382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified SPI module. 2384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi) 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2; 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR; 2390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI in mode Receiver ----------------------------------------------------*/ 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) == RESET) && 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN 2394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR(hspi); 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI in mode Transmitter -------------------------------------------------*/ 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((SPI_CHECK_FLAG(itflag, SPI_FLAG_TXE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_TXE) 2401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR(hspi); 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI in Error Treatment --------------------------------------------------*/ 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (((SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET) || (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT 2409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI Overrun error interrupt occurred ----------------------------------*/ 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_OVR) != RESET) 2412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State != HAL_SPI_STATE_BUSY_TX) 2414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_OVR); 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 2417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 44 2425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI Mode Fault error interrupt occurred -------------------------------*/ 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_MODF) != RESET) 2427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_MODF); 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi); 2430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* SPI Frame error interrupt occurred ------------------------------------*/ 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET) 2434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FRE); 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 2437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable all interrupts */ 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE | SPI_IT_TXE | SPI_IT_ERR); 2443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */ 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((HAL_IS_BIT_SET(itsource, SPI_CR2_TXDMAEN)) || (HAL_IS_BIT_SET(itsource, SPI_CR2_RXDMAEN) 2447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN)); 2449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Rx channel */ 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 2452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI DMA Abort callback : 2454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */ 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = SPI_DMAAbortOnError; 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx)) 2457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Abort the SPI DMA Tx channel */ 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 2463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set the SPI DMA Abort callback : 2465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** will lead to call HAL_SPI_ErrorCallback() at end of DMA abort procedure */ 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = SPI_DMAAbortOnError; 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx)) 2468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 2470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 45 2482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx Transfer completed callback. 2489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_TxCpltCallback should be implemented in the user file 2500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Rx Transfer completed callback. 2505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi) 2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_RxCpltCallback should be implemented in the user file 2516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx and Rx Transfer completed callback. 2521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi) 2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_TxRxCpltCallback should be implemented in the user file 2532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx Half Transfer completed callback. 2537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 46 2539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi) 2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_TxHalfCpltCallback should be implemented in the user file 2548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Rx Half Transfer completed callback. 2553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi) 2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_RxHalfCpltCallback() should be implemented in the user file 2564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx and Rx Half Transfer callback. 2569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi) 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_TxRxHalfCpltCallback() should be implemented in the user file 2580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief SPI error callback. 2585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi) 2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_ErrorCallback should be implemented in the user file ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 47 2596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : The ErrorCode parameter in the hspi handle is updated by the SPI processes 2598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and user can use HAL_SPI_GetError() API to check the latest error occurred 2599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief SPI Abort Complete callback. 2604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi SPI handle. 2605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __weak void HAL_SPI_AbortCpltCallback(SPI_HandleTypeDef *hspi) 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(hspi); 2611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* NOTE : This function should not be modified, when the callback is needed, 2613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** the HAL_SPI_AbortCpltCallback can be implemented in the user file. 2614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 2619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @defgroup SPI_Exported_Functions_Group3 Peripheral State and Errors functions 2622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief SPI control functions 2623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * 2624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @verbatim 2625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** =============================================================================== 2626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ##### Peripheral State and Errors functions ##### 2627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** =============================================================================== 2628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** [..] 2629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** This subsection provides a set of functions allowing to control the SPI. 2630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+) HAL_SPI_GetState() API can be helpful to check in run-time the state of the SPI peripheral 2631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (+) HAL_SPI_GetError() check in run-time Errors occurring during communication 2632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** @endverbatim 2633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 2634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Return the SPI handle state. 2638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval SPI state 2641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef HAL_SPI_GetState(const SPI_HandleTypeDef *hspi) 2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return SPI handle state */ 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return hspi->State; 2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Return the SPI error code. 2650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 2651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 2652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval SPI error code in bitmap format ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 48 2653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t HAL_SPI_GetError(const SPI_HandleTypeDef *hspi) 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return SPI ErrorCode */ 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return hspi->ErrorCode; 2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 2662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @} 2666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** @addtogroup SPI_Private_Functions 2669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Private functions 2670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @{ 2671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI transmit process complete callback. 2675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATransmitCplt(DMA_HandleTypeDef *hdma) 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 2683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 2686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DMA Normal Mode */ 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != DMA_SxCR_CIRC) 2689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable ERR interrupt */ 2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); 2692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Tx DMA Request */ 2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN); 2695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) 2698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 2700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received data is not read */ 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 2704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 2706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 49 2710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Tx complete callback */ 2723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxCpltCallback(hspi); 2725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi); 2727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI receive process complete callback. 2732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAReceiveCplt(DMA_HandleTypeDef *hdma) 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 2740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 2742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 2746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DMA Normal Mode */ 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != DMA_SxCR_CIRC) 2749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable ERR interrupt */ 2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); 2752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* CRC handling */ 2755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 2756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until RXNE flag */ 2758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) ! 2759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Error on the CRC reception */ 2761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 2762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read CRC */ 2764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 2765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 2766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 50 2767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if we are in Master RX 2 line mode */ 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Direction == SPI_DIRECTION_2LINES) && (hspi->Init.Mode == SPI_MODE_MASTER)) 2772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Rx/Tx DMA Request (done by default to handle the case master rx direction 2 lines) 2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 2777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Normal case */ 2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); 2780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) 2784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 2786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 2793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR)) 2794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 2796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 2797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 2812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback(hspi); 2814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi); 2816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI transmit receive process complete callback. 2821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 51 2824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATransmitReceiveCplt(DMA_HandleTypeDef *hdma) 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 2829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 2831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 2835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* DMA Normal Mode */ 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hdma->Instance->CR & DMA_SxCR_CIRC) != DMA_SxCR_CIRC) 2838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable ERR interrupt */ 2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); 2841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* CRC handling */ 2844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 2845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait the CRC data */ 2847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SET, SPI_DEFAULT_TIMEOUT, tickstart) ! 2848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 2850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read CRC to Flush DR and RXNE flag */ 2852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 2853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 2854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 2855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) 2860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 2862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Rx/Tx DMA Request */ 2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 2872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 2873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR)) 2874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 2876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 2877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 2879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 52 2881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 2889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user TxRx complete callback */ 2892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi); 2894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi); 2896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI half transmit process complete callback. 2901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfTransmitCplt(DMA_HandleTypeDef *hdma) 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Tx half complete callback */ 2910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxHalfCpltCallback(hspi); 2912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxHalfCpltCallback(hspi); 2914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2918:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI half receive process complete callback 2919:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2923:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfReceiveCplt(DMA_HandleTypeDef *hdma) 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx half complete callback */ 2928:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2929:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxHalfCpltCallback(hspi); 2930:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_RxHalfCpltCallback(hspi); 2932:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2935:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI half transmit receive process complete callback. 2937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 53 2938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2939:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAHalfTransmitReceiveCplt(DMA_HandleTypeDef *hdma) 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2945:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user TxRx half complete callback */ 2946:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxHalfCpltCallback(hspi); 2948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxRxHalfCpltCallback(hspi); 2950:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI communication error callback. 2955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 2956:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for the specified DMA module. 2957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAError(DMA_HandleTypeDef *hdma) 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Stop the disable DMA transfer on SPI side */ 2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN); 2965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_DMA); 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 2968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2971:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI communication abort callback, when initiated by HAL services on Error 2978:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * (To be called at end of DMA Abort procedure following error occurrence). 2979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma DMA handle. 2980:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 2981:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 2982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMAAbortOnError(DMA_HandleTypeDef *hdma) 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2987:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2988:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 2989:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 2990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 2991:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 2993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 54 2995:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2996:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 2997:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI Tx communication abort callback, when initiated by user 2998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * (To be called at end of DMA Tx Abort procedure following user abort request). 2999:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3000:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * Abort still ongoing for Rx DMA Handle. 3001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma DMA handle. 3002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMATxAbortCallback(DMA_HandleTypeDef *hdma) 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 3008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 3011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Tx DMA Request */ 3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_TXDMAEN); 3014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set */ 3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 3017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 3019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3022:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 3025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if an Abort process is still ongoing */ 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx != NULL) 3028:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmarx->XferAbortCallback != NULL) 3030:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3031:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3035:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check no error during Abort procedure */ 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT) 3041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3042:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset errorCode */ 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 3044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear the Error flags in the SR register */ 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Restore hspi->State to Ready */ 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 55 3052:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Abort complete callback */ 3054:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3055:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback(hspi); 3056:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi); 3058:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3061:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief DMA SPI Rx communication abort callback, when initiated by user 3063:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * (To be called at end of DMA Rx Abort procedure following user abort request). 3064:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @note When this callback is executed, User Abort complete call back is called only if no 3065:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * Abort still ongoing for Tx DMA Handle. 3066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hdma DMA handle. 3067:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3068:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_DMARxAbortCallback(DMA_HandleTypeDef *hdma) 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 3072:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral */ 3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 3075:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferAbortCallback = NULL; 3077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3078:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable Rx DMA Request */ 3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, SPI_CR2_RXDMAEN); 3080:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3081:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check Busy flag */ 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) 3083:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 3085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3086:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3087:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if an Abort process is still ongoing */ 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx != NULL) 3089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->hdmatx->XferAbortCallback != NULL) 3091:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3093:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3095:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3096:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* No Abort process still ongoing : All DMA Stream/Channel are aborted, call user Abort Complete 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3099:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check no error during Abort procedure */ 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_ABORT) 3102:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3103:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset errorCode */ 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 3105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3107:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear the Error flags in the SR register */ 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 56 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3110:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3111:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Restore hspi->State to Ready */ 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3113:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Abort complete callback */ 3115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3116:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->AbortCpltCallback(hspi); 3117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_AbortCpltCallback(hspi); 3119:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode. 3124:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3126:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_8BIT(struct __SPI_HandleTypeDef *hspi) 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3130:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 8bit mode */ 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *hspi->pRxBuffPtr = *((__IO uint8_t *)&hspi->Instance->DR); 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 3134:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3135:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check end of the reception */ 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_8BITCRC; 3142:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3143:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3144:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3145:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR)); 3148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3152:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Rx 8-bit handler for Transmit and Receive in Interrupt mode. 3159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi) 3164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3165:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint8_t *ptmpreg8; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 57 3166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0; 3167:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */ 3169:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 3170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */ 3171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg8 = *ptmpreg8; 3172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 3173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg8); 3174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 3176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR)); 3177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3178:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3180:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx 8-bit handler for Transmit and Receive in Interrupt mode. 3187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3189:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesTxISR_8BIT(struct __SPI_HandleTypeDef *hspi) 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 3196:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3197:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transmission */ 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3200:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3201:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */ 3204:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE interrupt */ 3206:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); 3207:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3208:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3210:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE interrupt */ 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); 3213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3218:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3220:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3221:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3222:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Rx 16-bit handler for Transmit and Receive in Interrupt mode. ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 58 3223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3224:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3225:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3227:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_16BIT(struct __SPI_HandleTypeDef *hspi) 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 16 Bit mode */ 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR); 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 3233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3238:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3239:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_2linesRxISR_16BITCRC; 3240:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3242:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3243:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3244:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE interrupt */ 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); 3246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3248:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3256:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive for Transmit and Receive in Interrupt mode. 3257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3260:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3261:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesRxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi) 3262:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3263:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 3264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3265:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */ 3266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 3267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 3268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 3269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE interrupt */ 3271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_RXNE); 3272:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3273:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3275:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3276:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3277:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3278:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Tx 16-bit handler for Transmit and Receive in Interrupt mode. 3279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 59 3280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3281:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3282:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_2linesTxISR_16BIT(struct __SPI_HandleTypeDef *hspi) 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 3289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3290:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3292:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3294:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3295:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3296:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Set CRC Next Bit to send CRC */ 3297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE interrupt */ 3299:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); 3300:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3302:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE interrupt */ 3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_TXE); 3306:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3308:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRxTx_ISR(hspi); 3310:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Manage the CRC 8-bit receive in Interrupt context. 3317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3319:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_8BITCRC(struct __SPI_HandleTypeDef *hspi) 3322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint8_t *ptmpreg8; 3324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint8_t tmpreg8 = 0; 3325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Initialize the 8bit temporary pointer */ 3327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 3328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read 8bit CRC to flush Data Register */ 3329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg8 = *ptmpreg8; 3330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 3331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg8); 3332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRx_ISR(hspi); 3334:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3336:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 60 3337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Manage the receive 8-bit in Interrupt context. 3339:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3341:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3342:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3343:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_8BIT(struct __SPI_HandleTypeDef *hspi) 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR); 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 3348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3350:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 3351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 3352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3354:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3355:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3362:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_8BITCRC; 3363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRx_ISR(hspi); 3367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3371:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3372:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Manage the CRC 16-bit receive in Interrupt context. 3373:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3374:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_16BITCRC(struct __SPI_HandleTypeDef *hspi) 3378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3379:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 3380:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3381:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Read 16bit CRC to flush Data Register */ 3382:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 3383:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 3384:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 3385:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 3387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR)); 3388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRx_ISR(hspi); 3390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3391:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 61 3394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Manage the 16-bit receive in Interrupt context. 3395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_RxISR_16BIT(struct __SPI_HandleTypeDef *hspi) 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR); 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 3404:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3405:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 3407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->RxXferCount == 1U) && (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE)) 3408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3412:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->RxXferCount == 0U) 3414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3417:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3418:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = SPI_RxISR_16BITCRC; 3419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 3420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseRx_ISR(hspi); 3423:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3427:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the data 8-bit transmit in Interrupt mode. 3428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3430:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3431:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_TxISR_8BIT(struct __SPI_HandleTypeDef *hspi) 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 3437:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3441:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3443:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 3444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseTx_ISR(hspi); 3448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3450:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 62 3451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the data 16-bit transmit in Interrupt mode. 3453:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_TxISR_16BIT(struct __SPI_HandleTypeDef *hspi) 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3459:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Instance->DR = *((const uint16_t *)hspi->pTxBuffPtr); 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 3463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->TxXferCount == 0U) 3465:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable CRC Transmission */ 3470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->Instance->CR1, SPI_CR1_CRCNEXT); 3471:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_CloseTx_ISR(hspi); 3474:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3476:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3478:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle SPI Communication Timeout. 3479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3480:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3481:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Flag SPI flag to check 3482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param State flag state to check 3483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 3484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Tickstart tick start value 3485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 3486:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3487:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, Flag 3488:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t Timeout, uint32_t Tickstart) 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_timeout; 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_tickstart; 3493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Adjust Timeout value in case of end of transfer */ 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_tickstart = HAL_GetTick(); 3497:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U); 3500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 3502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (Timeout != HAL_MAX_DELAY) 3504:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 3506:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI and reset the CRC: the CRC value should be cleared ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 63 3508:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** on both master and slave sides in order to resynchronize the master 3509:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** and slave for their respective CRC calculation */ 3510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ 3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); 3513:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 3516:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI peripheral */ 3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 3519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3520:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3521:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset CRC Calculation */ 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 3523:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_RESET_CRC(hspi); 3525:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3529:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 3531:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3534:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop proced 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 3536:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3537:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_timeout = 0U; 3538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 3540:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3541:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3545:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the check of the RX transaction complete. 3548:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3550:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 3551:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Tickstart tick start value 3552:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 3553:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3554:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 3558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3559:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI peripheral */ 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 3561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3563:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 64 3565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction != SPI_DIRECTION_2LINES_RXONLY) 3567:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Control the BSY flag */ 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 3570:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3573:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3575:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait the RXNE reset */ 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, RESET, Timeout, Tickstart) != HAL_OK) 3579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3582:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3584:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3585:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3587:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait the RXNE reset */ 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, RESET, Timeout, Tickstart) != HAL_OK) 3589:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the check of the RXTX or TX transaction complete. 3599:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi SPI handle 3600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Timeout Timeout duration 3601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param Tickstart tick start value 3602:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval HAL status 3603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3606:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag */ 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if(SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_TXE, SET, Timeout, Tickstart) != HAL_OK) 3608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3611:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3612:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3613:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Timeout in µs */ 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); 3615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Mode == SPI_MODE_MASTER) 3617:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3618:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Control the BSY flag */ 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 3620:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 65 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 3623:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3624:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3626:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3627:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait BSY flag during 1 Byte time transfer in case of Full-Duplex and Tx transfer 3628:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * If Timeout is reached, the transfer is considered as finish. 3629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * User have to calculate the timeout value to fit with the time of 1 byte transfer. 3630:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * This time is directly link with the SPI clock from Master device. 3631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 3633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 3635:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3636:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3637:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 3640:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3641:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3642:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_OK; 3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3644:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the end of the RXTX transaction. 3647:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3649:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3650:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseRxTx_ISR(SPI_HandleTypeDef *hspi) 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 3655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3656:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management */ 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 3658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3659:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable ERR interrupt */ 3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, SPI_IT_ERR); 3661:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3662:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set */ 3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 3664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 3666:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 3672:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3673:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) 3675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 66 3679:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */ 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 3681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 3683:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3686:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 3687:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET) 3688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3689:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3690:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 3691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 3692:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 3693:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 3695:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3696:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 3697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3698:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3701:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE) 3703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->State == HAL_SPI_STATE_BUSY_RX) 3705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3707:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 3708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback(hspi); 3710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi); 3712:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3714:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user TxRx complete callback */ 3718:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxRxCpltCallback(hspi); 3720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxRxCpltCallback(hspi); 3722:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3724:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3725:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 3729:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 3731:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 3733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3734:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 67 3736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3740:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3741:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the end of the RX transaction. 3742:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3743:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3744:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3746:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseRx_ISR(SPI_HandleTypeDef *hspi) 3747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 3749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_RXNE | SPI_IT_ERR)); 3750:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTransaction(hspi, SPI_DEFAULT_TIMEOUT, HAL_GetTick()) != HAL_OK) 3753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3756:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3757:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */ 3758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 3759:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 3761:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3764:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3765:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check if CRC error occurred */ 3766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_CRCERR) != RESET) 3767:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3768:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_CRC); 3769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_CRCERRFLAG(hspi); 3770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 3771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 3773:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 3775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3776:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3777:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode == HAL_SPI_ERROR_NONE) 3781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 3783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3784:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxCpltCallback(hspi); 3785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_RxCpltCallback(hspi); 3787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3790:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 3792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 68 3793:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 3794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 3796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 3799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 3801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle the end of the TX transaction. 3805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_CloseTx_ISR(SPI_HandleTypeDef *hspi) 3810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 3812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 3813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3814:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Init tickstart for timeout management*/ 3815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tickstart = HAL_GetTick(); 3816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set */ 3818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 3819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 3821:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3824:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 3826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 3827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXE and ERR interrupt */ 3829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_ERR)); 3830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3831:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the end of the transaction */ 3832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (SPI_EndRxTxTransaction(hspi, SPI_DEFAULT_TIMEOUT, tickstart) != HAL_OK) 3833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 3835:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Clear overrun flag in 2 Lines communication mode because received is not read */ 3838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.Direction == SPI_DIRECTION_2LINES) 3839:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 3841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3842:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 3844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 3845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 3847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCallback(hspi); 3849:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 69 3850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_ErrorCallback(hspi); 3851:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3852:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** else 3854:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 3856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_HAL_SPI_REGISTER_CALLBACKS == 1U) 3857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxCpltCallback(hspi); 3858:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #else 3859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_TxCpltCallback(hspi); 3860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 3861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3863:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3864:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle abort a Rx transaction. 3866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3870:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_AbortRx_ISR(SPI_HandleTypeDef *hspi) 3871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 29 .loc 1 3871 1 view -0 30 .cfi_startproc 31 @ args = 0, pretend = 0, frame = 8 32 @ frame_needed = 0, uses_anonymous_args = 0 33 @ link register save eliminated. 34 .loc 1 3871 1 is_stmt 0 view .LVU1 35 0000 82B0 sub sp, sp, #8 36 .LCFI0: 37 .cfi_def_cfa_offset 8 3872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t tmpreg = 0U; 38 .loc 1 3872 3 is_stmt 1 view .LVU2 39 .loc 1 3872 17 is_stmt 0 view .LVU3 40 0002 0023 movs r3, #0 41 0004 0193 str r3, [sp, #4] 3873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 42 .loc 1 3873 3 is_stmt 1 view .LVU4 43 .loc 1 3873 70 is_stmt 0 view .LVU5 44 0006 164B ldr r3, .L7 45 0008 1B68 ldr r3, [r3] 46 000a 164A ldr r2, .L7+4 47 000c A2FB0323 umull r2, r3, r2, r3 48 0010 5B0A lsrs r3, r3, #9 49 .loc 1 3873 45 view .LVU6 50 0012 6422 movs r2, #100 51 0014 02FB03F3 mul r3, r2, r3 52 .loc 1 3873 17 view .LVU7 53 0018 0093 str r3, [sp] 54 .L4: 3874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag is set */ 3876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** do 55 .loc 1 3876 3 is_stmt 1 view .LVU8 3877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (count == 0U) 56 .loc 1 3878 5 view .LVU9 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 70 57 .loc 1 3878 15 is_stmt 0 view .LVU10 58 001a 009B ldr r3, [sp] 59 .loc 1 3878 8 view .LVU11 60 001c 43B1 cbz r3, .L6 3879:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_ABORT); 3881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3882:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count--; 61 .loc 1 3883 5 is_stmt 1 view .LVU12 62 .loc 1 3883 10 is_stmt 0 view .LVU13 63 001e 009B ldr r3, [sp] 64 0020 013B subs r3, r3, #1 65 0022 0093 str r3, [sp] 3884:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 66 .loc 1 3884 11 is_stmt 1 view .LVU14 67 .loc 1 3884 17 is_stmt 0 view .LVU15 68 0024 0368 ldr r3, [r0] 69 .loc 1 3884 27 view .LVU16 70 0026 9B68 ldr r3, [r3, #8] 71 .loc 1 3884 3 view .LVU17 72 0028 13F0020F tst r3, #2 73 002c F5D0 beq .L4 74 002e 03E0 b .L3 75 .L6: 3880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 76 .loc 1 3880 7 is_stmt 1 view .LVU18 77 0030 436D ldr r3, [r0, #84] 78 0032 43F04003 orr r3, r3, #64 79 0036 4365 str r3, [r0, #84] 3881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 80 .loc 1 3881 7 view .LVU19 81 .L3: 3885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral */ 3887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); 82 .loc 1 3887 3 view .LVU20 83 0038 0268 ldr r2, [r0] 84 003a 1368 ldr r3, [r2] 85 003c 23F04003 bic r3, r3, #64 86 0040 1360 str r3, [r2] 3888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3889:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXEIE, RXNEIE and ERRIE(mode fault event, overrun error, TI frame error) interrupts */ 3890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE | SPI_CR2_RXNEIE | SPI_CR2_ERRIE)); 87 .loc 1 3890 3 view .LVU21 88 0042 0268 ldr r2, [r0] 89 0044 5368 ldr r3, [r2, #4] 90 0046 23F0E003 bic r3, r3, #224 91 004a 5360 str r3, [r2, #4] 3891:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Flush Data Register by a blank read */ 3893:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmpreg = READ_REG(hspi->Instance->DR); 92 .loc 1 3893 3 view .LVU22 93 .loc 1 3893 12 is_stmt 0 view .LVU23 94 004c 0368 ldr r3, [r0] 95 004e DB68 ldr r3, [r3, #12] 96 .loc 1 3893 10 view .LVU24 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 71 97 0050 0193 str r3, [sp, #4] 3894:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* To avoid GCC warning */ 3895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** UNUSED(tmpreg); 98 .loc 1 3895 3 is_stmt 1 view .LVU25 99 0052 019B ldr r3, [sp, #4] 3896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT; 100 .loc 1 3897 3 view .LVU26 101 .loc 1 3897 15 is_stmt 0 view .LVU27 102 0054 0723 movs r3, #7 103 0056 80F85130 strb r3, [r0, #81] 3898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 104 .loc 1 3898 1 view .LVU28 105 005a 02B0 add sp, sp, #8 106 .LCFI1: 107 .cfi_def_cfa_offset 0 108 @ sp needed 109 005c 7047 bx lr 110 .L8: 111 005e 00BF .align 2 112 .L7: 113 0060 00000000 .word SystemCoreClock 114 0064 F1197605 .word 91625969 115 .cfi_endproc 116 .LFE292: 118 .section .text.SPI_AbortTx_ISR,"ax",%progbits 119 .align 1 120 .syntax unified 121 .thumb 122 .thumb_func 124 SPI_AbortTx_ISR: 125 .LVL1: 126 .LFB293: 3899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /** 3901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @brief Handle abort a Tx or Rx/Tx transaction. 3902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @param hspi pointer to a SPI_HandleTypeDef structure that contains 3903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * the configuration information for SPI module. 3904:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** * @retval None 3905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** */ 3906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** static void SPI_AbortTx_ISR(SPI_HandleTypeDef *hspi) 3907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 127 .loc 1 3907 1 is_stmt 1 view -0 128 .cfi_startproc 129 @ args = 0, pretend = 0, frame = 0 130 @ frame_needed = 0, uses_anonymous_args = 0 131 @ link register save eliminated. 3908:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable TXEIE interrupt */ 3909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** CLEAR_BIT(hspi->Instance->CR2, (SPI_CR2_TXEIE)); 132 .loc 1 3909 3 view .LVU30 133 0000 0268 ldr r2, [r0] 134 0002 5368 ldr r3, [r2, #4] 135 0004 23F08003 bic r3, r3, #128 136 0008 5360 str r3, [r2, #4] 3910:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3911:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable SPI Peripheral */ 3912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_DISABLE(hspi); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 72 137 .loc 1 3912 3 view .LVU31 138 000a 0268 ldr r2, [r0] 139 000c 1368 ldr r3, [r2] 140 000e 23F04003 bic r3, r3, #64 141 0012 1360 str r3, [r2] 3913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_ABORT; 142 .loc 1 3914 3 view .LVU32 143 .loc 1 3914 15 is_stmt 0 view .LVU33 144 0014 0723 movs r3, #7 145 0016 80F85130 strb r3, [r0, #81] 3915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 146 .loc 1 3915 1 view .LVU34 147 001a 7047 bx lr 148 .cfi_endproc 149 .LFE293: 151 .section .text.SPI_WaitFlagStateUntilTimeout,"ax",%progbits 152 .align 1 153 .syntax unified 154 .thumb 155 .thumb_func 157 SPI_WaitFlagStateUntilTimeout: 158 .LVL2: 159 .LFB286: 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 160 .loc 1 3489 1 is_stmt 1 view -0 161 .cfi_startproc 162 @ args = 4, pretend = 0, frame = 8 163 @ frame_needed = 0, uses_anonymous_args = 0 3489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 164 .loc 1 3489 1 is_stmt 0 view .LVU36 165 0000 2DE9F047 push {r4, r5, r6, r7, r8, r9, r10, lr} 166 .LCFI2: 167 .cfi_def_cfa_offset 32 168 .cfi_offset 4, -32 169 .cfi_offset 5, -28 170 .cfi_offset 6, -24 171 .cfi_offset 7, -20 172 .cfi_offset 8, -16 173 .cfi_offset 9, -12 174 .cfi_offset 10, -8 175 .cfi_offset 14, -4 176 0004 82B0 sub sp, sp, #8 177 .LCFI3: 178 .cfi_def_cfa_offset 40 179 0006 0546 mov r5, r0 180 0008 8846 mov r8, r1 181 000a 1746 mov r7, r2 182 000c 1E46 mov r6, r3 3490:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_timeout; 183 .loc 1 3490 3 is_stmt 1 view .LVU37 3491:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_tickstart; 184 .loc 1 3491 3 view .LVU38 3492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 185 .loc 1 3492 3 view .LVU39 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_tickstart = HAL_GetTick(); 186 .loc 1 3495 3 view .LVU40 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 73 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_tickstart = HAL_GetTick(); 187 .loc 1 3495 30 is_stmt 0 view .LVU41 188 000e FFF7FEFF bl HAL_GetTick 189 .LVL3: 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_tickstart = HAL_GetTick(); 190 .loc 1 3495 44 view .LVU42 191 0012 0A9B ldr r3, [sp, #40] 192 0014 1B1A subs r3, r3, r0 3495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_tickstart = HAL_GetTick(); 193 .loc 1 3495 17 view .LVU43 194 0016 03EB0609 add r9, r3, r6 195 .LVL4: 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 196 .loc 1 3496 3 is_stmt 1 view .LVU44 3496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 197 .loc 1 3496 19 is_stmt 0 view .LVU45 198 001a FFF7FEFF bl HAL_GetTick 199 .LVL5: 200 001e 8246 mov r10, r0 201 .LVL6: 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 202 .loc 1 3499 3 is_stmt 1 view .LVU46 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 203 .loc 1 3499 43 is_stmt 0 view .LVU47 204 0020 2B4B ldr r3, .L25 205 0022 1B68 ldr r3, [r3] 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 206 .loc 1 3499 50 view .LVU48 207 0024 C3F3CB33 ubfx r3, r3, #15, #12 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 208 .loc 1 3499 23 view .LVU49 209 0028 09FB03F3 mul r3, r9, r3 3499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 210 .loc 1 3499 9 view .LVU50 211 002c 0193 str r3, [sp, #4] 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 212 .loc 1 3501 3 is_stmt 1 view .LVU51 213 .LVL7: 214 .L12: 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 215 .loc 1 3501 9 view .LVU52 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 216 .loc 1 3501 11 is_stmt 0 view .LVU53 217 002e 2B68 ldr r3, [r5] 218 0030 9C68 ldr r4, [r3, #8] 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 219 .loc 1 3501 48 view .LVU54 220 0032 38EA0403 bics r3, r8, r4 221 0036 0CBF ite eq 222 0038 4FF0010C moveq ip, #1 223 003c 4FF0000C movne ip, #0 3501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 224 .loc 1 3501 9 view .LVU55 225 0040 BC45 cmp ip, r7 226 0042 40D0 beq .L22 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 227 .loc 1 3503 5 is_stmt 1 view .LVU56 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 74 3503:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 228 .loc 1 3503 8 is_stmt 0 view .LVU57 229 0044 B6F1FF3F cmp r6, #-1 230 0048 F1D0 beq .L12 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 231 .loc 1 3505 7 is_stmt 1 view .LVU58 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 232 .loc 1 3505 13 is_stmt 0 view .LVU59 233 004a FFF7FEFF bl HAL_GetTick 234 .LVL8: 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 235 .loc 1 3505 27 view .LVU60 236 004e A0EB0A00 sub r0, r0, r10 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 237 .loc 1 3505 10 view .LVU61 238 0052 4845 cmp r0, r9 239 0054 0AD2 bcs .L13 3505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 240 .loc 1 3505 60 discriminator 1 view .LVU62 241 0056 B9F1000F cmp r9, #0 242 005a 07D0 beq .L13 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 243 .loc 1 3535 7 is_stmt 1 view .LVU63 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 244 .loc 1 3535 17 is_stmt 0 view .LVU64 245 005c 019A ldr r2, [sp, #4] 3535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 246 .loc 1 3535 10 view .LVU65 247 005e 02B1 cbz r2, .L19 248 0060 4A46 mov r2, r9 249 .L19: 250 .LVL9: 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 251 .loc 1 3539 7 is_stmt 1 view .LVU66 3539:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 252 .loc 1 3539 12 is_stmt 0 view .LVU67 253 0062 019B ldr r3, [sp, #4] 254 0064 013B subs r3, r3, #1 255 0066 0193 str r3, [sp, #4] 256 0068 9146 mov r9, r2 257 006a E0E7 b .L12 258 .LVL10: 259 .L13: 3512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 260 .loc 1 3512 9 is_stmt 1 view .LVU68 261 006c 2A68 ldr r2, [r5] 262 006e 5368 ldr r3, [r2, #4] 263 0070 23F0E003 bic r3, r3, #224 264 0074 5360 str r3, [r2, #4] 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 265 .loc 1 3514 9 view .LVU69 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 266 .loc 1 3514 24 is_stmt 0 view .LVU70 267 0076 6B68 ldr r3, [r5, #4] 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 268 .loc 1 3514 12 view .LVU71 269 0078 B3F5827F cmp r3, #260 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 75 270 007c 0BD0 beq .L23 271 .L15: 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 272 .loc 1 3522 9 is_stmt 1 view .LVU72 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 273 .loc 1 3522 23 is_stmt 0 view .LVU73 274 007e AB6A ldr r3, [r5, #40] 3522:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 275 .loc 1 3522 12 view .LVU74 276 0080 B3F5005F cmp r3, #8192 277 0084 14D0 beq .L24 278 .L17: 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 279 .loc 1 3524 11 is_stmt 1 discriminator 1 view .LVU75 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 280 .loc 1 3527 9 discriminator 1 view .LVU76 3527:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 281 .loc 1 3527 21 is_stmt 0 discriminator 1 view .LVU77 282 0086 0123 movs r3, #1 283 0088 85F85130 strb r3, [r5, #81] 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 284 .loc 1 3530 9 is_stmt 1 discriminator 1 view .LVU78 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 285 .loc 1 3530 9 discriminator 1 view .LVU79 286 008c 0023 movs r3, #0 287 008e 85F85030 strb r3, [r5, #80] 3530:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 288 .loc 1 3530 9 discriminator 1 view .LVU80 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 289 .loc 1 3532 9 discriminator 1 view .LVU81 3532:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 290 .loc 1 3532 16 is_stmt 0 discriminator 1 view .LVU82 291 0092 0320 movs r0, #3 292 0094 18E0 b .L18 293 .L23: 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 294 .loc 1 3514 65 discriminator 1 view .LVU83 295 0096 AB68 ldr r3, [r5, #8] 3514:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LIN 296 .loc 1 3514 50 discriminator 1 view .LVU84 297 0098 B3F5004F cmp r3, #32768 298 009c 02D0 beq .L16 3515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 299 .loc 1 3515 54 view .LVU85 300 009e B3F5806F cmp r3, #1024 301 00a2 ECD1 bne .L15 302 .L16: 3518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 303 .loc 1 3518 11 is_stmt 1 view .LVU86 304 00a4 2A68 ldr r2, [r5] 305 00a6 1368 ldr r3, [r2] 306 00a8 23F04003 bic r3, r3, #64 307 00ac 1360 str r3, [r2] 308 00ae E6E7 b .L15 309 .L24: 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 310 .loc 1 3524 11 view .LVU87 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 76 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 311 .loc 1 3524 11 view .LVU88 312 00b0 2A68 ldr r2, [r5] 313 00b2 1368 ldr r3, [r2] 314 00b4 23F40053 bic r3, r3, #8192 315 00b8 1360 str r3, [r2] 3524:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 316 .loc 1 3524 11 view .LVU89 317 00ba 2A68 ldr r2, [r5] 318 00bc 1368 ldr r3, [r2] 319 00be 43F40053 orr r3, r3, #8192 320 00c2 1360 str r3, [r2] 321 00c4 DFE7 b .L17 322 .L22: 3543:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 323 .loc 1 3543 10 is_stmt 0 view .LVU90 324 00c6 0020 movs r0, #0 325 .L18: 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 326 .loc 1 3544 1 view .LVU91 327 00c8 02B0 add sp, sp, #8 328 .LCFI4: 329 .cfi_def_cfa_offset 32 330 @ sp needed 331 00ca BDE8F087 pop {r4, r5, r6, r7, r8, r9, r10, pc} 332 .LVL11: 333 .L26: 3544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 334 .loc 1 3544 1 view .LVU92 335 00ce 00BF .align 2 336 .L25: 337 00d0 00000000 .word SystemCoreClock 338 .cfi_endproc 339 .LFE286: 341 .section .text.SPI_EndRxTxTransaction,"ax",%progbits 342 .align 1 343 .syntax unified 344 .thumb 345 .thumb_func 347 SPI_EndRxTxTransaction: 348 .LVL12: 349 .LFB288: 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag */ 350 .loc 1 3605 1 is_stmt 1 view -0 351 .cfi_startproc 352 @ args = 0, pretend = 0, frame = 8 353 @ frame_needed = 0, uses_anonymous_args = 0 3605:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait until TXE flag */ 354 .loc 1 3605 1 is_stmt 0 view .LVU94 355 0000 70B5 push {r4, r5, r6, lr} 356 .LCFI5: 357 .cfi_def_cfa_offset 16 358 .cfi_offset 4, -16 359 .cfi_offset 5, -12 360 .cfi_offset 6, -8 361 .cfi_offset 14, -4 362 0002 84B0 sub sp, sp, #16 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 77 363 .LCFI6: 364 .cfi_def_cfa_offset 32 365 0004 0446 mov r4, r0 366 0006 0D46 mov r5, r1 367 0008 1646 mov r6, r2 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 368 .loc 1 3607 3 is_stmt 1 view .LVU95 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 369 .loc 1 3607 6 is_stmt 0 view .LVU96 370 000a 0092 str r2, [sp] 371 000c 0B46 mov r3, r1 372 000e 0122 movs r2, #1 373 .LVL13: 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 374 .loc 1 3607 6 view .LVU97 375 0010 0221 movs r1, #2 376 .LVL14: 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 377 .loc 1 3607 6 view .LVU98 378 0012 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout 379 .LVL15: 3607:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 380 .loc 1 3607 5 view .LVU99 381 0016 D0B9 cbnz r0, .L32 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 382 .loc 1 3614 3 is_stmt 1 view .LVU100 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 383 .loc 1 3614 82 is_stmt 0 view .LVU101 384 0018 174B ldr r3, .L34 385 001a 1B68 ldr r3, [r3] 386 001c 174A ldr r2, .L34+4 387 001e A2FB0323 umull r2, r3, r2, r3 388 0022 5B0D lsrs r3, r3, #21 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 389 .loc 1 3614 57 view .LVU102 390 0024 4FF47A72 mov r2, #1000 391 0028 02FB03F3 mul r3, r2, r3 3614:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ 392 .loc 1 3614 17 view .LVU103 393 002c 0393 str r3, [sp, #12] 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 394 .loc 1 3616 3 is_stmt 1 view .LVU104 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 395 .loc 1 3616 17 is_stmt 0 view .LVU105 396 002e 6368 ldr r3, [r4, #4] 3616:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 397 .loc 1 3616 6 view .LVU106 398 0030 B3F5827F cmp r3, #260 399 0034 11D0 beq .L33 400 .L30: 3632:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 401 .loc 1 3632 5 is_stmt 1 view .LVU107 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 402 .loc 1 3634 7 view .LVU108 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 403 .loc 1 3634 17 is_stmt 0 view .LVU109 404 0036 039B ldr r3, [sp, #12] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 78 3634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 405 .loc 1 3634 10 view .LVU110 406 0038 3BB1 cbz r3, .L29 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 407 .loc 1 3638 7 is_stmt 1 view .LVU111 3638:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 408 .loc 1 3638 12 is_stmt 0 view .LVU112 409 003a 039B ldr r3, [sp, #12] 410 003c 013B subs r3, r3, #1 411 003e 0393 str r3, [sp, #12] 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 412 .loc 1 3639 13 is_stmt 1 view .LVU113 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 413 .loc 1 3639 14 is_stmt 0 view .LVU114 414 0040 2368 ldr r3, [r4] 415 0042 9B68 ldr r3, [r3, #8] 3639:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 416 .loc 1 3639 5 view .LVU115 417 0044 13F0800F tst r3, #128 418 0048 F5D1 bne .L30 419 .L29: 3643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 420 .loc 1 3643 1 view .LVU116 421 004a 04B0 add sp, sp, #16 422 .LCFI7: 423 .cfi_remember_state 424 .cfi_def_cfa_offset 16 425 @ sp needed 426 004c 70BD pop {r4, r5, r6, pc} 427 .LVL16: 428 .L32: 429 .LCFI8: 430 .cfi_restore_state 3609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 431 .loc 1 3609 5 is_stmt 1 view .LVU117 432 004e 636D ldr r3, [r4, #84] 433 0050 43F02003 orr r3, r3, #32 434 0054 6365 str r3, [r4, #84] 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 435 .loc 1 3610 5 view .LVU118 3610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 436 .loc 1 3610 12 is_stmt 0 view .LVU119 437 0056 0320 movs r0, #3 438 0058 F7E7 b .L29 439 .L33: 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 440 .loc 1 3619 5 is_stmt 1 view .LVU120 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 441 .loc 1 3619 9 is_stmt 0 view .LVU121 442 005a 0096 str r6, [sp] 443 005c 2B46 mov r3, r5 444 005e 0022 movs r2, #0 445 0060 8021 movs r1, #128 446 0062 2046 mov r0, r4 447 0064 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout 448 .LVL17: 3619:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 79 449 .loc 1 3619 8 view .LVU122 450 0068 0028 cmp r0, #0 451 006a EED0 beq .L29 3621:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 452 .loc 1 3621 7 is_stmt 1 view .LVU123 453 006c 636D ldr r3, [r4, #84] 454 006e 43F02003 orr r3, r3, #32 455 0072 6365 str r3, [r4, #84] 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 456 .loc 1 3622 7 view .LVU124 3622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 457 .loc 1 3622 14 is_stmt 0 view .LVU125 458 0074 0320 movs r0, #3 459 0076 E8E7 b .L29 460 .L35: 461 .align 2 462 .L34: 463 0078 00000000 .word SystemCoreClock 464 007c 819F5E16 .word 375299969 465 .cfi_endproc 466 .LFE288: 468 .section .text.SPI_EndRxTransaction,"ax",%progbits 469 .align 1 470 .syntax unified 471 .thumb 472 .thumb_func 474 SPI_EndRxTransaction: 475 .LVL18: 476 .LFB287: 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 477 .loc 1 3555 1 is_stmt 1 view -0 478 .cfi_startproc 479 @ args = 0, pretend = 0, frame = 0 480 @ frame_needed = 0, uses_anonymous_args = 0 3555:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 481 .loc 1 3555 1 is_stmt 0 view .LVU127 482 0000 10B5 push {r4, lr} 483 .LCFI9: 484 .cfi_def_cfa_offset 8 485 .cfi_offset 4, -8 486 .cfi_offset 14, -4 487 0002 82B0 sub sp, sp, #8 488 .LCFI10: 489 .cfi_def_cfa_offset 16 490 0004 0446 mov r4, r0 491 0006 0B46 mov r3, r1 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 492 .loc 1 3556 3 is_stmt 1 view .LVU128 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 493 .loc 1 3556 18 is_stmt 0 view .LVU129 494 0008 4168 ldr r1, [r0, #4] 495 .LVL19: 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 496 .loc 1 3556 6 view .LVU130 497 000a B1F5827F cmp r1, #260 498 000e 14D0 beq .L43 499 .LVL20: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 80 500 .L37: 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 501 .loc 1 3564 3 is_stmt 1 view .LVU131 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 502 .loc 1 3564 17 is_stmt 0 view .LVU132 503 0010 6168 ldr r1, [r4, #4] 3564:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 504 .loc 1 3564 6 view .LVU133 505 0012 B1F5827F cmp r1, #260 506 0016 2AD1 bne .L39 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 507 .loc 1 3566 5 is_stmt 1 view .LVU134 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 508 .loc 1 3566 19 is_stmt 0 view .LVU135 509 0018 A168 ldr r1, [r4, #8] 3566:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 510 .loc 1 3566 8 view .LVU136 511 001a B1F5806F cmp r1, #1024 512 001e 19D0 beq .L40 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 513 .loc 1 3569 7 is_stmt 1 view .LVU137 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 514 .loc 1 3569 11 is_stmt 0 view .LVU138 515 0020 0092 str r2, [sp] 516 0022 0022 movs r2, #0 517 .LVL21: 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 518 .loc 1 3569 11 view .LVU139 519 0024 8021 movs r1, #128 520 0026 2046 mov r0, r4 521 0028 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout 522 .LVL22: 3569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 523 .loc 1 3569 10 view .LVU140 524 002c 30B3 cbz r0, .L41 3571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 525 .loc 1 3571 9 is_stmt 1 view .LVU141 526 002e 636D ldr r3, [r4, #84] 527 0030 43F02003 orr r3, r3, #32 528 0034 6365 str r3, [r4, #84] 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 529 .loc 1 3572 9 view .LVU142 3572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 530 .loc 1 3572 16 is_stmt 0 view .LVU143 531 0036 0320 movs r0, #3 532 0038 20E0 b .L41 533 .LVL23: 534 .L43: 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 535 .loc 1 3556 59 discriminator 1 view .LVU144 536 003a 8168 ldr r1, [r0, #8] 3556:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXO 537 .loc 1 3556 44 discriminator 1 view .LVU145 538 003c B1F5004F cmp r1, #32768 539 0040 02D0 beq .L38 3557:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 540 .loc 1 3557 48 view .LVU146 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 81 541 0042 B1F5806F cmp r1, #1024 542 0046 E3D1 bne .L37 543 .L38: 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 544 .loc 1 3560 5 is_stmt 1 view .LVU147 545 0048 2068 ldr r0, [r4] 546 .LVL24: 3560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 547 .loc 1 3560 5 is_stmt 0 view .LVU148 548 004a 0168 ldr r1, [r0] 549 004c 21F04001 bic r1, r1, #64 550 0050 0160 str r1, [r0] 551 0052 DDE7 b .L37 552 .L40: 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 553 .loc 1 3578 7 is_stmt 1 view .LVU149 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 554 .loc 1 3578 11 is_stmt 0 view .LVU150 555 0054 0092 str r2, [sp] 556 0056 0022 movs r2, #0 557 .LVL25: 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 558 .loc 1 3578 11 view .LVU151 559 0058 0121 movs r1, #1 560 005a 2046 mov r0, r4 561 005c FFF7FEFF bl SPI_WaitFlagStateUntilTimeout 562 .LVL26: 3578:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 563 .loc 1 3578 10 view .LVU152 564 0060 60B1 cbz r0, .L41 3580:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 565 .loc 1 3580 9 is_stmt 1 view .LVU153 566 0062 636D ldr r3, [r4, #84] 567 0064 43F02003 orr r3, r3, #32 568 0068 6365 str r3, [r4, #84] 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 569 .loc 1 3581 9 view .LVU154 3581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 570 .loc 1 3581 16 is_stmt 0 view .LVU155 571 006a 0320 movs r0, #3 572 006c 06E0 b .L41 573 .LVL27: 574 .L39: 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 575 .loc 1 3588 5 is_stmt 1 view .LVU156 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 576 .loc 1 3588 9 is_stmt 0 view .LVU157 577 006e 0092 str r2, [sp] 578 0070 0022 movs r2, #0 579 .LVL28: 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 580 .loc 1 3588 9 view .LVU158 581 0072 0121 movs r1, #1 582 0074 2046 mov r0, r4 583 0076 FFF7FEFF bl SPI_WaitFlagStateUntilTimeout 584 .LVL29: 3588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 82 585 .loc 1 3588 8 view .LVU159 586 007a 08B9 cbnz r0, .L44 587 .L41: 3595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 588 .loc 1 3595 1 view .LVU160 589 007c 02B0 add sp, sp, #8 590 .LCFI11: 591 .cfi_remember_state 592 .cfi_def_cfa_offset 8 593 @ sp needed 594 007e 10BD pop {r4, pc} 595 .LVL30: 596 .L44: 597 .LCFI12: 598 .cfi_restore_state 3590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 599 .loc 1 3590 7 is_stmt 1 view .LVU161 600 0080 636D ldr r3, [r4, #84] 601 0082 43F02003 orr r3, r3, #32 602 0086 6365 str r3, [r4, #84] 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 603 .loc 1 3591 7 view .LVU162 3591:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 604 .loc 1 3591 14 is_stmt 0 view .LVU163 605 0088 0320 movs r0, #3 606 008a F7E7 b .L41 607 .cfi_endproc 608 .LFE287: 610 .section .text.HAL_SPI_MspInit,"ax",%progbits 611 .align 1 612 .weak HAL_SPI_MspInit 613 .syntax unified 614 .thumb 615 .thumb_func 617 HAL_SPI_MspInit: 618 .LVL31: 619 .LFB241: 482:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 620 .loc 1 482 1 is_stmt 1 view -0 621 .cfi_startproc 622 @ args = 0, pretend = 0, frame = 0 623 @ frame_needed = 0, uses_anonymous_args = 0 624 @ link register save eliminated. 484:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 625 .loc 1 484 3 view .LVU165 489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 626 .loc 1 489 1 is_stmt 0 view .LVU166 627 0000 7047 bx lr 628 .cfi_endproc 629 .LFE241: 631 .section .text.HAL_SPI_Init,"ax",%progbits 632 .align 1 633 .global HAL_SPI_Init 634 .syntax unified 635 .thumb 636 .thumb_func 638 HAL_SPI_Init: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 83 639 .LVL32: 640 .LFB239: 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 641 .loc 1 312 1 is_stmt 1 view -0 642 .cfi_startproc 643 @ args = 0, pretend = 0, frame = 0 644 @ frame_needed = 0, uses_anonymous_args = 0 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 645 .loc 1 314 3 view .LVU168 314:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 646 .loc 1 314 6 is_stmt 0 view .LVU169 647 0000 0028 cmp r0, #0 648 0002 5AD0 beq .L51 312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 649 .loc 1 312 1 view .LVU170 650 0004 10B5 push {r4, lr} 651 .LCFI13: 652 .cfi_def_cfa_offset 8 653 .cfi_offset 4, -8 654 .cfi_offset 14, -4 655 0006 0446 mov r4, r0 320:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_MODE(hspi->Init.Mode)); 656 .loc 1 320 3 is_stmt 1 view .LVU171 321:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DIRECTION(hspi->Init.Direction)); 657 .loc 1 321 3 view .LVU172 322:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DATASIZE(hspi->Init.DataSize)); 658 .loc 1 322 3 view .LVU173 323:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_NSS(hspi->Init.NSS)); 659 .loc 1 323 3 view .LVU174 324:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); 660 .loc 1 324 3 view .LVU175 325:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); 661 .loc 1 325 3 view .LVU176 326:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); 662 .loc 1 326 3 view .LVU177 327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) 663 .loc 1 327 3 view .LVU178 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 664 .loc 1 328 3 view .LVU179 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 665 .loc 1 328 17 is_stmt 0 view .LVU180 666 0008 436A ldr r3, [r0, #36] 328:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 667 .loc 1 328 6 view .LVU181 668 000a 33B9 cbnz r3, .L48 330:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); 669 .loc 1 330 5 is_stmt 1 view .LVU182 331:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 670 .loc 1 331 5 view .LVU183 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 671 .loc 1 333 5 view .LVU184 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 672 .loc 1 333 19 is_stmt 0 view .LVU185 673 000c 4368 ldr r3, [r0, #4] 333:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 674 .loc 1 333 8 view .LVU186 675 000e B3F5827F cmp r3, #260 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 84 676 0012 05D0 beq .L49 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 677 .loc 1 340 7 is_stmt 1 view .LVU187 340:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 678 .loc 1 340 36 is_stmt 0 view .LVU188 679 0014 0023 movs r3, #0 680 0016 C361 str r3, [r0, #28] 681 0018 02E0 b .L49 682 .L48: 345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 683 .loc 1 345 5 is_stmt 1 view .LVU189 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 684 .loc 1 348 5 view .LVU190 348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 685 .loc 1 348 28 is_stmt 0 view .LVU191 686 001a 0023 movs r3, #0 687 001c 0361 str r3, [r0, #16] 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 688 .loc 1 349 5 is_stmt 1 view .LVU192 349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 689 .loc 1 349 28 is_stmt 0 view .LVU193 690 001e 4361 str r3, [r0, #20] 691 .L49: 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 692 .loc 1 358 3 is_stmt 1 view .LVU194 358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_SPI_CRC */ 693 .loc 1 358 29 is_stmt 0 view .LVU195 694 0020 0023 movs r3, #0 695 0022 A362 str r3, [r4, #40] 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 696 .loc 1 361 3 is_stmt 1 view .LVU196 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 697 .loc 1 361 11 is_stmt 0 view .LVU197 698 0024 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 699 .loc 1 361 6 view .LVU198 700 0028 002B cmp r3, #0 701 002a 40D0 beq .L56 702 .LVL33: 703 .L50: 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 704 .loc 1 390 3 is_stmt 1 view .LVU199 390:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 705 .loc 1 390 15 is_stmt 0 view .LVU200 706 002c 0223 movs r3, #2 707 002e 84F85130 strb r3, [r4, #81] 393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 708 .loc 1 393 3 is_stmt 1 view .LVU201 709 0032 2268 ldr r2, [r4] 710 0034 1368 ldr r3, [r2] 711 0036 23F04003 bic r3, r3, #64 712 003a 1360 str r3, [r2] 398:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (hspi->Init.Direction & (SPI_CR1_RXONLY | SPI_CR1_BIDIMODE)) | 713 .loc 1 398 3 view .LVU202 714 003c 6368 ldr r3, [r4, #4] 715 003e 03F48273 and r3, r3, #260 716 0042 A268 ldr r2, [r4, #8] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 85 717 0044 02F40442 and r2, r2, #33792 718 0048 1343 orrs r3, r3, r2 719 004a E268 ldr r2, [r4, #12] 720 004c 02F40062 and r2, r2, #2048 721 0050 1343 orrs r3, r3, r2 722 0052 2269 ldr r2, [r4, #16] 723 0054 02F00202 and r2, r2, #2 724 0058 1343 orrs r3, r3, r2 725 005a 6269 ldr r2, [r4, #20] 726 005c 02F00102 and r2, r2, #1 727 0060 1343 orrs r3, r3, r2 728 0062 A269 ldr r2, [r4, #24] 729 0064 02F40072 and r2, r2, #512 730 0068 1343 orrs r3, r3, r2 731 006a E269 ldr r2, [r4, #28] 732 006c 02F03802 and r2, r2, #56 733 0070 1343 orrs r3, r3, r2 734 0072 226A ldr r2, [r4, #32] 735 0074 02F08002 and r2, r2, #128 736 0078 1343 orrs r3, r3, r2 737 007a A26A ldr r2, [r4, #40] 738 007c 02F40052 and r2, r2, #8192 739 0080 2168 ldr r1, [r4] 740 0082 1343 orrs r3, r3, r2 741 0084 0B60 str r3, [r1] 409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 742 .loc 1 409 3 view .LVU203 743 0086 638B ldrh r3, [r4, #26] 744 0088 03F00403 and r3, r3, #4 745 008c 626A ldr r2, [r4, #36] 746 008e 02F01002 and r2, r2, #16 747 0092 2168 ldr r1, [r4] 748 0094 1343 orrs r3, r3, r2 749 0096 4B60 str r3, [r1, #4] 422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* SPI_I2SCFGR_I2SMOD */ 750 .loc 1 422 3 view .LVU204 751 0098 2268 ldr r2, [r4] 752 009a D369 ldr r3, [r2, #28] 753 009c 23F40063 bic r3, r3, #2048 754 00a0 D361 str r3, [r2, #28] 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 755 .loc 1 425 3 view .LVU205 425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 756 .loc 1 425 19 is_stmt 0 view .LVU206 757 00a2 0020 movs r0, #0 758 00a4 6065 str r0, [r4, #84] 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 759 .loc 1 426 3 is_stmt 1 view .LVU207 426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 760 .loc 1 426 19 is_stmt 0 view .LVU208 761 00a6 0123 movs r3, #1 762 00a8 84F85130 strb r3, [r4, #81] 428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 763 .loc 1 428 3 is_stmt 1 view .LVU209 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 764 .loc 1 429 1 is_stmt 0 view .LVU210 765 00ac 10BD pop {r4, pc} ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 86 766 .LVL34: 767 .L56: 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 768 .loc 1 364 5 is_stmt 1 view .LVU211 364:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 769 .loc 1 364 16 is_stmt 0 view .LVU212 770 00ae 84F85030 strb r3, [r4, #80] 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 771 .loc 1 386 5 is_stmt 1 view .LVU213 772 00b2 2046 mov r0, r4 773 .LVL35: 386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 774 .loc 1 386 5 is_stmt 0 view .LVU214 775 00b4 FFF7FEFF bl HAL_SPI_MspInit 776 .LVL36: 777 00b8 B8E7 b .L50 778 .LVL37: 779 .L51: 780 .LCFI14: 781 .cfi_def_cfa_offset 0 782 .cfi_restore 4 783 .cfi_restore 14 316:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 784 .loc 1 316 12 view .LVU215 785 00ba 0120 movs r0, #1 786 .LVL38: 429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 787 .loc 1 429 1 view .LVU216 788 00bc 7047 bx lr 789 .cfi_endproc 790 .LFE239: 792 .section .text.HAL_SPI_MspDeInit,"ax",%progbits 793 .align 1 794 .weak HAL_SPI_MspDeInit 795 .syntax unified 796 .thumb 797 .thumb_func 799 HAL_SPI_MspDeInit: 800 .LVL39: 801 .LFB242: 498:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 802 .loc 1 498 1 is_stmt 1 view -0 803 .cfi_startproc 804 @ args = 0, pretend = 0, frame = 0 805 @ frame_needed = 0, uses_anonymous_args = 0 806 @ link register save eliminated. 500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 807 .loc 1 500 3 view .LVU218 505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 808 .loc 1 505 1 is_stmt 0 view .LVU219 809 0000 7047 bx lr 810 .cfi_endproc 811 .LFE242: 813 .section .text.HAL_SPI_DeInit,"ax",%progbits 814 .align 1 815 .global HAL_SPI_DeInit 816 .syntax unified ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 87 817 .thumb 818 .thumb_func 820 HAL_SPI_DeInit: 821 .LVL40: 822 .LFB240: 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 823 .loc 1 438 1 is_stmt 1 view -0 824 .cfi_startproc 825 @ args = 0, pretend = 0, frame = 0 826 @ frame_needed = 0, uses_anonymous_args = 0 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 827 .loc 1 440 3 view .LVU221 440:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 828 .loc 1 440 6 is_stmt 0 view .LVU222 829 0000 90B1 cbz r0, .L60 438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check the SPI handle allocation */ 830 .loc 1 438 1 view .LVU223 831 0002 10B5 push {r4, lr} 832 .LCFI15: 833 .cfi_def_cfa_offset 8 834 .cfi_offset 4, -8 835 .cfi_offset 14, -4 836 0004 0446 mov r4, r0 446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 837 .loc 1 446 3 is_stmt 1 view .LVU224 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 838 .loc 1 448 3 view .LVU225 448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 839 .loc 1 448 15 is_stmt 0 view .LVU226 840 0006 0223 movs r3, #2 841 0008 80F85130 strb r3, [r0, #81] 451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 842 .loc 1 451 3 is_stmt 1 view .LVU227 843 000c 0268 ldr r2, [r0] 844 000e 1368 ldr r3, [r2] 845 0010 23F04003 bic r3, r3, #64 846 0014 1360 str r3, [r2] 463:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 847 .loc 1 463 3 view .LVU228 848 0016 FFF7FEFF bl HAL_SPI_MspDeInit 849 .LVL41: 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET; 850 .loc 1 466 3 view .LVU229 466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_RESET; 851 .loc 1 466 19 is_stmt 0 view .LVU230 852 001a 0020 movs r0, #0 853 001c 6065 str r0, [r4, #84] 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 854 .loc 1 467 3 is_stmt 1 view .LVU231 467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 855 .loc 1 467 15 is_stmt 0 view .LVU232 856 001e 84F85100 strb r0, [r4, #81] 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 857 .loc 1 470 3 is_stmt 1 view .LVU233 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 858 .loc 1 470 3 view .LVU234 859 0022 84F85000 strb r0, [r4, #80] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 88 470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 860 .loc 1 470 3 view .LVU235 472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 861 .loc 1 472 3 view .LVU236 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 862 .loc 1 473 1 is_stmt 0 view .LVU237 863 0026 10BD pop {r4, pc} 864 .LVL42: 865 .L60: 866 .LCFI16: 867 .cfi_def_cfa_offset 0 868 .cfi_restore 4 869 .cfi_restore 14 442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 870 .loc 1 442 12 view .LVU238 871 0028 0120 movs r0, #1 872 .LVL43: 473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 873 .loc 1 473 1 view .LVU239 874 002a 7047 bx lr 875 .cfi_endproc 876 .LFE240: 878 .section .text.HAL_SPI_Transmit,"ax",%progbits 879 .align 1 880 .global HAL_SPI_Transmit 881 .syntax unified 882 .thumb 883 .thumb_func 885 HAL_SPI_Transmit: 886 .LVL44: 887 .LFB243: 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 888 .loc 1 770 1 is_stmt 1 view -0 889 .cfi_startproc 890 @ args = 0, pretend = 0, frame = 8 891 @ frame_needed = 0, uses_anonymous_args = 0 770:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 892 .loc 1 770 1 is_stmt 0 view .LVU241 893 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 894 .LCFI17: 895 .cfi_def_cfa_offset 28 896 .cfi_offset 4, -28 897 .cfi_offset 5, -24 898 .cfi_offset 6, -20 899 .cfi_offset 7, -16 900 .cfi_offset 8, -12 901 .cfi_offset 9, -8 902 .cfi_offset 14, -4 903 0004 83B0 sub sp, sp, #12 904 .LCFI18: 905 .cfi_def_cfa_offset 40 906 0006 0446 mov r4, r0 907 0008 8946 mov r9, r1 908 000a 9046 mov r8, r2 909 000c 1D46 mov r5, r3 771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t initial_TxXferCount; 910 .loc 1 771 3 is_stmt 1 view .LVU242 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 89 772:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 911 .loc 1 772 3 view .LVU243 775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 912 .loc 1 775 3 view .LVU244 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 913 .loc 1 778 3 view .LVU245 778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 914 .loc 1 778 15 is_stmt 0 view .LVU246 915 000e FFF7FEFF bl HAL_GetTick 916 .LVL45: 779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 917 .loc 1 779 3 is_stmt 1 view .LVU247 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 918 .loc 1 781 3 view .LVU248 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 919 .loc 1 781 11 is_stmt 0 view .LVU249 920 0012 94F85160 ldrb r6, [r4, #81] @ zero_extendqisi2 921 0016 F6B2 uxtb r6, r6 781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 922 .loc 1 781 6 view .LVU250 923 0018 012E cmp r6, #1 924 001a 40F0CC80 bne .L89 925 001e 0746 mov r7, r0 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 926 .loc 1 786 3 is_stmt 1 view .LVU251 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 927 .loc 1 786 6 is_stmt 0 view .LVU252 928 0020 B9F1000F cmp r9, #0 929 0024 00F0C880 beq .L66 786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 930 .loc 1 786 23 discriminator 1 view .LVU253 931 0028 B8F1000F cmp r8, #0 932 002c 00F0C480 beq .L66 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 933 .loc 1 792 3 is_stmt 1 view .LVU254 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 934 .loc 1 792 3 view .LVU255 935 0030 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2 936 0034 012B cmp r3, #1 937 0036 00F0C380 beq .L90 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 938 .loc 1 792 3 discriminator 2 view .LVU256 939 003a 0123 movs r3, #1 940 003c 84F85030 strb r3, [r4, #80] 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 941 .loc 1 792 3 discriminator 2 view .LVU257 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 942 .loc 1 795 3 discriminator 2 view .LVU258 795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 943 .loc 1 795 21 is_stmt 0 discriminator 2 view .LVU259 944 0040 0323 movs r3, #3 945 0042 84F85130 strb r3, [r4, #81] 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 946 .loc 1 796 3 is_stmt 1 discriminator 2 view .LVU260 796:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 947 .loc 1 796 21 is_stmt 0 discriminator 2 view .LVU261 948 0046 0023 movs r3, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 90 949 0048 6365 str r3, [r4, #84] 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 950 .loc 1 797 3 is_stmt 1 discriminator 2 view .LVU262 797:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 951 .loc 1 797 21 is_stmt 0 discriminator 2 view .LVU263 952 004a C4F83090 str r9, [r4, #48] 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 953 .loc 1 798 3 is_stmt 1 discriminator 2 view .LVU264 798:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 954 .loc 1 798 21 is_stmt 0 discriminator 2 view .LVU265 955 004e A4F83480 strh r8, [r4, #52] @ movhi 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 956 .loc 1 799 3 is_stmt 1 discriminator 2 view .LVU266 799:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 957 .loc 1 799 21 is_stmt 0 discriminator 2 view .LVU267 958 0052 A4F83680 strh r8, [r4, #54] @ movhi 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 959 .loc 1 802 3 is_stmt 1 discriminator 2 view .LVU268 802:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 960 .loc 1 802 21 is_stmt 0 discriminator 2 view .LVU269 961 0056 A363 str r3, [r4, #56] 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 962 .loc 1 803 3 is_stmt 1 discriminator 2 view .LVU270 803:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 963 .loc 1 803 21 is_stmt 0 discriminator 2 view .LVU271 964 0058 A387 strh r3, [r4, #60] @ movhi 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 965 .loc 1 804 3 is_stmt 1 discriminator 2 view .LVU272 804:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 966 .loc 1 804 21 is_stmt 0 discriminator 2 view .LVU273 967 005a E387 strh r3, [r4, #62] @ movhi 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 968 .loc 1 805 3 is_stmt 1 discriminator 2 view .LVU274 805:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 969 .loc 1 805 21 is_stmt 0 discriminator 2 view .LVU275 970 005c 6364 str r3, [r4, #68] 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 971 .loc 1 806 3 is_stmt 1 discriminator 2 view .LVU276 806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 972 .loc 1 806 21 is_stmt 0 discriminator 2 view .LVU277 973 005e 2364 str r3, [r4, #64] 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 974 .loc 1 809 3 is_stmt 1 discriminator 2 view .LVU278 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 975 .loc 1 809 17 is_stmt 0 discriminator 2 view .LVU279 976 0060 A368 ldr r3, [r4, #8] 809:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 977 .loc 1 809 6 discriminator 2 view .LVU280 978 0062 B3F5004F cmp r3, #32768 979 0066 1ED0 beq .L93 980 .L67: 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 981 .loc 1 825 3 is_stmt 1 view .LVU281 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 982 .loc 1 825 12 is_stmt 0 view .LVU282 983 0068 2368 ldr r3, [r4] 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 91 984 .loc 1 825 22 view .LVU283 985 006a 1A68 ldr r2, [r3] 825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 986 .loc 1 825 6 view .LVU284 987 006c 12F0400F tst r2, #64 988 0070 03D1 bne .L68 828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 989 .loc 1 828 5 is_stmt 1 view .LVU285 990 0072 1A68 ldr r2, [r3] 991 0074 42F04002 orr r2, r2, #64 992 0078 1A60 str r2, [r3] 993 .L68: 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 994 .loc 1 832 3 view .LVU286 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 995 .loc 1 832 17 is_stmt 0 view .LVU287 996 007a E368 ldr r3, [r4, #12] 832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 997 .loc 1 832 6 view .LVU288 998 007c B3F5006F cmp r3, #2048 999 0080 1CD0 beq .L94 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1000 .loc 1 865 5 is_stmt 1 view .LVU289 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1001 .loc 1 865 20 is_stmt 0 view .LVU290 1002 0082 6368 ldr r3, [r4, #4] 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1003 .loc 1 865 8 view .LVU291 1004 0084 13B1 cbz r3, .L79 865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1005 .loc 1 865 45 discriminator 1 view .LVU292 1006 0086 B8F1010F cmp r8, #1 1007 008a 5FD1 bne .L81 1008 .L79: 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1009 .loc 1 867 7 is_stmt 1 view .LVU293 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1010 .loc 1 867 71 is_stmt 0 view .LVU294 1011 008c 226B ldr r2, [r4, #48] 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1012 .loc 1 867 30 view .LVU295 1013 008e 2368 ldr r3, [r4] 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1014 .loc 1 867 48 view .LVU296 1015 0090 1278 ldrb r2, [r2] @ zero_extendqisi2 867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1016 .loc 1 867 46 view .LVU297 1017 0092 1A73 strb r2, [r3, #12] 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1018 .loc 1 868 7 is_stmt 1 view .LVU298 868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1019 .loc 1 868 24 is_stmt 0 view .LVU299 1020 0094 236B ldr r3, [r4, #48] 1021 0096 0133 adds r3, r3, #1 1022 0098 2363 str r3, [r4, #48] 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1023 .loc 1 869 7 is_stmt 1 view .LVU300 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 92 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1024 .loc 1 869 11 is_stmt 0 view .LVU301 1025 009a E38E ldrh r3, [r4, #54] 1026 009c 9BB2 uxth r3, r3 869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1027 .loc 1 869 24 view .LVU302 1028 009e 013B subs r3, r3, #1 1029 00a0 9BB2 uxth r3, r3 1030 00a2 E386 strh r3, [r4, #54] @ movhi 1031 00a4 52E0 b .L81 1032 .L93: 812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 1033 .loc 1 812 5 is_stmt 1 view .LVU303 1034 00a6 2268 ldr r2, [r4] 1035 00a8 1368 ldr r3, [r2] 1036 00aa 23F04003 bic r3, r3, #64 1037 00ae 1360 str r3, [r2] 813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1038 .loc 1 813 5 view .LVU304 1039 00b0 2268 ldr r2, [r4] 1040 00b2 1368 ldr r3, [r2] 1041 00b4 43F48043 orr r3, r3, #16384 1042 00b8 1360 str r3, [r2] 1043 00ba D5E7 b .L67 1044 .L94: 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1045 .loc 1 834 5 view .LVU305 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1046 .loc 1 834 20 is_stmt 0 view .LVU306 1047 00bc 6368 ldr r3, [r4, #4] 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1048 .loc 1 834 8 view .LVU307 1049 00be 13B1 cbz r3, .L70 834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1050 .loc 1 834 45 discriminator 1 view .LVU308 1051 00c0 B8F1010F cmp r8, #1 1052 00c4 15D1 bne .L72 1053 .L70: 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1054 .loc 1 836 7 is_stmt 1 view .LVU309 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1055 .loc 1 836 52 is_stmt 0 view .LVU310 1056 00c6 226B ldr r2, [r4, #48] 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1057 .loc 1 836 11 view .LVU311 1058 00c8 2368 ldr r3, [r4] 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1059 .loc 1 836 28 view .LVU312 1060 00ca 1288 ldrh r2, [r2] 836:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1061 .loc 1 836 26 view .LVU313 1062 00cc DA60 str r2, [r3, #12] 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1063 .loc 1 837 7 is_stmt 1 view .LVU314 837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1064 .loc 1 837 24 is_stmt 0 view .LVU315 1065 00ce 236B ldr r3, [r4, #48] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 93 1066 00d0 0233 adds r3, r3, #2 1067 00d2 2363 str r3, [r4, #48] 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1068 .loc 1 838 7 is_stmt 1 view .LVU316 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1069 .loc 1 838 11 is_stmt 0 view .LVU317 1070 00d4 E38E ldrh r3, [r4, #54] 1071 00d6 9BB2 uxth r3, r3 838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1072 .loc 1 838 24 view .LVU318 1073 00d8 013B subs r3, r3, #1 1074 00da 9BB2 uxth r3, r3 1075 00dc E386 strh r3, [r4, #54] @ movhi 1076 00de 08E0 b .L72 1077 .LVL46: 1078 .L73: 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1079 .loc 1 853 9 is_stmt 1 view .LVU319 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1080 .loc 1 853 16 is_stmt 0 view .LVU320 1081 00e0 FFF7FEFF bl HAL_GetTick 1082 .LVL47: 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1083 .loc 1 853 30 view .LVU321 1084 00e4 C01B subs r0, r0, r7 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1085 .loc 1 853 12 view .LVU322 1086 00e6 A842 cmp r0, r5 1087 00e8 02D3 bcc .L75 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1088 .loc 1 853 56 discriminator 1 view .LVU323 1089 00ea B5F1FF3F cmp r5, #-1 1090 00ee 15D1 bne .L76 1091 .L75: 853:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1092 .loc 1 853 87 discriminator 3 view .LVU324 1093 00f0 A5B1 cbz r5, .L76 1094 .L72: 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1095 .loc 1 841 11 is_stmt 1 view .LVU325 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1096 .loc 1 841 16 is_stmt 0 view .LVU326 1097 00f2 E38E ldrh r3, [r4, #54] 1098 00f4 9BB2 uxth r3, r3 841:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1099 .loc 1 841 11 view .LVU327 1100 00f6 002B cmp r3, #0 1101 00f8 42D0 beq .L78 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1102 .loc 1 844 7 is_stmt 1 view .LVU328 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1103 .loc 1 844 11 is_stmt 0 view .LVU329 1104 00fa 2368 ldr r3, [r4] 1105 00fc 9A68 ldr r2, [r3, #8] 844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1106 .loc 1 844 10 view .LVU330 1107 00fe 12F0020F tst r2, #2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 94 1108 0102 EDD0 beq .L73 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1109 .loc 1 846 9 is_stmt 1 view .LVU331 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1110 .loc 1 846 54 is_stmt 0 view .LVU332 1111 0104 226B ldr r2, [r4, #48] 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1112 .loc 1 846 30 view .LVU333 1113 0106 1288 ldrh r2, [r2] 846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1114 .loc 1 846 28 view .LVU334 1115 0108 DA60 str r2, [r3, #12] 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1116 .loc 1 847 9 is_stmt 1 view .LVU335 847:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1117 .loc 1 847 26 is_stmt 0 view .LVU336 1118 010a 236B ldr r3, [r4, #48] 1119 010c 0233 adds r3, r3, #2 1120 010e 2363 str r3, [r4, #48] 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1121 .loc 1 848 9 is_stmt 1 view .LVU337 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1122 .loc 1 848 13 is_stmt 0 view .LVU338 1123 0110 E38E ldrh r3, [r4, #54] 1124 0112 9BB2 uxth r3, r3 848:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1125 .loc 1 848 26 view .LVU339 1126 0114 013B subs r3, r3, #1 1127 0116 9BB2 uxth r3, r3 1128 0118 E386 strh r3, [r4, #54] @ movhi 1129 011a EAE7 b .L72 1130 .L76: 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1131 .loc 1 855 11 is_stmt 1 view .LVU340 855:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1132 .loc 1 855 23 is_stmt 0 view .LVU341 1133 011c 0123 movs r3, #1 1134 011e 84F85130 strb r3, [r4, #81] 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1135 .loc 1 856 11 is_stmt 1 view .LVU342 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1136 .loc 1 856 11 view .LVU343 1137 0122 0023 movs r3, #0 1138 0124 84F85030 strb r3, [r4, #80] 856:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1139 .loc 1 856 11 view .LVU344 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1140 .loc 1 857 11 view .LVU345 857:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1141 .loc 1 857 18 is_stmt 0 view .LVU346 1142 0128 0326 movs r6, #3 1143 012a 45E0 b .L66 1144 .L95: 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1145 .loc 1 876 9 is_stmt 1 view .LVU347 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1146 .loc 1 876 73 is_stmt 0 view .LVU348 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 95 1147 012c 226B ldr r2, [r4, #48] 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1148 .loc 1 876 50 view .LVU349 1149 012e 1278 ldrb r2, [r2] @ zero_extendqisi2 876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1150 .loc 1 876 48 view .LVU350 1151 0130 1A73 strb r2, [r3, #12] 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1152 .loc 1 877 9 is_stmt 1 view .LVU351 877:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1153 .loc 1 877 26 is_stmt 0 view .LVU352 1154 0132 236B ldr r3, [r4, #48] 1155 0134 0133 adds r3, r3, #1 1156 0136 2363 str r3, [r4, #48] 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1157 .loc 1 878 9 is_stmt 1 view .LVU353 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1158 .loc 1 878 13 is_stmt 0 view .LVU354 1159 0138 B4F836C0 ldrh ip, [r4, #54] 1160 013c 1FFA8CFC uxth ip, ip 878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1161 .loc 1 878 26 view .LVU355 1162 0140 0CF1FF3C add ip, ip, #-1 1163 0144 1FFA8CFC uxth ip, ip 1164 0148 A4F836C0 strh ip, [r4, #54] @ movhi 1165 .L81: 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1166 .loc 1 871 11 is_stmt 1 view .LVU356 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1167 .loc 1 871 16 is_stmt 0 view .LVU357 1168 014c E38E ldrh r3, [r4, #54] 1169 014e 9BB2 uxth r3, r3 871:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1170 .loc 1 871 11 view .LVU358 1171 0150 B3B1 cbz r3, .L78 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1172 .loc 1 874 7 is_stmt 1 view .LVU359 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1173 .loc 1 874 11 is_stmt 0 view .LVU360 1174 0152 2368 ldr r3, [r4] 1175 0154 9A68 ldr r2, [r3, #8] 874:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1176 .loc 1 874 10 view .LVU361 1177 0156 12F0020F tst r2, #2 1178 015a E7D1 bne .L95 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1179 .loc 1 883 9 is_stmt 1 view .LVU362 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1180 .loc 1 883 16 is_stmt 0 view .LVU363 1181 015c FFF7FEFF bl HAL_GetTick 1182 .LVL48: 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1183 .loc 1 883 30 view .LVU364 1184 0160 C01B subs r0, r0, r7 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1185 .loc 1 883 12 view .LVU365 1186 0162 A842 cmp r0, r5 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 96 1187 0164 02D3 bcc .L84 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1188 .loc 1 883 56 discriminator 1 view .LVU366 1189 0166 B5F1FF3F cmp r5, #-1 1190 016a 01D1 bne .L85 1191 .L84: 883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1192 .loc 1 883 87 discriminator 3 view .LVU367 1193 016c 002D cmp r5, #0 1194 016e EDD1 bne .L81 1195 .L85: 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1196 .loc 1 885 11 is_stmt 1 view .LVU368 885:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1197 .loc 1 885 23 is_stmt 0 view .LVU369 1198 0170 0123 movs r3, #1 1199 0172 84F85130 strb r3, [r4, #81] 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1200 .loc 1 886 11 is_stmt 1 view .LVU370 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1201 .loc 1 886 11 view .LVU371 1202 0176 0023 movs r3, #0 1203 0178 84F85030 strb r3, [r4, #80] 886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1204 .loc 1 886 11 view .LVU372 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1205 .loc 1 887 11 view .LVU373 887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1206 .loc 1 887 18 is_stmt 0 view .LVU374 1207 017c 0326 movs r6, #3 1208 017e 1BE0 b .L66 1209 .L78: 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1210 .loc 1 901 3 is_stmt 1 view .LVU375 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1211 .loc 1 901 7 is_stmt 0 view .LVU376 1212 0180 3A46 mov r2, r7 1213 0182 2946 mov r1, r5 1214 0184 2046 mov r0, r4 1215 0186 FFF7FEFF bl SPI_EndRxTxTransaction 1216 .LVL49: 901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1217 .loc 1 901 6 view .LVU377 1218 018a 08B1 cbz r0, .L87 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1219 .loc 1 903 5 is_stmt 1 view .LVU378 903:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1220 .loc 1 903 21 is_stmt 0 view .LVU379 1221 018c 2023 movs r3, #32 1222 018e 6365 str r3, [r4, #84] 1223 .L87: 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1224 .loc 1 907 3 is_stmt 1 view .LVU380 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1225 .loc 1 907 17 is_stmt 0 view .LVU381 1226 0190 A368 ldr r3, [r4, #8] 907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 97 1227 .loc 1 907 6 view .LVU382 1228 0192 33B9 cbnz r3, .L88 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1229 .loc 1 909 5 is_stmt 1 view .LVU383 1230 .LBB2: 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1231 .loc 1 909 5 view .LVU384 1232 0194 0193 str r3, [sp, #4] 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1233 .loc 1 909 5 view .LVU385 1234 0196 2368 ldr r3, [r4] 1235 0198 DA68 ldr r2, [r3, #12] 1236 019a 0192 str r2, [sp, #4] 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1237 .loc 1 909 5 view .LVU386 1238 019c 9B68 ldr r3, [r3, #8] 1239 019e 0193 str r3, [sp, #4] 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1240 .loc 1 909 5 view .LVU387 1241 01a0 019B ldr r3, [sp, #4] 1242 .L88: 1243 .LBE2: 909:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1244 .loc 1 909 5 discriminator 1 view .LVU388 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1245 .loc 1 912 3 discriminator 1 view .LVU389 912:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 1246 .loc 1 912 15 is_stmt 0 discriminator 1 view .LVU390 1247 01a2 0123 movs r3, #1 1248 01a4 84F85130 strb r3, [r4, #81] 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1249 .loc 1 914 3 is_stmt 1 discriminator 1 view .LVU391 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1250 .loc 1 914 3 discriminator 1 view .LVU392 1251 01a8 0023 movs r3, #0 1252 01aa 84F85030 strb r3, [r4, #80] 914:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1253 .loc 1 914 3 discriminator 1 view .LVU393 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1254 .loc 1 916 3 discriminator 1 view .LVU394 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1255 .loc 1 916 11 is_stmt 0 discriminator 1 view .LVU395 1256 01ae 636D ldr r3, [r4, #84] 916:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1257 .loc 1 916 6 discriminator 1 view .LVU396 1258 01b0 13B9 cbnz r3, .L66 922:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1259 .loc 1 922 12 view .LVU397 1260 01b2 0026 movs r6, #0 1261 01b4 00E0 b .L66 1262 .LVL50: 1263 .L89: 783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1264 .loc 1 783 12 view .LVU398 1265 01b6 0226 movs r6, #2 1266 .LVL51: 1267 .L66: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 98 924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1268 .loc 1 924 1 view .LVU399 1269 01b8 3046 mov r0, r6 1270 01ba 03B0 add sp, sp, #12 1271 .LCFI19: 1272 .cfi_remember_state 1273 .cfi_def_cfa_offset 28 1274 @ sp needed 1275 01bc BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 1276 .LVL52: 1277 .L90: 1278 .LCFI20: 1279 .cfi_restore_state 792:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1280 .loc 1 792 3 view .LVU400 1281 01c0 0226 movs r6, #2 1282 01c2 F9E7 b .L66 1283 .cfi_endproc 1284 .LFE243: 1286 .section .text.HAL_SPI_TransmitReceive,"ax",%progbits 1287 .align 1 1288 .global HAL_SPI_TransmitReceive 1289 .syntax unified 1290 .thumb 1291 .thumb_func 1293 HAL_SPI_TransmitReceive: 1294 .LVL53: 1295 .LFB245: 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t initial_TxXferCount; 1296 .loc 1 1137 1 is_stmt 1 view -0 1297 .cfi_startproc 1298 @ args = 4, pretend = 0, frame = 8 1299 @ frame_needed = 0, uses_anonymous_args = 0 1137:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint16_t initial_TxXferCount; 1300 .loc 1 1137 1 is_stmt 0 view .LVU402 1301 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 1302 .LCFI21: 1303 .cfi_def_cfa_offset 28 1304 .cfi_offset 4, -28 1305 .cfi_offset 5, -24 1306 .cfi_offset 6, -20 1307 .cfi_offset 7, -16 1308 .cfi_offset 8, -12 1309 .cfi_offset 9, -8 1310 .cfi_offset 14, -4 1311 0004 83B0 sub sp, sp, #12 1312 .LCFI22: 1313 .cfi_def_cfa_offset 40 1314 0006 0446 mov r4, r0 1315 0008 8846 mov r8, r1 1316 000a 9146 mov r9, r2 1317 000c 1F46 mov r7, r3 1318 000e 0A9D ldr r5, [sp, #40] 1138:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 1319 .loc 1 1138 3 is_stmt 1 view .LVU403 1139:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 1320 .loc 1 1139 3 view .LVU404 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 99 1140:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 1321 .loc 1 1140 3 view .LVU405 1141:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1322 .loc 1 1141 3 view .LVU406 1147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1323 .loc 1 1147 3 view .LVU407 1324 .LVL54: 1150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1325 .loc 1 1150 3 view .LVU408 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1326 .loc 1 1153 3 view .LVU409 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1327 .loc 1 1153 15 is_stmt 0 view .LVU410 1328 0010 FFF7FEFF bl HAL_GetTick 1329 .LVL55: 1153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1330 .loc 1 1153 15 view .LVU411 1331 0014 0646 mov r6, r0 1332 .LVL56: 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 1333 .loc 1 1156 3 is_stmt 1 view .LVU412 1156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 1334 .loc 1 1156 23 is_stmt 0 view .LVU413 1335 0016 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 1336 001a DBB2 uxtb r3, r3 1337 .LVL57: 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 1338 .loc 1 1157 3 is_stmt 1 view .LVU414 1157:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** initial_TxXferCount = Size; 1339 .loc 1 1157 23 is_stmt 0 view .LVU415 1340 001c 6268 ldr r2, [r4, #4] 1341 .LVL58: 1158:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1342 .loc 1 1158 3 is_stmt 1 view .LVU416 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1343 .loc 1 1160 3 view .LVU417 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1344 .loc 1 1160 6 is_stmt 0 view .LVU418 1345 001e 012B cmp r3, #1 1346 0020 0AD0 beq .L97 1160:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 1347 .loc 1 1160 7 discriminator 1 view .LVU419 1348 0022 B2F5827F cmp r2, #260 1349 0026 40F00581 bne .L119 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1350 .loc 1 1161 54 view .LVU420 1351 002a A268 ldr r2, [r4, #8] 1352 .LVL59: 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1353 .loc 1 1161 40 view .LVU421 1354 002c 002A cmp r2, #0 1355 002e 40F00581 bne .L120 1161:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1356 .loc 1 1161 90 discriminator 1 view .LVU422 1357 0032 042B cmp r3, #4 1358 0034 40F00481 bne .L121 1359 .L97: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 100 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1360 .loc 1 1166 3 is_stmt 1 view .LVU423 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1361 .loc 1 1166 6 is_stmt 0 view .LVU424 1362 0038 B8F1000F cmp r8, #0 1363 003c 00F00281 beq .L122 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1364 .loc 1 1166 25 discriminator 1 view .LVU425 1365 0040 B9F1000F cmp r9, #0 1366 0044 00F00081 beq .L123 1166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1367 .loc 1 1166 46 discriminator 2 view .LVU426 1368 0048 002F cmp r7, #0 1369 004a 00F0FF80 beq .L124 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1370 .loc 1 1172 3 is_stmt 1 view .LVU427 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1371 .loc 1 1172 3 view .LVU428 1372 004e 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2 1373 .LVL60: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1374 .loc 1 1172 3 is_stmt 0 view .LVU429 1375 0052 012B cmp r3, #1 1376 0054 00F0FC80 beq .L125 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1377 .loc 1 1172 3 is_stmt 1 discriminator 2 view .LVU430 1378 0058 0123 movs r3, #1 1379 005a 84F85030 strb r3, [r4, #80] 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1380 .loc 1 1172 3 discriminator 2 view .LVU431 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1381 .loc 1 1175 3 discriminator 2 view .LVU432 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1382 .loc 1 1175 11 is_stmt 0 discriminator 2 view .LVU433 1383 005e 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 1384 0062 DBB2 uxtb r3, r3 1175:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1385 .loc 1 1175 6 discriminator 2 view .LVU434 1386 0064 042B cmp r3, #4 1387 0066 02D0 beq .L99 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1388 .loc 1 1177 5 is_stmt 1 view .LVU435 1177:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1389 .loc 1 1177 17 is_stmt 0 view .LVU436 1390 0068 0523 movs r3, #5 1391 006a 84F85130 strb r3, [r4, #81] 1392 .L99: 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 1393 .loc 1 1181 3 is_stmt 1 view .LVU437 1181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 1394 .loc 1 1181 21 is_stmt 0 view .LVU438 1395 006e 0023 movs r3, #0 1396 0070 6365 str r3, [r4, #84] 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1397 .loc 1 1182 3 is_stmt 1 view .LVU439 1182:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1398 .loc 1 1182 21 is_stmt 0 view .LVU440 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 101 1399 0072 C4F83890 str r9, [r4, #56] 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1400 .loc 1 1183 3 is_stmt 1 view .LVU441 1183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1401 .loc 1 1183 21 is_stmt 0 view .LVU442 1402 0076 E787 strh r7, [r4, #62] @ movhi 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 1403 .loc 1 1184 3 is_stmt 1 view .LVU443 1184:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 1404 .loc 1 1184 21 is_stmt 0 view .LVU444 1405 0078 A787 strh r7, [r4, #60] @ movhi 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1406 .loc 1 1185 3 is_stmt 1 view .LVU445 1185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 1407 .loc 1 1185 21 is_stmt 0 view .LVU446 1408 007a C4F83080 str r8, [r4, #48] 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1409 .loc 1 1186 3 is_stmt 1 view .LVU447 1186:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 1410 .loc 1 1186 21 is_stmt 0 view .LVU448 1411 007e E786 strh r7, [r4, #54] @ movhi 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1412 .loc 1 1187 3 is_stmt 1 view .LVU449 1187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1413 .loc 1 1187 21 is_stmt 0 view .LVU450 1414 0080 A786 strh r7, [r4, #52] @ movhi 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1415 .loc 1 1190 3 is_stmt 1 view .LVU451 1190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1416 .loc 1 1190 21 is_stmt 0 view .LVU452 1417 0082 2364 str r3, [r4, #64] 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1418 .loc 1 1191 3 is_stmt 1 view .LVU453 1191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1419 .loc 1 1191 21 is_stmt 0 view .LVU454 1420 0084 6364 str r3, [r4, #68] 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1421 .loc 1 1202 3 is_stmt 1 view .LVU455 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1422 .loc 1 1202 12 is_stmt 0 view .LVU456 1423 0086 2368 ldr r3, [r4] 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1424 .loc 1 1202 22 view .LVU457 1425 0088 1A68 ldr r2, [r3] 1202:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1426 .loc 1 1202 6 view .LVU458 1427 008a 12F0400F tst r2, #64 1428 008e 03D1 bne .L100 1205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1429 .loc 1 1205 5 is_stmt 1 view .LVU459 1430 0090 1A68 ldr r2, [r3] 1431 0092 42F04002 orr r2, r2, #64 1432 0096 1A60 str r2, [r3] 1433 .LVL61: 1434 .L100: 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1435 .loc 1 1209 3 view .LVU460 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 102 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1436 .loc 1 1209 17 is_stmt 0 view .LVU461 1437 0098 E368 ldr r3, [r4, #12] 1209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1438 .loc 1 1209 6 view .LVU462 1439 009a B3F5006F cmp r3, #2048 1440 009e 11D0 beq .L127 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1441 .loc 1 1266 5 is_stmt 1 view .LVU463 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1442 .loc 1 1266 20 is_stmt 0 view .LVU464 1443 00a0 6368 ldr r3, [r4, #4] 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1444 .loc 1 1266 8 view .LVU465 1445 00a2 0BB1 cbz r3, .L109 1266:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1446 .loc 1 1266 45 discriminator 1 view .LVU466 1447 00a4 012F cmp r7, #1 1448 00a6 0BD1 bne .L110 1449 .L109: 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1450 .loc 1 1268 7 is_stmt 1 view .LVU467 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1451 .loc 1 1268 71 is_stmt 0 view .LVU468 1452 00a8 226B ldr r2, [r4, #48] 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1453 .loc 1 1268 30 view .LVU469 1454 00aa 2368 ldr r3, [r4] 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1455 .loc 1 1268 48 view .LVU470 1456 00ac 1278 ldrb r2, [r2] @ zero_extendqisi2 1268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint8_t); 1457 .loc 1 1268 46 view .LVU471 1458 00ae 1A73 strb r2, [r3, #12] 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1459 .loc 1 1269 7 is_stmt 1 view .LVU472 1269:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1460 .loc 1 1269 24 is_stmt 0 view .LVU473 1461 00b0 236B ldr r3, [r4, #48] 1462 00b2 0133 adds r3, r3, #1 1463 00b4 2363 str r3, [r4, #48] 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1464 .loc 1 1270 7 is_stmt 1 view .LVU474 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1465 .loc 1 1270 11 is_stmt 0 view .LVU475 1466 00b6 E38E ldrh r3, [r4, #54] 1467 00b8 9BB2 uxth r3, r3 1270:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1468 .loc 1 1270 24 view .LVU476 1469 00ba 013B subs r3, r3, #1 1470 00bc 9BB2 uxth r3, r3 1471 00be E386 strh r3, [r4, #54] @ movhi 1472 .L110: 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1473 .loc 1 1307 19 view .LVU477 1474 00c0 0127 movs r7, #1 1475 .LVL62: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 103 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1476 .loc 1 1307 19 view .LVU478 1477 00c2 71E0 b .L115 1478 .LVL63: 1479 .L127: 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1480 .loc 1 1211 5 is_stmt 1 view .LVU479 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1481 .loc 1 1211 20 is_stmt 0 view .LVU480 1482 00c4 6368 ldr r3, [r4, #4] 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1483 .loc 1 1211 8 view .LVU481 1484 00c6 0BB1 cbz r3, .L102 1211:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1485 .loc 1 1211 45 discriminator 1 view .LVU482 1486 00c8 012F cmp r7, #1 1487 00ca 0BD1 bne .L103 1488 .L102: 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1489 .loc 1 1213 7 is_stmt 1 view .LVU483 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1490 .loc 1 1213 52 is_stmt 0 view .LVU484 1491 00cc 226B ldr r2, [r4, #48] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1492 .loc 1 1213 11 view .LVU485 1493 00ce 2368 ldr r3, [r4] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1494 .loc 1 1213 28 view .LVU486 1495 00d0 1288 ldrh r2, [r2] 1213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1496 .loc 1 1213 26 view .LVU487 1497 00d2 DA60 str r2, [r3, #12] 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1498 .loc 1 1214 7 is_stmt 1 view .LVU488 1214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1499 .loc 1 1214 24 is_stmt 0 view .LVU489 1500 00d4 236B ldr r3, [r4, #48] 1501 00d6 0233 adds r3, r3, #2 1502 00d8 2363 str r3, [r4, #48] 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1503 .loc 1 1215 7 is_stmt 1 view .LVU490 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1504 .loc 1 1215 11 is_stmt 0 view .LVU491 1505 00da E38E ldrh r3, [r4, #54] 1506 00dc 9BB2 uxth r3, r3 1215:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1507 .loc 1 1215 24 view .LVU492 1508 00de 013B subs r3, r3, #1 1509 00e0 9BB2 uxth r3, r3 1510 00e2 E386 strh r3, [r4, #54] @ movhi 1511 .L103: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1512 .loc 1 1253 19 view .LVU493 1513 00e4 0127 movs r7, #1 1514 .LVL64: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1515 .loc 1 1253 19 view .LVU494 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 104 1516 00e6 1BE0 b .L104 1517 .LVL65: 1518 .L105: 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1519 .loc 1 1247 7 is_stmt 1 view .LVU495 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1520 .loc 1 1247 12 is_stmt 0 view .LVU496 1521 00e8 2368 ldr r3, [r4] 1522 00ea 9A68 ldr r2, [r3, #8] 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1523 .loc 1 1247 10 view .LVU497 1524 00ec 12F0010F tst r2, #1 1525 00f0 0ED0 beq .L106 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1526 .loc 1 1247 61 discriminator 1 view .LVU498 1527 00f2 E28F ldrh r2, [r4, #62] 1528 00f4 92B2 uxth r2, r2 1247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1529 .loc 1 1247 53 discriminator 1 view .LVU499 1530 00f6 5AB1 cbz r2, .L106 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1531 .loc 1 1249 9 is_stmt 1 view .LVU500 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1532 .loc 1 1249 67 is_stmt 0 view .LVU501 1533 00f8 DA68 ldr r2, [r3, #12] 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1534 .loc 1 1249 27 view .LVU502 1535 00fa A36B ldr r3, [r4, #56] 1249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 1536 .loc 1 1249 41 view .LVU503 1537 00fc 1A80 strh r2, [r3] @ movhi 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1538 .loc 1 1250 9 is_stmt 1 view .LVU504 1250:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1539 .loc 1 1250 26 is_stmt 0 view .LVU505 1540 00fe A36B ldr r3, [r4, #56] 1541 0100 0233 adds r3, r3, #2 1542 0102 A363 str r3, [r4, #56] 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1543 .loc 1 1251 9 is_stmt 1 view .LVU506 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1544 .loc 1 1251 13 is_stmt 0 view .LVU507 1545 0104 E38F ldrh r3, [r4, #62] 1546 0106 9BB2 uxth r3, r3 1251:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1547 .loc 1 1251 26 view .LVU508 1548 0108 013B subs r3, r3, #1 1549 010a 9BB2 uxth r3, r3 1550 010c E387 strh r3, [r4, #62] @ movhi 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1551 .loc 1 1253 9 is_stmt 1 view .LVU509 1552 .LVL66: 1253:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1553 .loc 1 1253 19 is_stmt 0 view .LVU510 1554 010e 0127 movs r7, #1 1555 .LVL67: 1556 .L106: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 105 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1557 .loc 1 1255 7 is_stmt 1 view .LVU511 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1558 .loc 1 1255 13 is_stmt 0 view .LVU512 1559 0110 FFF7FEFF bl HAL_GetTick 1560 .LVL68: 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1561 .loc 1 1255 27 view .LVU513 1562 0114 801B subs r0, r0, r6 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1563 .loc 1 1255 10 view .LVU514 1564 0116 A842 cmp r0, r5 1565 0118 02D3 bcc .L104 1255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1566 .loc 1 1255 53 discriminator 1 view .LVU515 1567 011a B5F1FF3F cmp r5, #-1 1568 011e 1ED1 bne .L128 1569 .LVL69: 1570 .L104: 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1571 .loc 1 1226 11 is_stmt 1 view .LVU516 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1572 .loc 1 1226 17 is_stmt 0 view .LVU517 1573 0120 E38E ldrh r3, [r4, #54] 1574 0122 9BB2 uxth r3, r3 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1575 .loc 1 1226 11 view .LVU518 1576 0124 1BB9 cbnz r3, .L107 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1577 .loc 1 1226 45 discriminator 1 view .LVU519 1578 0126 E38F ldrh r3, [r4, #62] 1579 0128 9BB2 uxth r3, r3 1226:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1580 .loc 1 1226 37 discriminator 1 view .LVU520 1581 012a 002B cmp r3, #0 1582 012c 62D0 beq .L108 1583 .L107: 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1584 .loc 1 1229 7 is_stmt 1 view .LVU521 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1585 .loc 1 1229 12 is_stmt 0 view .LVU522 1586 012e 2368 ldr r3, [r4] 1587 0130 9A68 ldr r2, [r3, #8] 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1588 .loc 1 1229 10 view .LVU523 1589 0132 12F0020F tst r2, #2 1590 0136 D7D0 beq .L105 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1591 .loc 1 1229 60 discriminator 1 view .LVU524 1592 0138 E28E ldrh r2, [r4, #54] 1593 013a 92B2 uxth r2, r2 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1594 .loc 1 1229 52 discriminator 1 view .LVU525 1595 013c 002A cmp r2, #0 1596 013e D3D0 beq .L105 1229:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1597 .loc 1 1229 80 discriminator 2 view .LVU526 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 106 1598 0140 002F cmp r7, #0 1599 0142 D1D0 beq .L105 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1600 .loc 1 1231 9 is_stmt 1 view .LVU527 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1601 .loc 1 1231 54 is_stmt 0 view .LVU528 1602 0144 226B ldr r2, [r4, #48] 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1603 .loc 1 1231 30 view .LVU529 1604 0146 1288 ldrh r2, [r2] 1231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 1605 .loc 1 1231 28 view .LVU530 1606 0148 DA60 str r2, [r3, #12] 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1607 .loc 1 1232 9 is_stmt 1 view .LVU531 1232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1608 .loc 1 1232 26 is_stmt 0 view .LVU532 1609 014a 236B ldr r3, [r4, #48] 1610 014c 0233 adds r3, r3, #2 1611 014e 2363 str r3, [r4, #48] 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1612 .loc 1 1233 9 is_stmt 1 view .LVU533 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1613 .loc 1 1233 13 is_stmt 0 view .LVU534 1614 0150 E38E ldrh r3, [r4, #54] 1615 0152 9BB2 uxth r3, r3 1233:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1616 .loc 1 1233 26 view .LVU535 1617 0154 013B subs r3, r3, #1 1618 0156 9BB2 uxth r3, r3 1619 0158 E386 strh r3, [r4, #54] @ movhi 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1620 .loc 1 1235 9 is_stmt 1 view .LVU536 1621 .LVL70: 1235:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1622 .loc 1 1235 19 is_stmt 0 view .LVU537 1623 015a 0027 movs r7, #0 1624 015c C4E7 b .L105 1625 .LVL71: 1626 .L128: 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1627 .loc 1 1257 9 is_stmt 1 view .LVU538 1257:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1628 .loc 1 1257 21 is_stmt 0 view .LVU539 1629 015e 0123 movs r3, #1 1630 0160 84F85130 strb r3, [r4, #81] 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1631 .loc 1 1258 9 is_stmt 1 view .LVU540 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1632 .loc 1 1258 9 view .LVU541 1633 0164 0023 movs r3, #0 1634 0166 84F85030 strb r3, [r4, #80] 1258:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1635 .loc 1 1258 9 view .LVU542 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1636 .loc 1 1259 9 view .LVU543 1259:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 107 1637 .loc 1 1259 16 is_stmt 0 view .LVU544 1638 016a 0320 movs r0, #3 1639 016c 63E0 b .L98 1640 .LVL72: 1641 .L111: 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1642 .loc 1 1301 7 is_stmt 1 view .LVU545 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1643 .loc 1 1301 12 is_stmt 0 view .LVU546 1644 016e 2368 ldr r3, [r4] 1645 0170 9A68 ldr r2, [r3, #8] 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1646 .loc 1 1301 10 view .LVU547 1647 0172 12F0010F tst r2, #1 1648 0176 0ED0 beq .L112 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1649 .loc 1 1301 61 discriminator 1 view .LVU548 1650 0178 E28F ldrh r2, [r4, #62] 1651 017a 92B2 uxth r2, r2 1301:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1652 .loc 1 1301 53 discriminator 1 view .LVU549 1653 017c 5AB1 cbz r2, .L112 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 1654 .loc 1 1303 9 is_stmt 1 view .LVU550 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 1655 .loc 1 1303 56 is_stmt 0 view .LVU551 1656 017e DA68 ldr r2, [r3, #12] 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 1657 .loc 1 1303 26 view .LVU552 1658 0180 A36B ldr r3, [r4, #56] 1303:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 1659 .loc 1 1303 40 view .LVU553 1660 0182 1A70 strb r2, [r3] 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1661 .loc 1 1304 9 is_stmt 1 view .LVU554 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1662 .loc 1 1304 13 is_stmt 0 view .LVU555 1663 0184 A36B ldr r3, [r4, #56] 1304:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 1664 .loc 1 1304 25 view .LVU556 1665 0186 0133 adds r3, r3, #1 1666 0188 A363 str r3, [r4, #56] 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1667 .loc 1 1305 9 is_stmt 1 view .LVU557 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1668 .loc 1 1305 13 is_stmt 0 view .LVU558 1669 018a E38F ldrh r3, [r4, #62] 1670 018c 9BB2 uxth r3, r3 1305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a Transmission (Tx). Tx is allowed */ 1671 .loc 1 1305 26 view .LVU559 1672 018e 013B subs r3, r3, #1 1673 0190 9BB2 uxth r3, r3 1674 0192 E387 strh r3, [r4, #62] @ movhi 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1675 .loc 1 1307 9 is_stmt 1 view .LVU560 1676 .LVL73: 1307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 108 1677 .loc 1 1307 19 is_stmt 0 view .LVU561 1678 0194 0127 movs r7, #1 1679 .LVL74: 1680 .L112: 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1681 .loc 1 1309 7 is_stmt 1 view .LVU562 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1682 .loc 1 1309 14 is_stmt 0 view .LVU563 1683 0196 FFF7FEFF bl HAL_GetTick 1684 .LVL75: 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1685 .loc 1 1309 28 view .LVU564 1686 019a 831B subs r3, r0, r6 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1687 .loc 1 1309 10 view .LVU565 1688 019c AB42 cmp r3, r5 1689 019e 02D3 bcc .L113 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1690 .loc 1 1309 54 discriminator 1 view .LVU566 1691 01a0 B5F1FF3F cmp r5, #-1 1692 01a4 1ED1 bne .L114 1693 .L113: 1309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1694 .loc 1 1309 87 discriminator 3 view .LVU567 1695 01a6 EDB1 cbz r5, .L114 1696 .LVL76: 1697 .L115: 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1698 .loc 1 1280 11 is_stmt 1 view .LVU568 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1699 .loc 1 1280 17 is_stmt 0 view .LVU569 1700 01a8 E38E ldrh r3, [r4, #54] 1701 01aa 9BB2 uxth r3, r3 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1702 .loc 1 1280 11 view .LVU570 1703 01ac 13B9 cbnz r3, .L116 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1704 .loc 1 1280 45 discriminator 1 view .LVU571 1705 01ae E38F ldrh r3, [r4, #62] 1706 01b0 9BB2 uxth r3, r3 1280:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1707 .loc 1 1280 37 discriminator 1 view .LVU572 1708 01b2 FBB1 cbz r3, .L108 1709 .L116: 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1710 .loc 1 1283 7 is_stmt 1 view .LVU573 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1711 .loc 1 1283 12 is_stmt 0 view .LVU574 1712 01b4 2368 ldr r3, [r4] 1713 01b6 9A68 ldr r2, [r3, #8] 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1714 .loc 1 1283 10 view .LVU575 1715 01b8 12F0020F tst r2, #2 1716 01bc D7D0 beq .L111 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1717 .loc 1 1283 60 discriminator 1 view .LVU576 1718 01be E28E ldrh r2, [r4, #54] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 109 1719 01c0 92B2 uxth r2, r2 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1720 .loc 1 1283 52 discriminator 1 view .LVU577 1721 01c2 002A cmp r2, #0 1722 01c4 D3D0 beq .L111 1283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1723 .loc 1 1283 80 discriminator 2 view .LVU578 1724 01c6 002F cmp r7, #0 1725 01c8 D1D0 beq .L111 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 1726 .loc 1 1285 9 is_stmt 1 view .LVU579 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 1727 .loc 1 1285 71 is_stmt 0 view .LVU580 1728 01ca 226B ldr r2, [r4, #48] 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 1729 .loc 1 1285 48 view .LVU581 1730 01cc 1278 ldrb r2, [r2] @ zero_extendqisi2 1285:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 1731 .loc 1 1285 46 view .LVU582 1732 01ce 1A73 strb r2, [r3, #12] 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1733 .loc 1 1286 9 is_stmt 1 view .LVU583 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1734 .loc 1 1286 13 is_stmt 0 view .LVU584 1735 01d0 236B ldr r3, [r4, #48] 1286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 1736 .loc 1 1286 25 view .LVU585 1737 01d2 0133 adds r3, r3, #1 1738 01d4 2363 str r3, [r4, #48] 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1739 .loc 1 1287 9 is_stmt 1 view .LVU586 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1740 .loc 1 1287 13 is_stmt 0 view .LVU587 1741 01d6 E38E ldrh r3, [r4, #54] 1742 01d8 9BB2 uxth r3, r3 1287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Next Data is a reception (Rx). Tx not allowed */ 1743 .loc 1 1287 26 view .LVU588 1744 01da 013B subs r3, r3, #1 1745 01dc 9BB2 uxth r3, r3 1746 01de E386 strh r3, [r4, #54] @ movhi 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1747 .loc 1 1289 9 is_stmt 1 view .LVU589 1748 .LVL77: 1289:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1749 .loc 1 1289 19 is_stmt 0 view .LVU590 1750 01e0 0027 movs r7, #0 1751 01e2 C4E7 b .L111 1752 .LVL78: 1753 .L114: 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1754 .loc 1 1311 9 is_stmt 1 view .LVU591 1311:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1755 .loc 1 1311 21 is_stmt 0 view .LVU592 1756 01e4 0123 movs r3, #1 1757 01e6 84F85130 strb r3, [r4, #81] 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1758 .loc 1 1312 9 is_stmt 1 view .LVU593 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 110 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1759 .loc 1 1312 9 view .LVU594 1760 01ea 0023 movs r3, #0 1761 01ec 84F85030 strb r3, [r4, #80] 1312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 1762 .loc 1 1312 9 view .LVU595 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1763 .loc 1 1313 9 view .LVU596 1313:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1764 .loc 1 1313 16 is_stmt 0 view .LVU597 1765 01f0 0320 movs r0, #3 1766 01f2 20E0 b .L98 1767 .L108: 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1768 .loc 1 1349 3 is_stmt 1 view .LVU598 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1769 .loc 1 1349 7 is_stmt 0 view .LVU599 1770 01f4 3246 mov r2, r6 1771 01f6 2946 mov r1, r5 1772 01f8 2046 mov r0, r4 1773 01fa FFF7FEFF bl SPI_EndRxTxTransaction 1774 .LVL79: 1349:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1775 .loc 1 1349 6 view .LVU600 1776 01fe 90B9 cbnz r0, .L129 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1777 .loc 1 1357 3 is_stmt 1 view .LVU601 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1778 .loc 1 1357 17 is_stmt 0 view .LVU602 1779 0200 A368 ldr r3, [r4, #8] 1357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1780 .loc 1 1357 6 view .LVU603 1781 0202 33B9 cbnz r3, .L118 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1782 .loc 1 1359 5 is_stmt 1 view .LVU604 1783 .LBB3: 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1784 .loc 1 1359 5 view .LVU605 1785 0204 0193 str r3, [sp, #4] 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1786 .loc 1 1359 5 view .LVU606 1787 0206 2368 ldr r3, [r4] 1788 0208 DA68 ldr r2, [r3, #12] 1789 020a 0192 str r2, [sp, #4] 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1790 .loc 1 1359 5 view .LVU607 1791 020c 9B68 ldr r3, [r3, #8] 1792 020e 0193 str r3, [sp, #4] 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1793 .loc 1 1359 5 view .LVU608 1794 0210 019B ldr r3, [sp, #4] 1795 .L118: 1796 .LBE3: 1359:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1797 .loc 1 1359 5 discriminator 1 view .LVU609 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ 1798 .loc 1 1363 3 discriminator 1 view .LVU610 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 111 1363:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ 1799 .loc 1 1363 15 is_stmt 0 discriminator 1 view .LVU611 1800 0212 0123 movs r3, #1 1801 0214 84F85130 strb r3, [r4, #81] 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1802 .loc 1 1365 3 is_stmt 1 discriminator 1 view .LVU612 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1803 .loc 1 1365 3 discriminator 1 view .LVU613 1804 0218 0023 movs r3, #0 1805 021a 84F85030 strb r3, [r4, #80] 1365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1806 .loc 1 1365 3 discriminator 1 view .LVU614 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1807 .loc 1 1367 3 discriminator 1 view .LVU615 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1808 .loc 1 1367 11 is_stmt 0 discriminator 1 view .LVU616 1809 021e 636D ldr r3, [r4, #84] 1367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1810 .loc 1 1367 6 discriminator 1 view .LVU617 1811 0220 4BB1 cbz r3, .L98 1369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1812 .loc 1 1369 12 view .LVU618 1813 0222 0120 movs r0, #1 1814 0224 07E0 b .L98 1815 .L129: 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1816 .loc 1 1351 5 is_stmt 1 view .LVU619 1351:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 1817 .loc 1 1351 21 is_stmt 0 view .LVU620 1818 0226 2023 movs r3, #32 1819 0228 6365 str r3, [r4, #84] 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1820 .loc 1 1352 5 is_stmt 1 view .LVU621 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1821 .loc 1 1352 5 view .LVU622 1822 022a 0023 movs r3, #0 1823 022c 84F85030 strb r3, [r4, #80] 1352:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 1824 .loc 1 1352 5 view .LVU623 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1825 .loc 1 1353 5 view .LVU624 1353:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1826 .loc 1 1353 12 is_stmt 0 view .LVU625 1827 0230 0120 movs r0, #1 1828 0232 00E0 b .L98 1829 .LVL80: 1830 .L119: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1831 .loc 1 1163 12 view .LVU626 1832 0234 0220 movs r0, #2 1833 .LVL81: 1834 .L98: 1375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1835 .loc 1 1375 1 view .LVU627 1836 0236 03B0 add sp, sp, #12 1837 .LCFI23: 1838 .cfi_remember_state ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 112 1839 .cfi_def_cfa_offset 28 1840 @ sp needed 1841 0238 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 1842 .LVL82: 1843 .L120: 1844 .LCFI24: 1845 .cfi_restore_state 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1846 .loc 1 1163 12 view .LVU628 1847 023c 0220 movs r0, #2 1848 .LVL83: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1849 .loc 1 1163 12 view .LVU629 1850 023e FAE7 b .L98 1851 .LVL84: 1852 .L121: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1853 .loc 1 1163 12 view .LVU630 1854 0240 0220 movs r0, #2 1855 .LVL85: 1163:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1856 .loc 1 1163 12 view .LVU631 1857 0242 F8E7 b .L98 1858 .LVL86: 1859 .L122: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1860 .loc 1 1168 12 view .LVU632 1861 0244 0120 movs r0, #1 1862 .LVL87: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1863 .loc 1 1168 12 view .LVU633 1864 0246 F6E7 b .L98 1865 .LVL88: 1866 .L123: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1867 .loc 1 1168 12 view .LVU634 1868 0248 0120 movs r0, #1 1869 .LVL89: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1870 .loc 1 1168 12 view .LVU635 1871 024a F4E7 b .L98 1872 .LVL90: 1873 .L124: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1874 .loc 1 1168 12 view .LVU636 1875 024c 0120 movs r0, #1 1876 .LVL91: 1168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 1877 .loc 1 1168 12 view .LVU637 1878 024e F2E7 b .L98 1879 .LVL92: 1880 .L125: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1881 .loc 1 1172 3 view .LVU638 1882 0250 0220 movs r0, #2 1883 .LVL93: 1172:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 113 1884 .loc 1 1172 3 view .LVU639 1885 0252 F0E7 b .L98 1886 .cfi_endproc 1887 .LFE245: 1889 .section .text.HAL_SPI_Receive,"ax",%progbits 1890 .align 1 1891 .global HAL_SPI_Receive 1892 .syntax unified 1893 .thumb 1894 .thumb_func 1896 HAL_SPI_Receive: 1897 .LVL94: 1898 .LFB244: 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1899 .loc 1 936 1 is_stmt 1 view -0 1900 .cfi_startproc 1901 @ args = 0, pretend = 0, frame = 0 1902 @ frame_needed = 0, uses_anonymous_args = 0 936:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 1903 .loc 1 936 1 is_stmt 0 view .LVU641 1904 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 1905 .LCFI25: 1906 .cfi_def_cfa_offset 28 1907 .cfi_offset 4, -28 1908 .cfi_offset 5, -24 1909 .cfi_offset 6, -20 1910 .cfi_offset 7, -16 1911 .cfi_offset 8, -12 1912 .cfi_offset 9, -8 1913 .cfi_offset 14, -4 1914 0004 83B0 sub sp, sp, #12 1915 .LCFI26: 1916 .cfi_def_cfa_offset 40 940:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1917 .loc 1 940 3 is_stmt 1 view .LVU642 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1918 .loc 1 942 3 view .LVU643 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1919 .loc 1 942 11 is_stmt 0 view .LVU644 1920 0006 90F85160 ldrb r6, [r0, #81] @ zero_extendqisi2 1921 000a F6B2 uxtb r6, r6 942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1922 .loc 1 942 6 view .LVU645 1923 000c 012E cmp r6, #1 1924 000e 40F0B480 bne .L149 1925 0012 0446 mov r4, r0 1926 0014 8946 mov r9, r1 1927 0016 9046 mov r8, r2 1928 0018 1D46 mov r5, r3 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1929 .loc 1 947 3 is_stmt 1 view .LVU646 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1930 .loc 1 947 18 is_stmt 0 view .LVU647 1931 001a 4368 ldr r3, [r0, #4] 1932 .LVL95: 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1933 .loc 1 947 6 view .LVU648 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 114 1934 001c B3F5827F cmp r3, #260 1935 0020 01D1 bne .L132 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1936 .loc 1 947 58 discriminator 1 view .LVU649 1937 0022 8368 ldr r3, [r0, #8] 947:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1938 .loc 1 947 44 discriminator 1 view .LVU650 1939 0024 93B3 cbz r3, .L153 1940 .L132: 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1941 .loc 1 955 3 is_stmt 1 view .LVU651 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1942 .loc 1 955 15 is_stmt 0 view .LVU652 1943 0026 FFF7FEFF bl HAL_GetTick 1944 .LVL96: 955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1945 .loc 1 955 15 view .LVU653 1946 002a 0746 mov r7, r0 1947 .LVL97: 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1948 .loc 1 957 3 is_stmt 1 view .LVU654 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1949 .loc 1 957 6 is_stmt 0 view .LVU655 1950 002c B9F1000F cmp r9, #0 1951 0030 00F0A480 beq .L131 957:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1952 .loc 1 957 23 discriminator 1 view .LVU656 1953 0034 B8F1000F cmp r8, #0 1954 0038 00F0A080 beq .L131 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1955 .loc 1 963 3 is_stmt 1 view .LVU657 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1956 .loc 1 963 3 view .LVU658 1957 003c 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2 1958 0040 012B cmp r3, #1 1959 0042 00F09F80 beq .L150 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1960 .loc 1 963 3 discriminator 2 view .LVU659 1961 0046 0123 movs r3, #1 1962 0048 84F85030 strb r3, [r4, #80] 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1963 .loc 1 963 3 discriminator 2 view .LVU660 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1964 .loc 1 966 3 discriminator 2 view .LVU661 966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 1965 .loc 1 966 21 is_stmt 0 discriminator 2 view .LVU662 1966 004c 0423 movs r3, #4 1967 004e 84F85130 strb r3, [r4, #81] 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 1968 .loc 1 967 3 is_stmt 1 discriminator 2 view .LVU663 967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 1969 .loc 1 967 21 is_stmt 0 discriminator 2 view .LVU664 1970 0052 0023 movs r3, #0 1971 0054 6365 str r3, [r4, #84] 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 1972 .loc 1 968 3 is_stmt 1 discriminator 2 view .LVU665 968:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 115 1973 .loc 1 968 21 is_stmt 0 discriminator 2 view .LVU666 1974 0056 C4F83890 str r9, [r4, #56] 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1975 .loc 1 969 3 is_stmt 1 discriminator 2 view .LVU667 969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 1976 .loc 1 969 21 is_stmt 0 discriminator 2 view .LVU668 1977 005a A4F83C80 strh r8, [r4, #60] @ movhi 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1978 .loc 1 970 3 is_stmt 1 discriminator 2 view .LVU669 970:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1979 .loc 1 970 21 is_stmt 0 discriminator 2 view .LVU670 1980 005e A4F83E80 strh r8, [r4, #62] @ movhi 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 1981 .loc 1 973 3 is_stmt 1 discriminator 2 view .LVU671 973:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 1982 .loc 1 973 21 is_stmt 0 discriminator 2 view .LVU672 1983 0062 2363 str r3, [r4, #48] 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 1984 .loc 1 974 3 is_stmt 1 discriminator 2 view .LVU673 974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 1985 .loc 1 974 21 is_stmt 0 discriminator 2 view .LVU674 1986 0064 A386 strh r3, [r4, #52] @ movhi 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1987 .loc 1 975 3 is_stmt 1 discriminator 2 view .LVU675 975:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 1988 .loc 1 975 21 is_stmt 0 discriminator 2 view .LVU676 1989 0066 E386 strh r3, [r4, #54] @ movhi 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1990 .loc 1 976 3 is_stmt 1 discriminator 2 view .LVU677 976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 1991 .loc 1 976 21 is_stmt 0 discriminator 2 view .LVU678 1992 0068 2364 str r3, [r4, #64] 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1993 .loc 1 977 3 is_stmt 1 discriminator 2 view .LVU679 977:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 1994 .loc 1 977 21 is_stmt 0 discriminator 2 view .LVU680 1995 006a 6364 str r3, [r4, #68] 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1996 .loc 1 990 3 is_stmt 1 discriminator 2 view .LVU681 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1997 .loc 1 990 17 is_stmt 0 discriminator 2 view .LVU682 1998 006c A368 ldr r3, [r4, #8] 990:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 1999 .loc 1 990 6 discriminator 2 view .LVU683 2000 006e B3F5004F cmp r3, #32768 2001 0072 15D0 beq .L154 2002 .L133: 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2003 .loc 1 998 3 is_stmt 1 view .LVU684 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2004 .loc 1 998 12 is_stmt 0 view .LVU685 2005 0074 2368 ldr r3, [r4] 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2006 .loc 1 998 22 view .LVU686 2007 0076 1A68 ldr r2, [r3] 998:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2008 .loc 1 998 6 view .LVU687 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 116 2009 0078 12F0400F tst r2, #64 2010 007c 03D1 bne .L134 1001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2011 .loc 1 1001 5 is_stmt 1 view .LVU688 2012 007e 1A68 ldr r2, [r3] 2013 0080 42F04002 orr r2, r2, #64 2014 0084 1A60 str r2, [r3] 2015 .L134: 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2016 .loc 1 1005 3 view .LVU689 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2017 .loc 1 1005 17 is_stmt 0 view .LVU690 2018 0086 E368 ldr r3, [r4, #12] 1005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2019 .loc 1 1005 6 view .LVU691 2020 0088 F3B1 cbz r3, .L135 2021 008a 43E0 b .L136 2022 .LVL98: 2023 .L153: 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 2024 .loc 1 949 5 is_stmt 1 view .LVU692 949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 2025 .loc 1 949 17 is_stmt 0 view .LVU693 2026 008c 0423 movs r3, #4 2027 008e 80F85130 strb r3, [r0, #81] 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2028 .loc 1 951 5 is_stmt 1 view .LVU694 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2029 .loc 1 951 12 is_stmt 0 view .LVU695 2030 0092 0095 str r5, [sp] 2031 0094 1346 mov r3, r2 2032 0096 0A46 mov r2, r1 2033 .LVL99: 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2034 .loc 1 951 12 view .LVU696 2035 0098 FFF7FEFF bl HAL_SPI_TransmitReceive 2036 .LVL100: 951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2037 .loc 1 951 12 view .LVU697 2038 009c 0646 mov r6, r0 2039 009e 6DE0 b .L131 2040 .LVL101: 2041 .L154: 993:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 2042 .loc 1 993 5 is_stmt 1 view .LVU698 2043 00a0 2268 ldr r2, [r4] 2044 00a2 1368 ldr r3, [r2] 2045 00a4 23F04003 bic r3, r3, #64 2046 00a8 1360 str r3, [r2] 994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2047 .loc 1 994 5 view .LVU699 2048 00aa 2268 ldr r2, [r4] 2049 00ac 1368 ldr r3, [r2] 2050 00ae 23F48043 bic r3, r3, #16384 2051 00b2 1360 str r3, [r2] 2052 00b4 DEE7 b .L133 2053 .LVL102: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 117 2054 .L137: 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2055 .loc 1 1021 9 view .LVU700 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2056 .loc 1 1021 16 is_stmt 0 view .LVU701 2057 00b6 FFF7FEFF bl HAL_GetTick 2058 .LVL103: 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2059 .loc 1 1021 30 view .LVU702 2060 00ba C01B subs r0, r0, r7 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2061 .loc 1 1021 12 view .LVU703 2062 00bc A842 cmp r0, r5 2063 00be 02D3 bcc .L139 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2064 .loc 1 1021 56 discriminator 1 view .LVU704 2065 00c0 B5F1FF3F cmp r5, #-1 2066 00c4 15D1 bne .L140 2067 .L139: 1021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2068 .loc 1 1021 87 discriminator 3 view .LVU705 2069 00c6 A5B1 cbz r5, .L140 2070 .L135: 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2071 .loc 1 1008 11 is_stmt 1 view .LVU706 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2072 .loc 1 1008 16 is_stmt 0 view .LVU707 2073 00c8 E38F ldrh r3, [r4, #62] 2074 00ca 9BB2 uxth r3, r3 1008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2075 .loc 1 1008 11 view .LVU708 2076 00cc 002B cmp r3, #0 2077 00ce 42D0 beq .L142 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2078 .loc 1 1011 7 is_stmt 1 view .LVU709 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2079 .loc 1 1011 11 is_stmt 0 view .LVU710 2080 00d0 2368 ldr r3, [r4] 2081 00d2 9A68 ldr r2, [r3, #8] 1011:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2082 .loc 1 1011 10 view .LVU711 2083 00d4 12F0010F tst r2, #1 2084 00d8 EDD0 beq .L137 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t); 2085 .loc 1 1014 9 is_stmt 1 view .LVU712 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t); 2086 .loc 1 1014 27 is_stmt 0 view .LVU713 2087 00da A26B ldr r2, [r4, #56] 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t); 2088 .loc 1 1014 43 view .LVU714 2089 00dc 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2 1014:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint8_t); 2090 .loc 1 1014 41 view .LVU715 2091 00de 1370 strb r3, [r2] 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 2092 .loc 1 1015 9 is_stmt 1 view .LVU716 1015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 118 2093 .loc 1 1015 26 is_stmt 0 view .LVU717 2094 00e0 A36B ldr r3, [r4, #56] 2095 00e2 0133 adds r3, r3, #1 2096 00e4 A363 str r3, [r4, #56] 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2097 .loc 1 1016 9 is_stmt 1 view .LVU718 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2098 .loc 1 1016 13 is_stmt 0 view .LVU719 2099 00e6 E38F ldrh r3, [r4, #62] 2100 00e8 9BB2 uxth r3, r3 1016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2101 .loc 1 1016 26 view .LVU720 2102 00ea 013B subs r3, r3, #1 2103 00ec 9BB2 uxth r3, r3 2104 00ee E387 strh r3, [r4, #62] @ movhi 2105 00f0 EAE7 b .L135 2106 .L140: 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2107 .loc 1 1023 11 is_stmt 1 view .LVU721 1023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2108 .loc 1 1023 23 is_stmt 0 view .LVU722 2109 00f2 0123 movs r3, #1 2110 00f4 84F85130 strb r3, [r4, #81] 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2111 .loc 1 1024 11 is_stmt 1 view .LVU723 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2112 .loc 1 1024 11 view .LVU724 2113 00f8 0023 movs r3, #0 2114 00fa 84F85030 strb r3, [r4, #80] 1024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2115 .loc 1 1024 11 view .LVU725 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2116 .loc 1 1025 11 view .LVU726 1025:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2117 .loc 1 1025 18 is_stmt 0 view .LVU727 2118 00fe 0326 movs r6, #3 2119 0100 3CE0 b .L131 2120 .L143: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2121 .loc 1 1045 9 is_stmt 1 view .LVU728 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2122 .loc 1 1045 16 is_stmt 0 view .LVU729 2123 0102 FFF7FEFF bl HAL_GetTick 2124 .LVL104: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2125 .loc 1 1045 30 view .LVU730 2126 0106 C01B subs r0, r0, r7 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2127 .loc 1 1045 12 view .LVU731 2128 0108 A842 cmp r0, r5 2129 010a 02D3 bcc .L145 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2130 .loc 1 1045 56 discriminator 1 view .LVU732 2131 010c B5F1FF3F cmp r5, #-1 2132 0110 19D1 bne .L146 2133 .L145: 1045:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 119 2134 .loc 1 1045 87 discriminator 3 view .LVU733 2135 0112 C5B1 cbz r5, .L146 2136 .L136: 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2137 .loc 1 1033 11 is_stmt 1 view .LVU734 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2138 .loc 1 1033 16 is_stmt 0 view .LVU735 2139 0114 E38F ldrh r3, [r4, #62] 2140 0116 9BB2 uxth r3, r3 1033:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2141 .loc 1 1033 11 view .LVU736 2142 0118 EBB1 cbz r3, .L142 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2143 .loc 1 1036 7 is_stmt 1 view .LVU737 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2144 .loc 1 1036 11 is_stmt 0 view .LVU738 2145 011a 2368 ldr r3, [r4] 2146 011c 9A68 ldr r2, [r3, #8] 1036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2147 .loc 1 1036 10 view .LVU739 2148 011e 12F0010F tst r2, #1 2149 0122 EED0 beq .L143 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 2150 .loc 1 1038 9 is_stmt 1 view .LVU740 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 2151 .loc 1 1038 67 is_stmt 0 view .LVU741 2152 0124 DA68 ldr r2, [r3, #12] 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 2153 .loc 1 1038 27 view .LVU742 2154 0126 A36B ldr r3, [r4, #56] 1038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 2155 .loc 1 1038 41 view .LVU743 2156 0128 1A80 strh r2, [r3] @ movhi 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 2157 .loc 1 1039 9 is_stmt 1 view .LVU744 1039:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 2158 .loc 1 1039 26 is_stmt 0 view .LVU745 2159 012a A36B ldr r3, [r4, #56] 2160 012c 0233 adds r3, r3, #2 2161 012e A363 str r3, [r4, #56] 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2162 .loc 1 1040 9 is_stmt 1 view .LVU746 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2163 .loc 1 1040 13 is_stmt 0 view .LVU747 2164 0130 B4F83EC0 ldrh ip, [r4, #62] 2165 0134 1FFA8CFC uxth ip, ip 1040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2166 .loc 1 1040 26 view .LVU748 2167 0138 0CF1FF3C add ip, ip, #-1 2168 013c 1FFA8CFC uxth ip, ip 2169 0140 A4F83EC0 strh ip, [r4, #62] @ movhi 2170 0144 E6E7 b .L136 2171 .L146: 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2172 .loc 1 1047 11 is_stmt 1 view .LVU749 1047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_UNLOCK(hspi); 2173 .loc 1 1047 23 is_stmt 0 view .LVU750 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 120 2174 0146 0123 movs r3, #1 2175 0148 84F85130 strb r3, [r4, #81] 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2176 .loc 1 1048 11 is_stmt 1 view .LVU751 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2177 .loc 1 1048 11 view .LVU752 2178 014c 0023 movs r3, #0 2179 014e 84F85030 strb r3, [r4, #80] 1048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_TIMEOUT; 2180 .loc 1 1048 11 view .LVU753 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2181 .loc 1 1049 11 view .LVU754 1049:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2182 .loc 1 1049 18 is_stmt 0 view .LVU755 2183 0152 0326 movs r6, #3 2184 0154 12E0 b .L131 2185 .L142: 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2186 .loc 1 1098 3 is_stmt 1 view .LVU756 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2187 .loc 1 1098 7 is_stmt 0 view .LVU757 2188 0156 3A46 mov r2, r7 2189 0158 2946 mov r1, r5 2190 015a 2046 mov r0, r4 2191 015c FFF7FEFF bl SPI_EndRxTransaction 2192 .LVL105: 1098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2193 .loc 1 1098 6 view .LVU758 2194 0160 08B1 cbz r0, .L148 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2195 .loc 1 1100 5 is_stmt 1 view .LVU759 1100:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2196 .loc 1 1100 21 is_stmt 0 view .LVU760 2197 0162 2023 movs r3, #32 2198 0164 6365 str r3, [r4, #84] 2199 .L148: 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ 2200 .loc 1 1112 3 is_stmt 1 view .LVU761 1112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Unlock the process */ 2201 .loc 1 1112 15 is_stmt 0 view .LVU762 2202 0166 0123 movs r3, #1 2203 0168 84F85130 strb r3, [r4, #81] 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2204 .loc 1 1114 3 is_stmt 1 view .LVU763 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2205 .loc 1 1114 3 view .LVU764 2206 016c 0023 movs r3, #0 2207 016e 84F85030 strb r3, [r4, #80] 1114:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 2208 .loc 1 1114 3 view .LVU765 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2209 .loc 1 1115 3 view .LVU766 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2210 .loc 1 1115 11 is_stmt 0 view .LVU767 2211 0172 636D ldr r3, [r4, #84] 1115:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2212 .loc 1 1115 6 view .LVU768 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 121 2213 0174 13B9 cbnz r3, .L131 1121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2214 .loc 1 1121 12 view .LVU769 2215 0176 0026 movs r6, #0 2216 0178 00E0 b .L131 2217 .LVL106: 2218 .L149: 944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2219 .loc 1 944 12 view .LVU770 2220 017a 0226 movs r6, #2 2221 .LVL107: 2222 .L131: 1123:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2223 .loc 1 1123 1 view .LVU771 2224 017c 3046 mov r0, r6 2225 017e 03B0 add sp, sp, #12 2226 .LCFI27: 2227 .cfi_remember_state 2228 .cfi_def_cfa_offset 28 2229 @ sp needed 2230 0180 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 2231 .LVL108: 2232 .L150: 2233 .LCFI28: 2234 .cfi_restore_state 963:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2235 .loc 1 963 3 view .LVU772 2236 0184 0226 movs r6, #2 2237 0186 F9E7 b .L131 2238 .cfi_endproc 2239 .LFE244: 2241 .section .text.HAL_SPI_Transmit_IT,"ax",%progbits 2242 .align 1 2243 .global HAL_SPI_Transmit_IT 2244 .syntax unified 2245 .thumb 2246 .thumb_func 2248 HAL_SPI_Transmit_IT: 2249 .LVL109: 2250 .LFB246: 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2251 .loc 1 1386 1 is_stmt 1 view -0 2252 .cfi_startproc 2253 @ args = 0, pretend = 0, frame = 0 2254 @ frame_needed = 0, uses_anonymous_args = 0 2255 @ link register save eliminated. 1389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2256 .loc 1 1389 3 view .LVU774 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2257 .loc 1 1392 3 view .LVU775 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2258 .loc 1 1392 6 is_stmt 0 view .LVU776 2259 0000 0029 cmp r1, #0 2260 0002 45D0 beq .L161 1386:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2261 .loc 1 1386 1 discriminator 1 view .LVU777 2262 0004 10B4 push {r4} ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 122 2263 .LCFI29: 2264 .cfi_def_cfa_offset 4 2265 .cfi_offset 4, -4 1392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2266 .loc 1 1392 23 discriminator 1 view .LVU778 2267 0006 002A cmp r2, #0 2268 0008 44D0 beq .L162 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2269 .loc 1 1397 3 is_stmt 1 view .LVU779 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2270 .loc 1 1397 11 is_stmt 0 view .LVU780 2271 000a 90F85130 ldrb r3, [r0, #81] @ zero_extendqisi2 2272 000e DBB2 uxtb r3, r3 1397:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2273 .loc 1 1397 6 view .LVU781 2274 0010 012B cmp r3, #1 2275 0012 41D1 bne .L163 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2276 .loc 1 1403 3 is_stmt 1 view .LVU782 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2277 .loc 1 1403 3 view .LVU783 2278 0014 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2 2279 0018 012B cmp r3, #1 2280 001a 3FD0 beq .L164 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2281 .loc 1 1403 3 discriminator 2 view .LVU784 2282 001c 0123 movs r3, #1 2283 001e 80F85030 strb r3, [r0, #80] 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2284 .loc 1 1403 3 discriminator 2 view .LVU785 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2285 .loc 1 1406 3 discriminator 2 view .LVU786 1406:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2286 .loc 1 1406 21 is_stmt 0 discriminator 2 view .LVU787 2287 0022 0323 movs r3, #3 2288 0024 80F85130 strb r3, [r0, #81] 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 2289 .loc 1 1407 3 is_stmt 1 discriminator 2 view .LVU788 1407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 2290 .loc 1 1407 21 is_stmt 0 discriminator 2 view .LVU789 2291 0028 0023 movs r3, #0 2292 002a 4365 str r3, [r0, #84] 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2293 .loc 1 1408 3 is_stmt 1 discriminator 2 view .LVU790 1408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2294 .loc 1 1408 21 is_stmt 0 discriminator 2 view .LVU791 2295 002c 0163 str r1, [r0, #48] 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2296 .loc 1 1409 3 is_stmt 1 discriminator 2 view .LVU792 1409:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2297 .loc 1 1409 21 is_stmt 0 discriminator 2 view .LVU793 2298 002e 8286 strh r2, [r0, #52] @ movhi 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2299 .loc 1 1410 3 is_stmt 1 discriminator 2 view .LVU794 1410:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2300 .loc 1 1410 21 is_stmt 0 discriminator 2 view .LVU795 2301 0030 C286 strh r2, [r0, #54] @ movhi ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 123 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 2302 .loc 1 1413 3 is_stmt 1 discriminator 2 view .LVU796 1413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 2303 .loc 1 1413 21 is_stmt 0 discriminator 2 view .LVU797 2304 0032 8363 str r3, [r0, #56] 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2305 .loc 1 1414 3 is_stmt 1 discriminator 2 view .LVU798 1414:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2306 .loc 1 1414 21 is_stmt 0 discriminator 2 view .LVU799 2307 0034 8387 strh r3, [r0, #60] @ movhi 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 2308 .loc 1 1415 3 is_stmt 1 discriminator 2 view .LVU800 1415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 2309 .loc 1 1415 21 is_stmt 0 discriminator 2 view .LVU801 2310 0036 C387 strh r3, [r0, #62] @ movhi 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2311 .loc 1 1416 3 is_stmt 1 discriminator 2 view .LVU802 1416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2312 .loc 1 1416 21 is_stmt 0 discriminator 2 view .LVU803 2313 0038 0364 str r3, [r0, #64] 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2314 .loc 1 1419 3 is_stmt 1 discriminator 2 view .LVU804 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2315 .loc 1 1419 17 is_stmt 0 discriminator 2 view .LVU805 2316 003a C368 ldr r3, [r0, #12] 1419:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2317 .loc 1 1419 6 discriminator 2 view .LVU806 2318 003c D3B1 cbz r3, .L157 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2319 .loc 1 1421 5 is_stmt 1 view .LVU807 1421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2320 .loc 1 1421 17 is_stmt 0 view .LVU808 2321 003e 184B ldr r3, .L170 2322 0040 4364 str r3, [r0, #68] 2323 .L158: 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2324 .loc 1 1429 3 is_stmt 1 view .LVU809 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2325 .loc 1 1429 17 is_stmt 0 view .LVU810 2326 0042 8368 ldr r3, [r0, #8] 1429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2327 .loc 1 1429 6 view .LVU811 2328 0044 B3F5004F cmp r3, #32768 2329 0048 17D0 beq .L169 2330 .LVL110: 2331 .L159: 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2332 .loc 1 1445 3 is_stmt 1 view .LVU812 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2333 .loc 1 1445 12 is_stmt 0 view .LVU813 2334 004a 0368 ldr r3, [r0] 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2335 .loc 1 1445 22 view .LVU814 2336 004c 1A68 ldr r2, [r3] 1445:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2337 .loc 1 1445 6 view .LVU815 2338 004e 12F0400F tst r2, #64 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 124 2339 0052 03D1 bne .L160 1448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2340 .loc 1 1448 5 is_stmt 1 view .LVU816 2341 0054 1A68 ldr r2, [r3] 2342 0056 42F04002 orr r2, r2, #64 2343 005a 1A60 str r2, [r3] 2344 .L160: 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE and ERR interrupt */ 2345 .loc 1 1452 3 view .LVU817 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE and ERR interrupt */ 2346 .loc 1 1452 3 view .LVU818 2347 005c 0023 movs r3, #0 2348 005e 80F85030 strb r3, [r0, #80] 1452:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE and ERR interrupt */ 2349 .loc 1 1452 3 view .LVU819 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2350 .loc 1 1454 3 view .LVU820 2351 0062 0168 ldr r1, [r0] 2352 .LVL111: 1454:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2353 .loc 1 1454 3 is_stmt 0 view .LVU821 2354 0064 4A68 ldr r2, [r1, #4] 2355 0066 42F0A002 orr r2, r2, #160 2356 006a 4A60 str r2, [r1, #4] 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2357 .loc 1 1456 3 is_stmt 1 view .LVU822 1456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2358 .loc 1 1456 10 is_stmt 0 view .LVU823 2359 006c 1846 mov r0, r3 2360 .LVL112: 2361 .L156: 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2362 .loc 1 1457 1 view .LVU824 2363 006e 5DF8044B ldr r4, [sp], #4 2364 .LCFI30: 2365 .cfi_remember_state 2366 .cfi_restore 4 2367 .cfi_def_cfa_offset 0 2368 0072 7047 bx lr 2369 .LVL113: 2370 .L157: 2371 .LCFI31: 2372 .cfi_restore_state 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2373 .loc 1 1425 5 is_stmt 1 view .LVU825 1425:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2374 .loc 1 1425 17 is_stmt 0 view .LVU826 2375 0074 0B4B ldr r3, .L170+4 2376 0076 4364 str r3, [r0, #68] 2377 0078 E3E7 b .L158 2378 .L169: 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 2379 .loc 1 1432 5 is_stmt 1 view .LVU827 2380 007a 0268 ldr r2, [r0] 2381 .LVL114: 1432:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 2382 .loc 1 1432 5 is_stmt 0 view .LVU828 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 125 2383 007c 1368 ldr r3, [r2] 2384 007e 23F04003 bic r3, r3, #64 2385 0082 1360 str r3, [r2] 2386 .LVL115: 1433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2387 .loc 1 1433 5 is_stmt 1 view .LVU829 2388 0084 0268 ldr r2, [r0] 2389 0086 1368 ldr r3, [r2] 2390 0088 43F48043 orr r3, r3, #16384 2391 008c 1360 str r3, [r2] 2392 008e DCE7 b .L159 2393 .LVL116: 2394 .L161: 2395 .LCFI32: 2396 .cfi_def_cfa_offset 0 2397 .cfi_restore 4 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2398 .loc 1 1394 12 is_stmt 0 view .LVU830 2399 0090 0120 movs r0, #1 2400 .LVL117: 1457:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2401 .loc 1 1457 1 view .LVU831 2402 0092 7047 bx lr 2403 .LVL118: 2404 .L162: 2405 .LCFI33: 2406 .cfi_def_cfa_offset 4 2407 .cfi_offset 4, -4 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2408 .loc 1 1394 12 view .LVU832 2409 0094 0120 movs r0, #1 2410 .LVL119: 1394:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2411 .loc 1 1394 12 view .LVU833 2412 0096 EAE7 b .L156 2413 .LVL120: 2414 .L163: 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2415 .loc 1 1399 12 view .LVU834 2416 0098 0220 movs r0, #2 2417 .LVL121: 1399:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2418 .loc 1 1399 12 view .LVU835 2419 009a E8E7 b .L156 2420 .LVL122: 2421 .L164: 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2422 .loc 1 1403 3 view .LVU836 2423 009c 0220 movs r0, #2 2424 .LVL123: 1403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2425 .loc 1 1403 3 view .LVU837 2426 009e E6E7 b .L156 2427 .L171: 2428 .align 2 2429 .L170: 2430 00a0 00000000 .word SPI_TxISR_16BIT ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 126 2431 00a4 00000000 .word SPI_TxISR_8BIT 2432 .cfi_endproc 2433 .LFE246: 2435 .section .text.HAL_SPI_TransmitReceive_IT,"ax",%progbits 2436 .align 1 2437 .global HAL_SPI_TransmitReceive_IT 2438 .syntax unified 2439 .thumb 2440 .thumb_func 2442 HAL_SPI_TransmitReceive_IT: 2443 .LVL124: 2444 .LFB248: 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 2445 .loc 1 1560 1 is_stmt 1 view -0 2446 .cfi_startproc 2447 @ args = 0, pretend = 0, frame = 0 2448 @ frame_needed = 0, uses_anonymous_args = 0 2449 @ link register save eliminated. 1560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 2450 .loc 1 1560 1 is_stmt 0 view .LVU839 2451 0000 10B4 push {r4} 2452 .LCFI34: 2453 .cfi_def_cfa_offset 4 2454 .cfi_offset 4, -4 1561:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 2455 .loc 1 1561 3 is_stmt 1 view .LVU840 1562:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2456 .loc 1 1562 3 view .LVU841 1565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2457 .loc 1 1565 3 view .LVU842 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 2458 .loc 1 1568 3 view .LVU843 1568:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 2459 .loc 1 1568 23 is_stmt 0 view .LVU844 2460 0002 90F851C0 ldrb ip, [r0, #81] @ zero_extendqisi2 2461 0006 5FFA8CFC uxtb ip, ip 2462 .LVL125: 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2463 .loc 1 1569 3 is_stmt 1 view .LVU845 1569:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2464 .loc 1 1569 23 is_stmt 0 view .LVU846 2465 000a 4468 ldr r4, [r0, #4] 2466 .LVL126: 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 2467 .loc 1 1571 3 is_stmt 1 view .LVU847 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 2468 .loc 1 1571 6 is_stmt 0 view .LVU848 2469 000c BCF1010F cmp ip, #1 2470 0010 08D0 beq .L173 1571:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 2471 .loc 1 1571 7 discriminator 1 view .LVU849 2472 0012 B4F5827F cmp r4, #260 2473 0016 40D1 bne .L179 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2474 .loc 1 1572 54 view .LVU850 2475 0018 8468 ldr r4, [r0, #8] 2476 .LVL127: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 127 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2477 .loc 1 1572 40 view .LVU851 2478 001a 002C cmp r4, #0 2479 001c 41D1 bne .L180 1572:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2480 .loc 1 1572 90 discriminator 1 view .LVU852 2481 001e BCF1040F cmp ip, #4 2482 0022 40D1 bne .L181 2483 .L173: 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2484 .loc 1 1577 3 is_stmt 1 view .LVU853 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2485 .loc 1 1577 6 is_stmt 0 view .LVU854 2486 0024 0029 cmp r1, #0 2487 0026 40D0 beq .L182 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2488 .loc 1 1577 25 discriminator 1 view .LVU855 2489 0028 002A cmp r2, #0 2490 002a 40D0 beq .L183 1577:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2491 .loc 1 1577 46 discriminator 2 view .LVU856 2492 002c 002B cmp r3, #0 2493 002e 40D0 beq .L184 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2494 .loc 1 1583 3 is_stmt 1 view .LVU857 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2495 .loc 1 1583 3 view .LVU858 2496 0030 90F85040 ldrb r4, [r0, #80] @ zero_extendqisi2 2497 0034 012C cmp r4, #1 2498 0036 3ED0 beq .L185 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2499 .loc 1 1583 3 discriminator 2 view .LVU859 2500 0038 0124 movs r4, #1 2501 003a 80F85040 strb r4, [r0, #80] 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2502 .loc 1 1583 3 discriminator 2 view .LVU860 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2503 .loc 1 1586 3 discriminator 2 view .LVU861 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2504 .loc 1 1586 11 is_stmt 0 discriminator 2 view .LVU862 2505 003e 90F85140 ldrb r4, [r0, #81] @ zero_extendqisi2 2506 0042 E4B2 uxtb r4, r4 1586:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2507 .loc 1 1586 6 discriminator 2 view .LVU863 2508 0044 042C cmp r4, #4 2509 0046 02D0 beq .L175 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2510 .loc 1 1588 5 is_stmt 1 view .LVU864 1588:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2511 .loc 1 1588 17 is_stmt 0 view .LVU865 2512 0048 0524 movs r4, #5 2513 004a 80F85140 strb r4, [r0, #81] 2514 .L175: 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 2515 .loc 1 1592 3 is_stmt 1 view .LVU866 1592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 2516 .loc 1 1592 21 is_stmt 0 view .LVU867 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 128 2517 004e 0024 movs r4, #0 2518 0050 4465 str r4, [r0, #84] 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2519 .loc 1 1593 3 is_stmt 1 view .LVU868 1593:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2520 .loc 1 1593 21 is_stmt 0 view .LVU869 2521 0052 0163 str r1, [r0, #48] 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2522 .loc 1 1594 3 is_stmt 1 view .LVU870 1594:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2523 .loc 1 1594 21 is_stmt 0 view .LVU871 2524 0054 8386 strh r3, [r0, #52] @ movhi 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 2525 .loc 1 1595 3 is_stmt 1 view .LVU872 1595:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 2526 .loc 1 1595 21 is_stmt 0 view .LVU873 2527 0056 C386 strh r3, [r0, #54] @ movhi 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 2528 .loc 1 1596 3 is_stmt 1 view .LVU874 1596:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 2529 .loc 1 1596 21 is_stmt 0 view .LVU875 2530 0058 8263 str r2, [r0, #56] 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 2531 .loc 1 1597 3 is_stmt 1 view .LVU876 1597:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 2532 .loc 1 1597 21 is_stmt 0 view .LVU877 2533 005a 8387 strh r3, [r0, #60] @ movhi 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2534 .loc 1 1598 3 is_stmt 1 view .LVU878 1598:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2535 .loc 1 1598 21 is_stmt 0 view .LVU879 2536 005c C387 strh r3, [r0, #62] @ movhi 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2537 .loc 1 1601 3 is_stmt 1 view .LVU880 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2538 .loc 1 1601 17 is_stmt 0 view .LVU881 2539 005e C368 ldr r3, [r0, #12] 2540 .LVL128: 1601:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2541 .loc 1 1601 6 view .LVU882 2542 0060 B3B1 cbz r3, .L176 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT; 2543 .loc 1 1603 5 is_stmt 1 view .LVU883 1603:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_16BIT; 2544 .loc 1 1603 21 is_stmt 0 view .LVU884 2545 0062 164B ldr r3, .L187 2546 0064 0364 str r3, [r0, #64] 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2547 .loc 1 1604 5 is_stmt 1 view .LVU885 1604:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2548 .loc 1 1604 21 is_stmt 0 view .LVU886 2549 0066 164B ldr r3, .L187+4 2550 0068 4364 str r3, [r0, #68] 2551 .L177: 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2552 .loc 1 1622 3 is_stmt 1 view .LVU887 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 129 2553 .loc 1 1622 12 is_stmt 0 view .LVU888 2554 006a 0368 ldr r3, [r0] 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2555 .loc 1 1622 22 view .LVU889 2556 006c 1A68 ldr r2, [r3] 2557 .LVL129: 1622:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2558 .loc 1 1622 6 view .LVU890 2559 006e 12F0400F tst r2, #64 2560 0072 03D1 bne .L178 1625:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2561 .loc 1 1625 5 is_stmt 1 view .LVU891 2562 0074 1A68 ldr r2, [r3] 2563 0076 42F04002 orr r2, r2, #64 2564 007a 1A60 str r2, [r3] 2565 .LVL130: 2566 .L178: 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */ 2567 .loc 1 1629 3 view .LVU892 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */ 2568 .loc 1 1629 3 view .LVU893 2569 007c 0023 movs r3, #0 2570 007e 80F85030 strb r3, [r0, #80] 1629:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable TXE, RXNE and ERR interrupt */ 2571 .loc 1 1629 3 view .LVU894 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2572 .loc 1 1631 3 view .LVU895 2573 0082 0168 ldr r1, [r0] 2574 .LVL131: 1631:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2575 .loc 1 1631 3 is_stmt 0 view .LVU896 2576 0084 4A68 ldr r2, [r1, #4] 2577 0086 42F0E002 orr r2, r2, #224 2578 008a 4A60 str r2, [r1, #4] 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2579 .loc 1 1633 3 is_stmt 1 view .LVU897 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2580 .loc 1 1633 10 is_stmt 0 view .LVU898 2581 008c 1846 mov r0, r3 2582 .LVL132: 1633:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2583 .loc 1 1633 10 view .LVU899 2584 008e 05E0 b .L174 2585 .LVL133: 2586 .L176: 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT; 2587 .loc 1 1608 5 is_stmt 1 view .LVU900 1608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = SPI_2linesTxISR_8BIT; 2588 .loc 1 1608 21 is_stmt 0 view .LVU901 2589 0090 0C4B ldr r3, .L187+8 2590 0092 0364 str r3, [r0, #64] 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2591 .loc 1 1609 5 is_stmt 1 view .LVU902 1609:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2592 .loc 1 1609 21 is_stmt 0 view .LVU903 2593 0094 0C4B ldr r3, .L187+12 2594 0096 4364 str r3, [r0, #68] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 130 2595 0098 E7E7 b .L177 2596 .LVL134: 2597 .L179: 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2598 .loc 1 1574 12 view .LVU904 2599 009a 0220 movs r0, #2 2600 .LVL135: 2601 .L174: 1634:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2602 .loc 1 1634 1 view .LVU905 2603 009c 5DF8044B ldr r4, [sp], #4 2604 .LCFI35: 2605 .cfi_remember_state 2606 .cfi_restore 4 2607 .cfi_def_cfa_offset 0 2608 00a0 7047 bx lr 2609 .LVL136: 2610 .L180: 2611 .LCFI36: 2612 .cfi_restore_state 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2613 .loc 1 1574 12 view .LVU906 2614 00a2 0220 movs r0, #2 2615 .LVL137: 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2616 .loc 1 1574 12 view .LVU907 2617 00a4 FAE7 b .L174 2618 .LVL138: 2619 .L181: 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2620 .loc 1 1574 12 view .LVU908 2621 00a6 0220 movs r0, #2 2622 .LVL139: 1574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2623 .loc 1 1574 12 view .LVU909 2624 00a8 F8E7 b .L174 2625 .LVL140: 2626 .L182: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2627 .loc 1 1579 12 view .LVU910 2628 00aa 0120 movs r0, #1 2629 .LVL141: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2630 .loc 1 1579 12 view .LVU911 2631 00ac F6E7 b .L174 2632 .LVL142: 2633 .L183: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2634 .loc 1 1579 12 view .LVU912 2635 00ae 0120 movs r0, #1 2636 .LVL143: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2637 .loc 1 1579 12 view .LVU913 2638 00b0 F4E7 b .L174 2639 .LVL144: 2640 .L184: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 131 2641 .loc 1 1579 12 view .LVU914 2642 00b2 0120 movs r0, #1 2643 .LVL145: 1579:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2644 .loc 1 1579 12 view .LVU915 2645 00b4 F2E7 b .L174 2646 .LVL146: 2647 .L185: 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2648 .loc 1 1583 3 view .LVU916 2649 00b6 0220 movs r0, #2 2650 .LVL147: 1583:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2651 .loc 1 1583 3 view .LVU917 2652 00b8 F0E7 b .L174 2653 .L188: 2654 00ba 00BF .align 2 2655 .L187: 2656 00bc 00000000 .word SPI_2linesRxISR_16BIT 2657 00c0 00000000 .word SPI_2linesTxISR_16BIT 2658 00c4 00000000 .word SPI_2linesRxISR_8BIT 2659 00c8 00000000 .word SPI_2linesTxISR_8BIT 2660 .cfi_endproc 2661 .LFE248: 2663 .section .text.HAL_SPI_Receive_IT,"ax",%progbits 2664 .align 1 2665 .global HAL_SPI_Receive_IT 2666 .syntax unified 2667 .thumb 2668 .thumb_func 2670 HAL_SPI_Receive_IT: 2671 .LVL148: 2672 .LFB247: 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2673 .loc 1 1468 1 is_stmt 1 view -0 2674 .cfi_startproc 2675 @ args = 0, pretend = 0, frame = 0 2676 @ frame_needed = 0, uses_anonymous_args = 0 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2677 .loc 1 1468 1 is_stmt 0 view .LVU919 2678 0000 8446 mov ip, r0 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2679 .loc 1 1470 3 is_stmt 1 view .LVU920 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2680 .loc 1 1470 11 is_stmt 0 view .LVU921 2681 0002 90F85100 ldrb r0, [r0, #81] @ zero_extendqisi2 2682 .LVL149: 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2683 .loc 1 1470 11 view .LVU922 2684 0006 C0B2 uxtb r0, r0 1470:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2685 .loc 1 1470 6 view .LVU923 2686 0008 0128 cmp r0, #1 2687 000a 5CD1 bne .L196 1468:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2688 .loc 1 1468 1 view .LVU924 2689 000c 10B5 push {r4, lr} ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 132 2690 .LCFI37: 2691 .cfi_def_cfa_offset 8 2692 .cfi_offset 4, -8 2693 .cfi_offset 14, -4 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2694 .loc 1 1475 3 is_stmt 1 view .LVU925 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2695 .loc 1 1475 18 is_stmt 0 view .LVU926 2696 000e DCF80840 ldr r4, [ip, #8] 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2697 .loc 1 1475 6 view .LVU927 2698 0012 24B9 cbnz r4, .L191 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2699 .loc 1 1475 68 discriminator 1 view .LVU928 2700 0014 DCF80430 ldr r3, [ip, #4] 1475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2701 .loc 1 1475 54 discriminator 1 view .LVU929 2702 0018 B3F5827F cmp r3, #260 2703 001c 39D0 beq .L202 2704 .L191: 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2705 .loc 1 1483 3 is_stmt 1 view .LVU930 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2706 .loc 1 1483 6 is_stmt 0 view .LVU931 2707 001e B9B3 cbz r1, .L190 1483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2708 .loc 1 1483 23 discriminator 1 view .LVU932 2709 0020 B2B3 cbz r2, .L190 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2710 .loc 1 1489 3 is_stmt 1 view .LVU933 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2711 .loc 1 1489 3 view .LVU934 2712 0022 9CF85030 ldrb r3, [ip, #80] @ zero_extendqisi2 2713 0026 012B cmp r3, #1 2714 0028 4FD0 beq .L197 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2715 .loc 1 1489 3 discriminator 2 view .LVU935 2716 002a 0123 movs r3, #1 2717 002c 8CF85030 strb r3, [ip, #80] 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2718 .loc 1 1489 3 discriminator 2 view .LVU936 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2719 .loc 1 1492 3 discriminator 2 view .LVU937 1492:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2720 .loc 1 1492 21 is_stmt 0 discriminator 2 view .LVU938 2721 0030 0423 movs r3, #4 2722 0032 8CF85130 strb r3, [ip, #81] 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 2723 .loc 1 1493 3 is_stmt 1 discriminator 2 view .LVU939 1493:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 2724 .loc 1 1493 21 is_stmt 0 discriminator 2 view .LVU940 2725 0036 0023 movs r3, #0 2726 0038 CCF85430 str r3, [ip, #84] 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 2727 .loc 1 1494 3 is_stmt 1 discriminator 2 view .LVU941 1494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 2728 .loc 1 1494 21 is_stmt 0 discriminator 2 view .LVU942 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 133 2729 003c CCF83810 str r1, [ip, #56] 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 2730 .loc 1 1495 3 is_stmt 1 discriminator 2 view .LVU943 1495:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 2731 .loc 1 1495 21 is_stmt 0 discriminator 2 view .LVU944 2732 0040 ACF83C20 strh r2, [ip, #60] @ movhi 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2733 .loc 1 1496 3 is_stmt 1 discriminator 2 view .LVU945 1496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2734 .loc 1 1496 21 is_stmt 0 discriminator 2 view .LVU946 2735 0044 ACF83E20 strh r2, [ip, #62] @ movhi 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 2736 .loc 1 1499 3 is_stmt 1 discriminator 2 view .LVU947 1499:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 2737 .loc 1 1499 21 is_stmt 0 discriminator 2 view .LVU948 2738 0048 CCF83030 str r3, [ip, #48] 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2739 .loc 1 1500 3 is_stmt 1 discriminator 2 view .LVU949 1500:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 2740 .loc 1 1500 21 is_stmt 0 discriminator 2 view .LVU950 2741 004c ACF83430 strh r3, [ip, #52] @ movhi 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 2742 .loc 1 1501 3 is_stmt 1 discriminator 2 view .LVU951 1501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 2743 .loc 1 1501 21 is_stmt 0 discriminator 2 view .LVU952 2744 0050 ACF83630 strh r3, [ip, #54] @ movhi 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2745 .loc 1 1502 3 is_stmt 1 discriminator 2 view .LVU953 1502:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2746 .loc 1 1502 21 is_stmt 0 discriminator 2 view .LVU954 2747 0054 CCF84430 str r3, [ip, #68] 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2748 .loc 1 1505 3 is_stmt 1 discriminator 2 view .LVU955 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2749 .loc 1 1505 17 is_stmt 0 discriminator 2 view .LVU956 2750 0058 DCF80C30 ldr r3, [ip, #12] 1505:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2751 .loc 1 1505 6 discriminator 2 view .LVU957 2752 005c 13B3 cbz r3, .L192 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2753 .loc 1 1507 5 is_stmt 1 view .LVU958 1507:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2754 .loc 1 1507 17 is_stmt 0 view .LVU959 2755 005e 1C4B ldr r3, .L204 2756 0060 CCF84030 str r3, [ip, #64] 2757 .L193: 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2758 .loc 1 1515 3 is_stmt 1 view .LVU960 1515:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2759 .loc 1 1515 6 is_stmt 0 view .LVU961 2760 0064 B4F5004F cmp r4, #32768 2761 0068 20D0 beq .L203 2762 .LVL150: 2763 .L194: 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2764 .loc 1 1535 3 is_stmt 1 view .LVU962 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 134 2765 .loc 1 1535 12 is_stmt 0 view .LVU963 2766 006a DCF80030 ldr r3, [ip] 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2767 .loc 1 1535 22 view .LVU964 2768 006e 1A68 ldr r2, [r3] 1535:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2769 .loc 1 1535 6 view .LVU965 2770 0070 12F0400F tst r2, #64 2771 0074 03D1 bne .L195 1538:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2772 .loc 1 1538 5 is_stmt 1 view .LVU966 2773 0076 1A68 ldr r2, [r3] 2774 0078 42F04002 orr r2, r2, #64 2775 007c 1A60 str r2, [r3] 2776 .L195: 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable RXNE and ERR interrupt */ 2777 .loc 1 1542 3 view .LVU967 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable RXNE and ERR interrupt */ 2778 .loc 1 1542 3 view .LVU968 2779 007e 0020 movs r0, #0 2780 0080 8CF85000 strb r0, [ip, #80] 1542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Enable RXNE and ERR interrupt */ 2781 .loc 1 1542 3 view .LVU969 1544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2782 .loc 1 1544 3 view .LVU970 2783 0084 DCF80020 ldr r2, [ip] 2784 0088 5368 ldr r3, [r2, #4] 2785 008a 43F06003 orr r3, r3, #96 2786 008e 5360 str r3, [r2, #4] 1546:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2787 .loc 1 1546 3 view .LVU971 2788 .LVL151: 2789 .L190: 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2790 .loc 1 1547 1 is_stmt 0 view .LVU972 2791 0090 10BD pop {r4, pc} 2792 .LVL152: 2793 .L202: 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 2794 .loc 1 1477 5 is_stmt 1 view .LVU973 1477:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call transmit-receive function to send Dummy data on Tx line and generate clock on CLK line 2795 .loc 1 1477 17 is_stmt 0 view .LVU974 2796 0092 0423 movs r3, #4 2797 0094 8CF85130 strb r3, [ip, #81] 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2798 .loc 1 1479 5 is_stmt 1 view .LVU975 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2799 .loc 1 1479 12 is_stmt 0 view .LVU976 2800 0098 1346 mov r3, r2 2801 009a 0A46 mov r2, r1 2802 .LVL153: 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2803 .loc 1 1479 12 view .LVU977 2804 009c 6046 mov r0, ip 2805 009e FFF7FEFF bl HAL_SPI_TransmitReceive_IT 2806 .LVL154: 1479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 135 2807 .loc 1 1479 12 view .LVU978 2808 00a2 F5E7 b .L190 2809 .LVL155: 2810 .L192: 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2811 .loc 1 1511 5 is_stmt 1 view .LVU979 1511:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2812 .loc 1 1511 17 is_stmt 0 view .LVU980 2813 00a4 0B4B ldr r3, .L204+4 2814 00a6 CCF84030 str r3, [ip, #64] 2815 00aa DBE7 b .L193 2816 .L203: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 2817 .loc 1 1518 5 is_stmt 1 view .LVU981 2818 00ac DCF80020 ldr r2, [ip] 2819 .LVL156: 1518:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 2820 .loc 1 1518 5 is_stmt 0 view .LVU982 2821 00b0 1368 ldr r3, [r2] 2822 00b2 23F04003 bic r3, r3, #64 2823 00b6 1360 str r3, [r2] 2824 .LVL157: 1519:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2825 .loc 1 1519 5 is_stmt 1 view .LVU983 2826 00b8 DCF80020 ldr r2, [ip] 2827 00bc 1368 ldr r3, [r2] 2828 00be 23F48043 bic r3, r3, #16384 2829 00c2 1360 str r3, [r2] 2830 00c4 D1E7 b .L194 2831 .LVL158: 2832 .L196: 2833 .LCFI38: 2834 .cfi_def_cfa_offset 0 2835 .cfi_restore 4 2836 .cfi_restore 14 1472:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2837 .loc 1 1472 12 is_stmt 0 view .LVU984 2838 00c6 0220 movs r0, #2 1547:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2839 .loc 1 1547 1 view .LVU985 2840 00c8 7047 bx lr 2841 .L197: 2842 .LCFI39: 2843 .cfi_def_cfa_offset 8 2844 .cfi_offset 4, -8 2845 .cfi_offset 14, -4 1489:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2846 .loc 1 1489 3 view .LVU986 2847 00ca 0220 movs r0, #2 2848 00cc E0E7 b .L190 2849 .L205: 2850 00ce 00BF .align 2 2851 .L204: 2852 00d0 00000000 .word SPI_RxISR_16BIT 2853 00d4 00000000 .word SPI_RxISR_8BIT 2854 .cfi_endproc 2855 .LFE247: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 136 2857 .section .text.HAL_SPI_Transmit_DMA,"ax",%progbits 2858 .align 1 2859 .global HAL_SPI_Transmit_DMA 2860 .syntax unified 2861 .thumb 2862 .thumb_func 2864 HAL_SPI_Transmit_DMA: 2865 .LVL159: 2866 .LFB249: 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2867 .loc 1 1645 1 is_stmt 1 view -0 2868 .cfi_startproc 2869 @ args = 0, pretend = 0, frame = 0 2870 @ frame_needed = 0, uses_anonymous_args = 0 1645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2871 .loc 1 1645 1 is_stmt 0 view .LVU988 2872 0000 38B5 push {r3, r4, r5, lr} 2873 .LCFI40: 2874 .cfi_def_cfa_offset 16 2875 .cfi_offset 3, -16 2876 .cfi_offset 4, -12 2877 .cfi_offset 5, -8 2878 .cfi_offset 14, -4 1648:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2879 .loc 1 1648 3 is_stmt 1 view .LVU989 1651:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2880 .loc 1 1651 3 view .LVU990 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2881 .loc 1 1653 3 view .LVU991 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2882 .loc 1 1653 11 is_stmt 0 view .LVU992 2883 0002 90F85150 ldrb r5, [r0, #81] @ zero_extendqisi2 2884 0006 EDB2 uxtb r5, r5 1653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2885 .loc 1 1653 6 view .LVU993 2886 0008 012D cmp r5, #1 2887 000a 5DD1 bne .L211 2888 000c 0446 mov r4, r0 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2889 .loc 1 1658 3 is_stmt 1 view .LVU994 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2890 .loc 1 1658 6 is_stmt 0 view .LVU995 2891 000e 0029 cmp r1, #0 2892 0010 5BD0 beq .L207 1658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2893 .loc 1 1658 23 discriminator 1 view .LVU996 2894 0012 002A cmp r2, #0 2895 0014 59D0 beq .L207 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2896 .loc 1 1664 3 is_stmt 1 view .LVU997 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2897 .loc 1 1664 3 view .LVU998 2898 0016 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2 2899 001a 012B cmp r3, #1 2900 001c 57D0 beq .L212 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2901 .loc 1 1664 3 discriminator 2 view .LVU999 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 137 2902 001e 0123 movs r3, #1 2903 0020 80F85030 strb r3, [r0, #80] 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2904 .loc 1 1664 3 discriminator 2 view .LVU1000 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2905 .loc 1 1667 3 discriminator 2 view .LVU1001 1667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 2906 .loc 1 1667 21 is_stmt 0 discriminator 2 view .LVU1002 2907 0024 0323 movs r3, #3 2908 0026 80F85130 strb r3, [r0, #81] 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 2909 .loc 1 1668 3 is_stmt 1 discriminator 2 view .LVU1003 1668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pData; 2910 .loc 1 1668 21 is_stmt 0 discriminator 2 view .LVU1004 2911 002a 0023 movs r3, #0 2912 002c 4365 str r3, [r0, #84] 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2913 .loc 1 1669 3 is_stmt 1 discriminator 2 view .LVU1005 1669:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 2914 .loc 1 1669 21 is_stmt 0 discriminator 2 view .LVU1006 2915 002e 0163 str r1, [r0, #48] 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2916 .loc 1 1670 3 is_stmt 1 discriminator 2 view .LVU1007 1670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 2917 .loc 1 1670 21 is_stmt 0 discriminator 2 view .LVU1008 2918 0030 8286 strh r2, [r0, #52] @ movhi 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2919 .loc 1 1671 3 is_stmt 1 discriminator 2 view .LVU1009 1671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2920 .loc 1 1671 21 is_stmt 0 discriminator 2 view .LVU1010 2921 0032 C286 strh r2, [r0, #54] @ movhi 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 2922 .loc 1 1674 3 is_stmt 1 discriminator 2 view .LVU1011 1674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 2923 .loc 1 1674 21 is_stmt 0 discriminator 2 view .LVU1012 2924 0034 8363 str r3, [r0, #56] 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 2925 .loc 1 1675 3 is_stmt 1 discriminator 2 view .LVU1013 1675:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxISR = NULL; 2926 .loc 1 1675 21 is_stmt 0 discriminator 2 view .LVU1014 2927 0036 4364 str r3, [r0, #68] 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 2928 .loc 1 1676 3 is_stmt 1 discriminator 2 view .LVU1015 1676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = 0U; 2929 .loc 1 1676 21 is_stmt 0 discriminator 2 view .LVU1016 2930 0038 0364 str r3, [r0, #64] 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2931 .loc 1 1677 3 is_stmt 1 discriminator 2 view .LVU1017 1677:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 2932 .loc 1 1677 21 is_stmt 0 discriminator 2 view .LVU1018 2933 003a 8387 strh r3, [r0, #60] @ movhi 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2934 .loc 1 1678 3 is_stmt 1 discriminator 2 view .LVU1019 1678:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2935 .loc 1 1678 21 is_stmt 0 discriminator 2 view .LVU1020 2936 003c C387 strh r3, [r0, #62] @ movhi 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 138 2937 .loc 1 1681 3 is_stmt 1 discriminator 2 view .LVU1021 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2938 .loc 1 1681 17 is_stmt 0 discriminator 2 view .LVU1022 2939 003e 8368 ldr r3, [r0, #8] 1681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2940 .loc 1 1681 6 discriminator 2 view .LVU1023 2941 0040 B3F5004F cmp r3, #32768 2942 0044 2DD0 beq .L214 2943 .LVL160: 2944 .L208: 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2945 .loc 1 1697 3 is_stmt 1 view .LVU1024 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2946 .loc 1 1697 7 is_stmt 0 view .LVU1025 2947 0046 A36C ldr r3, [r4, #72] 1697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2948 .loc 1 1697 38 view .LVU1026 2949 0048 224A ldr r2, .L216 2950 004a 1A64 str r2, [r3, #64] 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2951 .loc 1 1700 3 is_stmt 1 view .LVU1027 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2952 .loc 1 1700 7 is_stmt 0 view .LVU1028 2953 004c A36C ldr r3, [r4, #72] 1700:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2954 .loc 1 1700 34 view .LVU1029 2955 004e 224A ldr r2, .L216+4 2956 0050 DA63 str r2, [r3, #60] 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2957 .loc 1 1703 3 is_stmt 1 view .LVU1030 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2958 .loc 1 1703 7 is_stmt 0 view .LVU1031 2959 0052 A36C ldr r3, [r4, #72] 1703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2960 .loc 1 1703 35 view .LVU1032 2961 0054 214A ldr r2, .L216+8 2962 0056 DA64 str r2, [r3, #76] 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2963 .loc 1 1706 3 is_stmt 1 view .LVU1033 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2964 .loc 1 1706 7 is_stmt 0 view .LVU1034 2965 0058 A36C ldr r3, [r4, #72] 1706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 2966 .loc 1 1706 35 view .LVU1035 2967 005a 0022 movs r2, #0 2968 005c 1A65 str r2, [r3, #80] 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2969 .loc 1 1709 3 is_stmt 1 view .LVU1036 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2970 .loc 1 1709 91 is_stmt 0 view .LVU1037 2971 005e 2268 ldr r2, [r4] 1710:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2972 .loc 1 1710 38 view .LVU1038 2973 0060 E38E ldrh r3, [r4, #54] 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2974 .loc 1 1709 17 view .LVU1039 2975 0062 9BB2 uxth r3, r3 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 139 2976 0064 0C32 adds r2, r2, #12 2977 0066 216B ldr r1, [r4, #48] 2978 .LVL161: 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2979 .loc 1 1709 17 view .LVU1040 2980 0068 A06C ldr r0, [r4, #72] 2981 .LVL162: 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2982 .loc 1 1709 17 view .LVU1041 2983 006a FFF7FEFF bl HAL_DMA_Start_IT 2984 .LVL163: 1709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 2985 .loc 1 1709 6 view .LVU1042 2986 006e 0146 mov r1, r0 2987 0070 10BB cbnz r0, .L215 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2988 .loc 1 1720 3 is_stmt 1 view .LVU1043 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2989 .loc 1 1720 12 is_stmt 0 view .LVU1044 2990 0072 2368 ldr r3, [r4] 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2991 .loc 1 1720 22 view .LVU1045 2992 0074 1A68 ldr r2, [r3] 1720:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 2993 .loc 1 1720 6 view .LVU1046 2994 0076 12F0400F tst r2, #64 2995 007a 03D1 bne .L210 1723:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 2996 .loc 1 1723 5 is_stmt 1 view .LVU1047 2997 007c 1A68 ldr r2, [r3] 2998 007e 42F04002 orr r2, r2, #64 2999 0082 1A60 str r2, [r3] 3000 .L210: 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3001 .loc 1 1727 3 view .LVU1048 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3002 .loc 1 1727 3 view .LVU1049 3003 0084 0023 movs r3, #0 3004 0086 84F85030 strb r3, [r4, #80] 1727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3005 .loc 1 1727 3 view .LVU1050 1730:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3006 .loc 1 1730 3 view .LVU1051 3007 008a 2268 ldr r2, [r4] 3008 008c 5368 ldr r3, [r2, #4] 3009 008e 43F02003 orr r3, r3, #32 3010 0092 5360 str r3, [r2, #4] 1733:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3011 .loc 1 1733 3 view .LVU1052 3012 0094 2268 ldr r2, [r4] 3013 0096 5368 ldr r3, [r2, #4] 3014 0098 43F00203 orr r3, r3, #2 3015 009c 5360 str r3, [r2, #4] 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3016 .loc 1 1735 3 view .LVU1053 1735:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3017 .loc 1 1735 10 is_stmt 0 view .LVU1054 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 140 3018 009e 0D46 mov r5, r1 3019 00a0 13E0 b .L207 3020 .LVL164: 3021 .L214: 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 3022 .loc 1 1684 5 is_stmt 1 view .LVU1055 3023 00a2 0268 ldr r2, [r0] 3024 .LVL165: 1684:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_TX(hspi); 3025 .loc 1 1684 5 is_stmt 0 view .LVU1056 3026 00a4 1368 ldr r3, [r2] 3027 00a6 23F04003 bic r3, r3, #64 3028 00aa 1360 str r3, [r2] 3029 .LVL166: 1685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3030 .loc 1 1685 5 is_stmt 1 view .LVU1057 3031 00ac 0268 ldr r2, [r0] 3032 00ae 1368 ldr r3, [r2] 3033 00b0 43F48043 orr r3, r3, #16384 3034 00b4 1360 str r3, [r2] 3035 00b6 C6E7 b .L208 3036 .LVL167: 3037 .L215: 1713:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 3038 .loc 1 1713 5 view .LVU1058 3039 00b8 636D ldr r3, [r4, #84] 3040 00ba 43F01003 orr r3, r3, #16 3041 00be 6365 str r3, [r4, #84] 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3042 .loc 1 1715 5 view .LVU1059 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3043 .loc 1 1715 5 view .LVU1060 3044 00c0 0023 movs r3, #0 3045 00c2 84F85030 strb r3, [r4, #80] 1715:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3046 .loc 1 1715 5 view .LVU1061 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3047 .loc 1 1716 5 view .LVU1062 1716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3048 .loc 1 1716 12 is_stmt 0 view .LVU1063 3049 00c6 00E0 b .L207 3050 .LVL168: 3051 .L211: 1655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3052 .loc 1 1655 12 view .LVU1064 3053 00c8 0225 movs r5, #2 3054 .LVL169: 3055 .L207: 1736:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3056 .loc 1 1736 1 view .LVU1065 3057 00ca 2846 mov r0, r5 3058 00cc 38BD pop {r3, r4, r5, pc} 3059 .LVL170: 3060 .L212: 1664:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3061 .loc 1 1664 3 view .LVU1066 3062 00ce 0225 movs r5, #2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 141 3063 00d0 FBE7 b .L207 3064 .L217: 3065 00d2 00BF .align 2 3066 .L216: 3067 00d4 00000000 .word SPI_DMAHalfTransmitCplt 3068 00d8 00000000 .word SPI_DMATransmitCplt 3069 00dc 00000000 .word SPI_DMAError 3070 .cfi_endproc 3071 .LFE249: 3073 .section .text.HAL_SPI_TransmitReceive_DMA,"ax",%progbits 3074 .align 1 3075 .global HAL_SPI_TransmitReceive_DMA 3076 .syntax unified 3077 .thumb 3078 .thumb_func 3080 HAL_SPI_TransmitReceive_DMA: 3081 .LVL171: 3082 .LFB251: 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 3083 .loc 1 1860 1 is_stmt 1 view -0 3084 .cfi_startproc 3085 @ args = 0, pretend = 0, frame = 0 3086 @ frame_needed = 0, uses_anonymous_args = 0 1860:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tmp_mode; 3087 .loc 1 1860 1 is_stmt 0 view .LVU1068 3088 0000 38B5 push {r3, r4, r5, lr} 3089 .LCFI41: 3090 .cfi_def_cfa_offset 16 3091 .cfi_offset 3, -16 3092 .cfi_offset 4, -12 3093 .cfi_offset 5, -8 3094 .cfi_offset 14, -4 3095 0002 0446 mov r4, r0 1861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_SPI_StateTypeDef tmp_state; 3096 .loc 1 1861 3 is_stmt 1 view .LVU1069 1862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3097 .loc 1 1862 3 view .LVU1070 1865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** assert_param(IS_SPI_DMA_HANDLE(hspi->hdmatx)); 3098 .loc 1 1865 3 view .LVU1071 1866:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3099 .loc 1 1866 3 view .LVU1072 1869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3100 .loc 1 1869 3 view .LVU1073 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 3101 .loc 1 1872 3 view .LVU1074 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 3102 .loc 1 1872 23 is_stmt 0 view .LVU1075 3103 0004 90F85100 ldrb r0, [r0, #81] @ zero_extendqisi2 3104 .LVL172: 1872:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** tmp_mode = hspi->Init.Mode; 3105 .loc 1 1872 23 view .LVU1076 3106 0008 C0B2 uxtb r0, r0 3107 .LVL173: 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3108 .loc 1 1873 3 is_stmt 1 view .LVU1077 1873:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3109 .loc 1 1873 23 is_stmt 0 view .LVU1078 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 142 3110 000a 6568 ldr r5, [r4, #4] 3111 .LVL174: 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 3112 .loc 1 1875 3 is_stmt 1 view .LVU1079 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 3113 .loc 1 1875 6 is_stmt 0 view .LVU1080 3114 000c 0128 cmp r0, #1 3115 000e 0AD0 beq .L219 1875:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_st 3116 .loc 1 1875 7 discriminator 1 view .LVU1081 3117 0010 B5F5827F cmp r5, #260 3118 0014 40F08B80 bne .L227 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3119 .loc 1 1876 54 view .LVU1082 3120 0018 A568 ldr r5, [r4, #8] 3121 .LVL175: 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3122 .loc 1 1876 40 view .LVU1083 3123 001a 002D cmp r5, #0 3124 001c 40F08980 bne .L228 1876:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3125 .loc 1 1876 90 discriminator 1 view .LVU1084 3126 0020 0428 cmp r0, #4 3127 0022 40F08880 bne .L229 3128 .L219: 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3129 .loc 1 1881 3 is_stmt 1 view .LVU1085 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3130 .loc 1 1881 6 is_stmt 0 view .LVU1086 3131 0026 0029 cmp r1, #0 3132 0028 00F08780 beq .L230 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3133 .loc 1 1881 25 discriminator 1 view .LVU1087 3134 002c 002A cmp r2, #0 3135 002e 00F08680 beq .L231 1881:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3136 .loc 1 1881 46 discriminator 2 view .LVU1088 3137 0032 002B cmp r3, #0 3138 0034 00F08580 beq .L232 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3139 .loc 1 1887 3 is_stmt 1 view .LVU1089 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3140 .loc 1 1887 3 view .LVU1090 3141 0038 94F85000 ldrb r0, [r4, #80] @ zero_extendqisi2 3142 .LVL176: 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3143 .loc 1 1887 3 is_stmt 0 view .LVU1091 3144 003c 0128 cmp r0, #1 3145 003e 00F08280 beq .L233 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3146 .loc 1 1887 3 is_stmt 1 discriminator 2 view .LVU1092 3147 0042 0120 movs r0, #1 3148 0044 84F85000 strb r0, [r4, #80] 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3149 .loc 1 1887 3 discriminator 2 view .LVU1093 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3150 .loc 1 1890 3 discriminator 2 view .LVU1094 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 143 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3151 .loc 1 1890 11 is_stmt 0 discriminator 2 view .LVU1095 3152 0048 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2 3153 004c C0B2 uxtb r0, r0 1890:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3154 .loc 1 1890 6 discriminator 2 view .LVU1096 3155 004e 0428 cmp r0, #4 3156 0050 02D0 beq .L221 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3157 .loc 1 1892 5 is_stmt 1 view .LVU1097 1892:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3158 .loc 1 1892 17 is_stmt 0 view .LVU1098 3159 0052 0520 movs r0, #5 3160 0054 84F85100 strb r0, [r4, #81] 3161 .L221: 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 3162 .loc 1 1896 3 is_stmt 1 view .LVU1099 1896:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr = (const uint8_t *)pTxData; 3163 .loc 1 1896 21 is_stmt 0 view .LVU1100 3164 0058 0020 movs r0, #0 3165 005a 6065 str r0, [r4, #84] 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 3166 .loc 1 1897 3 is_stmt 1 view .LVU1101 1897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = Size; 3167 .loc 1 1897 21 is_stmt 0 view .LVU1102 3168 005c 2163 str r1, [r4, #48] 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 3169 .loc 1 1898 3 is_stmt 1 view .LVU1103 1898:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = Size; 3170 .loc 1 1898 21 is_stmt 0 view .LVU1104 3171 005e A386 strh r3, [r4, #52] @ movhi 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 3172 .loc 1 1899 3 is_stmt 1 view .LVU1105 1899:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pRxData; 3173 .loc 1 1899 21 is_stmt 0 view .LVU1106 3174 0060 E386 strh r3, [r4, #54] @ movhi 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 3175 .loc 1 1900 3 is_stmt 1 view .LVU1107 1900:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 3176 .loc 1 1900 21 is_stmt 0 view .LVU1108 3177 0062 A263 str r2, [r4, #56] 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 3178 .loc 1 1901 3 is_stmt 1 view .LVU1109 1901:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 3179 .loc 1 1901 21 is_stmt 0 view .LVU1110 3180 0064 A387 strh r3, [r4, #60] @ movhi 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3181 .loc 1 1902 3 is_stmt 1 view .LVU1111 1902:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3182 .loc 1 1902 21 is_stmt 0 view .LVU1112 3183 0066 E387 strh r3, [r4, #62] @ movhi 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 3184 .loc 1 1905 3 is_stmt 1 view .LVU1113 1905:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 3185 .loc 1 1905 21 is_stmt 0 view .LVU1114 3186 0068 2064 str r0, [r4, #64] 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 144 3187 .loc 1 1906 3 is_stmt 1 view .LVU1115 1906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3188 .loc 1 1906 21 is_stmt 0 view .LVU1116 3189 006a 6064 str r0, [r4, #68] 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3190 .loc 1 1917 3 is_stmt 1 view .LVU1117 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3191 .loc 1 1917 11 is_stmt 0 view .LVU1118 3192 006c 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 3193 .LVL177: 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3194 .loc 1 1917 11 view .LVU1119 3195 0070 DBB2 uxtb r3, r3 1917:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3196 .loc 1 1917 6 view .LVU1120 3197 0072 042B cmp r3, #4 3198 0074 1DD0 beq .L235 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; 3199 .loc 1 1926 5 is_stmt 1 view .LVU1121 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; 3200 .loc 1 1926 9 is_stmt 0 view .LVU1122 3201 0076 E36C ldr r3, [r4, #76] 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; 3202 .loc 1 1926 40 view .LVU1123 3203 0078 344A ldr r2, .L237 3204 .LVL178: 1926:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMATransmitReceiveCplt; 3205 .loc 1 1926 40 view .LVU1124 3206 007a 1A64 str r2, [r3, #64] 3207 .LVL179: 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3208 .loc 1 1927 5 is_stmt 1 view .LVU1125 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3209 .loc 1 1927 9 is_stmt 0 view .LVU1126 3210 007c E36C ldr r3, [r4, #76] 1927:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3211 .loc 1 1927 40 view .LVU1127 3212 007e 344A ldr r2, .L237+4 3213 0080 DA63 str r2, [r3, #60] 3214 .L223: 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3215 .loc 1 1931 3 is_stmt 1 view .LVU1128 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3216 .loc 1 1931 7 is_stmt 0 view .LVU1129 3217 0082 E36C ldr r3, [r4, #76] 1931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3218 .loc 1 1931 35 view .LVU1130 3219 0084 334A ldr r2, .L237+8 3220 0086 DA64 str r2, [r3, #76] 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3221 .loc 1 1934 3 is_stmt 1 view .LVU1131 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3222 .loc 1 1934 7 is_stmt 0 view .LVU1132 3223 0088 E36C ldr r3, [r4, #76] 1934:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3224 .loc 1 1934 35 view .LVU1133 3225 008a 0022 movs r2, #0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 145 3226 008c 1A65 str r2, [r3, #80] 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3227 .loc 1 1937 3 is_stmt 1 view .LVU1134 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3228 .loc 1 1937 63 is_stmt 0 view .LVU1135 3229 008e 2168 ldr r1, [r4] 3230 .LVL180: 1938:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3231 .loc 1 1938 38 view .LVU1136 3232 0090 E38F ldrh r3, [r4, #62] 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3233 .loc 1 1937 17 view .LVU1137 3234 0092 9BB2 uxth r3, r3 3235 0094 A26B ldr r2, [r4, #56] 3236 0096 0C31 adds r1, r1, #12 3237 0098 E06C ldr r0, [r4, #76] 3238 009a FFF7FEFF bl HAL_DMA_Start_IT 3239 .LVL181: 1937:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3240 .loc 1 1937 6 view .LVU1138 3241 009e 78B1 cbz r0, .L224 1941:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 3242 .loc 1 1941 5 is_stmt 1 view .LVU1139 3243 00a0 636D ldr r3, [r4, #84] 3244 00a2 43F01003 orr r3, r3, #16 3245 00a6 6365 str r3, [r4, #84] 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3246 .loc 1 1943 5 view .LVU1140 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3247 .loc 1 1943 5 view .LVU1141 3248 00a8 0023 movs r3, #0 3249 00aa 84F85030 strb r3, [r4, #80] 1943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3250 .loc 1 1943 5 view .LVU1142 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3251 .loc 1 1944 5 view .LVU1143 1944:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3252 .loc 1 1944 12 is_stmt 0 view .LVU1144 3253 00ae 0120 movs r0, #1 3254 00b0 3EE0 b .L220 3255 .LVL182: 3256 .L235: 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 3257 .loc 1 1920 5 is_stmt 1 view .LVU1145 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 3258 .loc 1 1920 9 is_stmt 0 view .LVU1146 3259 00b2 E36C ldr r3, [r4, #76] 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 3260 .loc 1 1920 40 view .LVU1147 3261 00b4 284A ldr r2, .L237+12 3262 .LVL183: 1920:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmarx->XferCpltCallback = SPI_DMAReceiveCplt; 3263 .loc 1 1920 40 view .LVU1148 3264 00b6 1A64 str r2, [r3, #64] 3265 .LVL184: 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3266 .loc 1 1921 5 is_stmt 1 view .LVU1149 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 146 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3267 .loc 1 1921 9 is_stmt 0 view .LVU1150 3268 00b8 E36C ldr r3, [r4, #76] 1921:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3269 .loc 1 1921 40 view .LVU1151 3270 00ba 284A ldr r2, .L237+16 3271 00bc DA63 str r2, [r3, #60] 3272 00be E0E7 b .L223 3273 .LVL185: 3274 .L224: 1948:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3275 .loc 1 1948 3 is_stmt 1 view .LVU1152 3276 00c0 2268 ldr r2, [r4] 3277 00c2 5368 ldr r3, [r2, #4] 3278 00c4 43F00103 orr r3, r3, #1 3279 00c8 5360 str r3, [r2, #4] 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL; 3280 .loc 1 1952 3 view .LVU1153 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL; 3281 .loc 1 1952 7 is_stmt 0 view .LVU1154 3282 00ca A26C ldr r2, [r4, #72] 1952:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferCpltCallback = NULL; 3283 .loc 1 1952 38 view .LVU1155 3284 00cc 0023 movs r3, #0 3285 00ce 1364 str r3, [r2, #64] 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL; 3286 .loc 1 1953 3 is_stmt 1 view .LVU1156 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL; 3287 .loc 1 1953 7 is_stmt 0 view .LVU1157 3288 00d0 A26C ldr r2, [r4, #72] 1953:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferErrorCallback = NULL; 3289 .loc 1 1953 38 view .LVU1158 3290 00d2 D363 str r3, [r2, #60] 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 3291 .loc 1 1954 3 is_stmt 1 view .LVU1159 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 3292 .loc 1 1954 7 is_stmt 0 view .LVU1160 3293 00d4 A26C ldr r2, [r4, #72] 1954:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->hdmatx->XferAbortCallback = NULL; 3294 .loc 1 1954 38 view .LVU1161 3295 00d6 D364 str r3, [r2, #76] 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3296 .loc 1 1955 3 is_stmt 1 view .LVU1162 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3297 .loc 1 1955 7 is_stmt 0 view .LVU1163 3298 00d8 A26C ldr r2, [r4, #72] 1955:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3299 .loc 1 1955 38 view .LVU1164 3300 00da 1365 str r3, [r2, #80] 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 3301 .loc 1 1958 3 is_stmt 1 view .LVU1165 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 3302 .loc 1 1958 91 is_stmt 0 view .LVU1166 3303 00dc 2268 ldr r2, [r4] 1959:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3304 .loc 1 1959 38 view .LVU1167 3305 00de E38E ldrh r3, [r4, #54] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 147 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 3306 .loc 1 1958 17 view .LVU1168 3307 00e0 9BB2 uxth r3, r3 3308 00e2 0C32 adds r2, r2, #12 3309 00e4 216B ldr r1, [r4, #48] 3310 00e6 A06C ldr r0, [r4, #72] 3311 00e8 FFF7FEFF bl HAL_DMA_Start_IT 3312 .LVL186: 1958:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount)) 3313 .loc 1 1958 6 view .LVU1169 3314 00ec B0B9 cbnz r0, .L236 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3315 .loc 1 1969 3 is_stmt 1 view .LVU1170 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3316 .loc 1 1969 12 is_stmt 0 view .LVU1171 3317 00ee 2368 ldr r3, [r4] 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3318 .loc 1 1969 22 view .LVU1172 3319 00f0 1A68 ldr r2, [r3] 1969:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3320 .loc 1 1969 6 view .LVU1173 3321 00f2 12F0400F tst r2, #64 3322 00f6 03D1 bne .L226 1972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3323 .loc 1 1972 5 is_stmt 1 view .LVU1174 3324 00f8 1A68 ldr r2, [r3] 3325 00fa 42F04002 orr r2, r2, #64 3326 00fe 1A60 str r2, [r3] 3327 .L226: 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3328 .loc 1 1976 3 view .LVU1175 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3329 .loc 1 1976 3 view .LVU1176 3330 0100 0023 movs r3, #0 3331 0102 84F85030 strb r3, [r4, #80] 1976:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3332 .loc 1 1976 3 view .LVU1177 1979:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3333 .loc 1 1979 3 view .LVU1178 3334 0106 2268 ldr r2, [r4] 3335 0108 5368 ldr r3, [r2, #4] 3336 010a 43F02003 orr r3, r3, #32 3337 010e 5360 str r3, [r2, #4] 1982:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3338 .loc 1 1982 3 view .LVU1179 3339 0110 2268 ldr r2, [r4] 3340 0112 5368 ldr r3, [r2, #4] 3341 0114 43F00203 orr r3, r3, #2 3342 0118 5360 str r3, [r2, #4] 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3343 .loc 1 1984 3 view .LVU1180 1984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3344 .loc 1 1984 10 is_stmt 0 view .LVU1181 3345 011a 09E0 b .L220 3346 .L236: 1962:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 3347 .loc 1 1962 5 is_stmt 1 view .LVU1182 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 148 3348 011c 636D ldr r3, [r4, #84] 3349 011e 43F01003 orr r3, r3, #16 3350 0122 6365 str r3, [r4, #84] 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3351 .loc 1 1964 5 view .LVU1183 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3352 .loc 1 1964 5 view .LVU1184 3353 0124 0023 movs r3, #0 3354 0126 84F85030 strb r3, [r4, #80] 1964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3355 .loc 1 1964 5 view .LVU1185 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3356 .loc 1 1965 5 view .LVU1186 1965:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3357 .loc 1 1965 12 is_stmt 0 view .LVU1187 3358 012a 0120 movs r0, #1 3359 012c 00E0 b .L220 3360 .LVL187: 3361 .L227: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3362 .loc 1 1878 12 view .LVU1188 3363 012e 0220 movs r0, #2 3364 .LVL188: 3365 .L220: 1985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3366 .loc 1 1985 1 view .LVU1189 3367 0130 38BD pop {r3, r4, r5, pc} 3368 .LVL189: 3369 .L228: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3370 .loc 1 1878 12 view .LVU1190 3371 0132 0220 movs r0, #2 3372 .LVL190: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3373 .loc 1 1878 12 view .LVU1191 3374 0134 FCE7 b .L220 3375 .LVL191: 3376 .L229: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3377 .loc 1 1878 12 view .LVU1192 3378 0136 0220 movs r0, #2 3379 .LVL192: 1878:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3380 .loc 1 1878 12 view .LVU1193 3381 0138 FAE7 b .L220 3382 .LVL193: 3383 .L230: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3384 .loc 1 1883 12 view .LVU1194 3385 013a 0120 movs r0, #1 3386 .LVL194: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3387 .loc 1 1883 12 view .LVU1195 3388 013c F8E7 b .L220 3389 .LVL195: 3390 .L231: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 149 3391 .loc 1 1883 12 view .LVU1196 3392 013e 0120 movs r0, #1 3393 .LVL196: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3394 .loc 1 1883 12 view .LVU1197 3395 0140 F6E7 b .L220 3396 .LVL197: 3397 .L232: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3398 .loc 1 1883 12 view .LVU1198 3399 0142 0120 movs r0, #1 3400 .LVL198: 1883:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3401 .loc 1 1883 12 view .LVU1199 3402 0144 F4E7 b .L220 3403 .L233: 1887:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3404 .loc 1 1887 3 view .LVU1200 3405 0146 0220 movs r0, #2 3406 0148 F2E7 b .L220 3407 .L238: 3408 014a 00BF .align 2 3409 .L237: 3410 014c 00000000 .word SPI_DMAHalfTransmitReceiveCplt 3411 0150 00000000 .word SPI_DMATransmitReceiveCplt 3412 0154 00000000 .word SPI_DMAError 3413 0158 00000000 .word SPI_DMAHalfReceiveCplt 3414 015c 00000000 .word SPI_DMAReceiveCplt 3415 .cfi_endproc 3416 .LFE251: 3418 .section .text.HAL_SPI_Receive_DMA,"ax",%progbits 3419 .align 1 3420 .global HAL_SPI_Receive_DMA 3421 .syntax unified 3422 .thumb 3423 .thumb_func 3425 HAL_SPI_Receive_DMA: 3426 .LVL199: 3427 .LFB250: 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check rx dma handle */ 3428 .loc 1 1749 1 is_stmt 1 view -0 3429 .cfi_startproc 3430 @ args = 0, pretend = 0, frame = 0 3431 @ frame_needed = 0, uses_anonymous_args = 0 1749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Check rx dma handle */ 3432 .loc 1 1749 1 is_stmt 0 view .LVU1202 3433 0000 38B5 push {r3, r4, r5, lr} 3434 .LCFI42: 3435 .cfi_def_cfa_offset 16 3436 .cfi_offset 3, -16 3437 .cfi_offset 4, -12 3438 .cfi_offset 5, -8 3439 .cfi_offset 14, -4 1751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3440 .loc 1 1751 3 is_stmt 1 view .LVU1203 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3441 .loc 1 1753 3 view .LVU1204 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 150 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3442 .loc 1 1753 11 is_stmt 0 view .LVU1205 3443 0002 90F85150 ldrb r5, [r0, #81] @ zero_extendqisi2 3444 0006 EDB2 uxtb r5, r5 1753:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3445 .loc 1 1753 6 view .LVU1206 3446 0008 012D cmp r5, #1 3447 000a 6BD1 bne .L245 3448 000c 0446 mov r4, r0 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3449 .loc 1 1758 3 is_stmt 1 view .LVU1207 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3450 .loc 1 1758 18 is_stmt 0 view .LVU1208 3451 000e 8068 ldr r0, [r0, #8] 3452 .LVL200: 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3453 .loc 1 1758 6 view .LVU1209 3454 0010 18B9 cbnz r0, .L241 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3455 .loc 1 1758 68 discriminator 1 view .LVU1210 3456 0012 6368 ldr r3, [r4, #4] 1758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3457 .loc 1 1758 54 discriminator 1 view .LVU1211 3458 0014 B3F5827F cmp r3, #260 3459 0018 47D0 beq .L248 3460 .L241: 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3461 .loc 1 1769 3 is_stmt 1 view .LVU1212 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3462 .loc 1 1769 6 is_stmt 0 view .LVU1213 3463 001a 0029 cmp r1, #0 3464 001c 63D0 beq .L240 1769:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3465 .loc 1 1769 23 discriminator 1 view .LVU1214 3466 001e 002A cmp r2, #0 3467 0020 61D0 beq .L240 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3468 .loc 1 1775 3 is_stmt 1 view .LVU1215 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3469 .loc 1 1775 3 view .LVU1216 3470 0022 94F85030 ldrb r3, [r4, #80] @ zero_extendqisi2 3471 0026 012B cmp r3, #1 3472 0028 5FD0 beq .L246 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3473 .loc 1 1775 3 discriminator 2 view .LVU1217 3474 002a 0123 movs r3, #1 3475 002c 84F85030 strb r3, [r4, #80] 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3476 .loc 1 1775 3 discriminator 2 view .LVU1218 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 3477 .loc 1 1778 3 discriminator 2 view .LVU1219 1778:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_NONE; 3478 .loc 1 1778 21 is_stmt 0 discriminator 2 view .LVU1220 3479 0030 0423 movs r3, #4 3480 0032 84F85130 strb r3, [r4, #81] 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 3481 .loc 1 1779 3 is_stmt 1 discriminator 2 view .LVU1221 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 151 1779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr = (uint8_t *)pData; 3482 .loc 1 1779 21 is_stmt 0 discriminator 2 view .LVU1222 3483 0036 0023 movs r3, #0 3484 0038 6365 str r3, [r4, #84] 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 3485 .loc 1 1780 3 is_stmt 1 discriminator 2 view .LVU1223 1780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferSize = Size; 3486 .loc 1 1780 21 is_stmt 0 discriminator 2 view .LVU1224 3487 003a A163 str r1, [r4, #56] 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 3488 .loc 1 1781 3 is_stmt 1 discriminator 2 view .LVU1225 1781:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = Size; 3489 .loc 1 1781 21 is_stmt 0 discriminator 2 view .LVU1226 3490 003c A287 strh r2, [r4, #60] @ movhi 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3491 .loc 1 1782 3 is_stmt 1 discriminator 2 view .LVU1227 1782:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3492 .loc 1 1782 21 is_stmt 0 discriminator 2 view .LVU1228 3493 003e E287 strh r2, [r4, #62] @ movhi 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 3494 .loc 1 1785 3 is_stmt 1 discriminator 2 view .LVU1229 1785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxISR = NULL; 3495 .loc 1 1785 21 is_stmt 0 discriminator 2 view .LVU1230 3496 0040 2364 str r3, [r4, #64] 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 3497 .loc 1 1786 3 is_stmt 1 discriminator 2 view .LVU1231 1786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferSize = 0U; 3498 .loc 1 1786 21 is_stmt 0 discriminator 2 view .LVU1232 3499 0042 6364 str r3, [r4, #68] 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3500 .loc 1 1787 3 is_stmt 1 discriminator 2 view .LVU1233 1787:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3501 .loc 1 1787 21 is_stmt 0 discriminator 2 view .LVU1234 3502 0044 A386 strh r3, [r4, #52] @ movhi 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3503 .loc 1 1788 3 is_stmt 1 discriminator 2 view .LVU1235 1788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3504 .loc 1 1788 21 is_stmt 0 discriminator 2 view .LVU1236 3505 0046 E386 strh r3, [r4, #54] @ movhi 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3506 .loc 1 1791 3 is_stmt 1 discriminator 2 view .LVU1237 1791:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3507 .loc 1 1791 6 is_stmt 0 discriminator 2 view .LVU1238 3508 0048 B0F5004F cmp r0, #32768 3509 004c 37D0 beq .L249 3510 .LVL201: 3511 .L242: 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3512 .loc 1 1807 3 is_stmt 1 view .LVU1239 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3513 .loc 1 1807 7 is_stmt 0 view .LVU1240 3514 004e E36C ldr r3, [r4, #76] 1807:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3515 .loc 1 1807 38 view .LVU1241 3516 0050 274A ldr r2, .L251 3517 0052 1A64 str r2, [r3, #64] 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 152 3518 .loc 1 1810 3 is_stmt 1 view .LVU1242 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3519 .loc 1 1810 7 is_stmt 0 view .LVU1243 3520 0054 E36C ldr r3, [r4, #76] 1810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3521 .loc 1 1810 34 view .LVU1244 3522 0056 274A ldr r2, .L251+4 3523 0058 DA63 str r2, [r3, #60] 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3524 .loc 1 1813 3 is_stmt 1 view .LVU1245 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3525 .loc 1 1813 7 is_stmt 0 view .LVU1246 3526 005a E36C ldr r3, [r4, #76] 1813:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3527 .loc 1 1813 35 view .LVU1247 3528 005c 264A ldr r2, .L251+8 3529 005e DA64 str r2, [r3, #76] 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3530 .loc 1 1816 3 is_stmt 1 view .LVU1248 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3531 .loc 1 1816 7 is_stmt 0 view .LVU1249 3532 0060 E36C ldr r3, [r4, #76] 1816:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3533 .loc 1 1816 35 view .LVU1250 3534 0062 0022 movs r2, #0 3535 0064 1A65 str r2, [r3, #80] 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3536 .loc 1 1819 3 is_stmt 1 view .LVU1251 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3537 .loc 1 1819 63 is_stmt 0 view .LVU1252 3538 0066 2168 ldr r1, [r4] 3539 .LVL202: 1820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3540 .loc 1 1820 38 view .LVU1253 3541 0068 E38F ldrh r3, [r4, #62] 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3542 .loc 1 1819 17 view .LVU1254 3543 006a 9BB2 uxth r3, r3 3544 006c A26B ldr r2, [r4, #56] 3545 006e 0C31 adds r1, r1, #12 3546 0070 E06C ldr r0, [r4, #76] 3547 0072 FFF7FEFF bl HAL_DMA_Start_IT 3548 .LVL203: 1819:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount)) 3549 .loc 1 1819 6 view .LVU1255 3550 0076 0146 mov r1, r0 3551 0078 60BB cbnz r0, .L250 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3552 .loc 1 1830 3 is_stmt 1 view .LVU1256 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3553 .loc 1 1830 12 is_stmt 0 view .LVU1257 3554 007a 2368 ldr r3, [r4] 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3555 .loc 1 1830 22 view .LVU1258 3556 007c 1A68 ldr r2, [r3] 1830:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3557 .loc 1 1830 6 view .LVU1259 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 153 3558 007e 12F0400F tst r2, #64 3559 0082 03D1 bne .L244 1833:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3560 .loc 1 1833 5 is_stmt 1 view .LVU1260 3561 0084 1A68 ldr r2, [r3] 3562 0086 42F04002 orr r2, r2, #64 3563 008a 1A60 str r2, [r3] 3564 .L244: 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3565 .loc 1 1837 3 view .LVU1261 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3566 .loc 1 1837 3 view .LVU1262 3567 008c 0023 movs r3, #0 3568 008e 84F85030 strb r3, [r4, #80] 1837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3569 .loc 1 1837 3 view .LVU1263 1840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3570 .loc 1 1840 3 view .LVU1264 3571 0092 2268 ldr r2, [r4] 3572 0094 5368 ldr r3, [r2, #4] 3573 0096 43F02003 orr r3, r3, #32 3574 009a 5360 str r3, [r2, #4] 1843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3575 .loc 1 1843 3 view .LVU1265 3576 009c 2268 ldr r2, [r4] 3577 009e 5368 ldr r3, [r2, #4] 3578 00a0 43F00103 orr r3, r3, #1 3579 00a4 5360 str r3, [r2, #4] 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3580 .loc 1 1845 3 view .LVU1266 1845:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3581 .loc 1 1845 10 is_stmt 0 view .LVU1267 3582 00a6 0D46 mov r5, r1 3583 00a8 1DE0 b .L240 3584 .LVL204: 3585 .L248: 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3586 .loc 1 1760 5 is_stmt 1 view .LVU1268 1760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3587 .loc 1 1760 17 is_stmt 0 view .LVU1269 3588 00aa 0423 movs r3, #4 3589 00ac 84F85130 strb r3, [r4, #81] 1763:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3590 .loc 1 1763 5 is_stmt 1 view .LVU1270 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3591 .loc 1 1766 5 view .LVU1271 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3592 .loc 1 1766 12 is_stmt 0 view .LVU1272 3593 00b0 1346 mov r3, r2 3594 00b2 0A46 mov r2, r1 3595 .LVL205: 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3596 .loc 1 1766 12 view .LVU1273 3597 00b4 2046 mov r0, r4 3598 00b6 FFF7FEFF bl HAL_SPI_TransmitReceive_DMA 3599 .LVL206: 1766:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 154 3600 .loc 1 1766 12 view .LVU1274 3601 00ba 0546 mov r5, r0 3602 00bc 13E0 b .L240 3603 .LVL207: 3604 .L249: 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 3605 .loc 1 1794 5 is_stmt 1 view .LVU1275 3606 00be 2268 ldr r2, [r4] 3607 .LVL208: 1794:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_1LINE_RX(hspi); 3608 .loc 1 1794 5 is_stmt 0 view .LVU1276 3609 00c0 1368 ldr r3, [r2] 3610 00c2 23F04003 bic r3, r3, #64 3611 00c6 1360 str r3, [r2] 3612 .LVL209: 1795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3613 .loc 1 1795 5 is_stmt 1 view .LVU1277 3614 00c8 2268 ldr r2, [r4] 3615 00ca 1368 ldr r3, [r2] 3616 00cc 23F48043 bic r3, r3, #16384 3617 00d0 1360 str r3, [r2] 3618 00d2 BCE7 b .L242 3619 .LVL210: 3620 .L250: 1823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Unlocked */ 3621 .loc 1 1823 5 view .LVU1278 3622 00d4 636D ldr r3, [r4, #84] 3623 00d6 43F01003 orr r3, r3, #16 3624 00da 6365 str r3, [r4, #84] 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3625 .loc 1 1825 5 view .LVU1279 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3626 .loc 1 1825 5 view .LVU1280 3627 00dc 0023 movs r3, #0 3628 00de 84F85030 strb r3, [r4, #80] 1825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return HAL_ERROR; 3629 .loc 1 1825 5 view .LVU1281 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3630 .loc 1 1826 5 view .LVU1282 1826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3631 .loc 1 1826 12 is_stmt 0 view .LVU1283 3632 00e2 00E0 b .L240 3633 .LVL211: 3634 .L245: 1755:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3635 .loc 1 1755 12 view .LVU1284 3636 00e4 0225 movs r5, #2 3637 .LVL212: 3638 .L240: 1846:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3639 .loc 1 1846 1 view .LVU1285 3640 00e6 2846 mov r0, r5 3641 00e8 38BD pop {r3, r4, r5, pc} 3642 .LVL213: 3643 .L246: 1775:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3644 .loc 1 1775 3 view .LVU1286 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 155 3645 00ea 0225 movs r5, #2 3646 00ec FBE7 b .L240 3647 .L252: 3648 00ee 00BF .align 2 3649 .L251: 3650 00f0 00000000 .word SPI_DMAHalfReceiveCplt 3651 00f4 00000000 .word SPI_DMAReceiveCplt 3652 00f8 00000000 .word SPI_DMAError 3653 .cfi_endproc 3654 .LFE250: 3656 .section .text.HAL_SPI_Abort,"ax",%progbits 3657 .align 1 3658 .global HAL_SPI_Abort 3659 .syntax unified 3660 .thumb 3661 .thumb_func 3663 HAL_SPI_Abort: 3664 .LVL214: 3665 .LFB252: 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 3666 .loc 1 2001 1 is_stmt 1 view -0 3667 .cfi_startproc 3668 @ args = 0, pretend = 0, frame = 16 3669 @ frame_needed = 0, uses_anonymous_args = 0 2001:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 3670 .loc 1 2001 1 is_stmt 0 view .LVU1288 3671 0000 10B5 push {r4, lr} 3672 .LCFI43: 3673 .cfi_def_cfa_offset 8 3674 .cfi_offset 4, -8 3675 .cfi_offset 14, -4 3676 0002 84B0 sub sp, sp, #16 3677 .LCFI44: 3678 .cfi_def_cfa_offset 24 3679 0004 0446 mov r4, r0 2002:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 3680 .loc 1 2002 3 is_stmt 1 view .LVU1289 2003:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t resetcount; 3681 .loc 1 2003 3 view .LVU1290 2004:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3682 .loc 1 2004 3 view .LVU1291 2007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 3683 .loc 1 2007 3 view .LVU1292 3684 .LVL215: 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 3685 .loc 1 2008 3 view .LVU1293 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 3686 .loc 1 2008 61 is_stmt 0 view .LVU1294 3687 0006 4B4B ldr r3, .L274 3688 0008 1B68 ldr r3, [r3] 3689 000a 4B4A ldr r2, .L274+4 3690 000c A2FB0323 umull r2, r3, r2, r3 3691 0010 5B0A lsrs r3, r3, #9 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 3692 .loc 1 2008 36 view .LVU1295 3693 0012 6422 movs r2, #100 3694 0014 02FB03F3 mul r3, r2, r3 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 156 2008:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 3695 .loc 1 2008 14 view .LVU1296 3696 0018 0293 str r3, [sp, #8] 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3697 .loc 1 2009 3 is_stmt 1 view .LVU1297 2009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3698 .loc 1 2009 9 is_stmt 0 view .LVU1298 3699 001a 029B ldr r3, [sp, #8] 3700 001c 0393 str r3, [sp, #12] 2012:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3701 .loc 1 2012 3 is_stmt 1 view .LVU1299 3702 001e 0268 ldr r2, [r0] 3703 0020 5368 ldr r3, [r2, #4] 3704 0022 23F02003 bic r3, r3, #32 3705 0026 5360 str r3, [r2, #4] 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3706 .loc 1 2015 3 view .LVU1300 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3707 .loc 1 2015 7 is_stmt 0 view .LVU1301 3708 0028 0268 ldr r2, [r0] 3709 002a 5368 ldr r3, [r2, #4] 2015:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3710 .loc 1 2015 6 view .LVU1302 3711 002c 13F0800F tst r3, #128 3712 0030 12D0 beq .L254 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 3713 .loc 1 2017 5 is_stmt 1 view .LVU1303 2017:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 3714 .loc 1 2017 17 is_stmt 0 view .LVU1304 3715 0032 424B ldr r3, .L274+8 3716 0034 4364 str r3, [r0, #68] 3717 .L257: 2019:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3718 .loc 1 2019 5 is_stmt 1 view .LVU1305 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3719 .loc 1 2021 7 view .LVU1306 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3720 .loc 1 2021 17 is_stmt 0 view .LVU1307 3721 0036 039B ldr r3, [sp, #12] 2021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3722 .loc 1 2021 10 view .LVU1308 3723 0038 43B1 cbz r3, .L271 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 3724 .loc 1 2026 7 is_stmt 1 view .LVU1309 2026:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 3725 .loc 1 2026 12 is_stmt 0 view .LVU1310 3726 003a 039B ldr r3, [sp, #12] 3727 003c 013B subs r3, r3, #1 3728 003e 0393 str r3, [sp, #12] 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3729 .loc 1 2027 13 is_stmt 1 view .LVU1311 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3730 .loc 1 2027 18 is_stmt 0 view .LVU1312 3731 0040 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 3732 0044 DBB2 uxtb r3, r3 2027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3733 .loc 1 2027 5 view .LVU1313 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 157 3734 0046 072B cmp r3, #7 3735 0048 F5D1 bne .L257 3736 004a 03E0 b .L256 3737 .L271: 2023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3738 .loc 1 2023 9 is_stmt 1 view .LVU1314 3739 004c 636D ldr r3, [r4, #84] 3740 004e 43F04003 orr r3, r3, #64 3741 0052 6365 str r3, [r4, #84] 2024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3742 .loc 1 2024 9 view .LVU1315 3743 .L256: 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3744 .loc 1 2029 5 view .LVU1316 2029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3745 .loc 1 2029 11 is_stmt 0 view .LVU1317 3746 0054 029B ldr r3, [sp, #8] 3747 0056 0393 str r3, [sp, #12] 3748 .L254: 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3749 .loc 1 2032 3 is_stmt 1 view .LVU1318 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3750 .loc 1 2032 7 is_stmt 0 view .LVU1319 3751 0058 5368 ldr r3, [r2, #4] 2032:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3752 .loc 1 2032 6 view .LVU1320 3753 005a 13F0400F tst r3, #64 3754 005e 12D0 beq .L258 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 3755 .loc 1 2034 5 is_stmt 1 view .LVU1321 2034:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 3756 .loc 1 2034 17 is_stmt 0 view .LVU1322 3757 0060 374B ldr r3, .L274+12 3758 0062 2364 str r3, [r4, #64] 3759 .L261: 2036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3760 .loc 1 2036 5 is_stmt 1 view .LVU1323 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3761 .loc 1 2038 7 view .LVU1324 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3762 .loc 1 2038 17 is_stmt 0 view .LVU1325 3763 0064 039B ldr r3, [sp, #12] 2038:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3764 .loc 1 2038 10 view .LVU1326 3765 0066 43B1 cbz r3, .L272 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 3766 .loc 1 2043 7 is_stmt 1 view .LVU1327 2043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 3767 .loc 1 2043 12 is_stmt 0 view .LVU1328 3768 0068 039B ldr r3, [sp, #12] 3769 006a 013B subs r3, r3, #1 3770 006c 0393 str r3, [sp, #12] 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3771 .loc 1 2044 13 is_stmt 1 view .LVU1329 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3772 .loc 1 2044 18 is_stmt 0 view .LVU1330 3773 006e 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 158 3774 0072 DBB2 uxtb r3, r3 2044:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 3775 .loc 1 2044 5 view .LVU1331 3776 0074 072B cmp r3, #7 3777 0076 F5D1 bne .L261 3778 0078 03E0 b .L260 3779 .L272: 2040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3780 .loc 1 2040 9 is_stmt 1 view .LVU1332 3781 007a 636D ldr r3, [r4, #84] 3782 007c 43F04003 orr r3, r3, #64 3783 0080 6365 str r3, [r4, #84] 2041:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3784 .loc 1 2041 9 view .LVU1333 3785 .L260: 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3786 .loc 1 2046 5 view .LVU1334 2046:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3787 .loc 1 2046 11 is_stmt 0 view .LVU1335 3788 0082 029B ldr r3, [sp, #8] 3789 0084 0393 str r3, [sp, #12] 3790 .L258: 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3791 .loc 1 2050 3 is_stmt 1 view .LVU1336 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3792 .loc 1 2050 7 is_stmt 0 view .LVU1337 3793 0086 5368 ldr r3, [r2, #4] 2050:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3794 .loc 1 2050 6 view .LVU1338 3795 0088 13F0020F tst r3, #2 3796 008c 1DD0 beq .L262 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3797 .loc 1 2053 5 is_stmt 1 view .LVU1339 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3798 .loc 1 2053 13 is_stmt 0 view .LVU1340 3799 008e A36C ldr r3, [r4, #72] 2053:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3800 .loc 1 2053 8 view .LVU1341 3801 0090 DBB1 cbz r3, .L262 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3802 .loc 1 2057 7 is_stmt 1 view .LVU1342 2057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3803 .loc 1 2057 39 is_stmt 0 view .LVU1343 3804 0092 0022 movs r2, #0 3805 0094 1A65 str r2, [r3, #80] 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3806 .loc 1 2060 7 is_stmt 1 view .LVU1344 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3807 .loc 1 2060 11 is_stmt 0 view .LVU1345 3808 0096 A06C ldr r0, [r4, #72] 3809 .LVL216: 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3810 .loc 1 2060 11 view .LVU1346 3811 0098 FFF7FEFF bl HAL_DMA_Abort 3812 .LVL217: 2060:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3813 .loc 1 2060 10 view .LVU1347 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 159 3814 009c 08B1 cbz r0, .L263 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3815 .loc 1 2062 9 is_stmt 1 view .LVU1348 2062:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3816 .loc 1 2062 25 is_stmt 0 view .LVU1349 3817 009e 4023 movs r3, #64 3818 00a0 6365 str r3, [r4, #84] 3819 .L263: 2066:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3820 .loc 1 2066 7 is_stmt 1 view .LVU1350 3821 00a2 2268 ldr r2, [r4] 3822 00a4 5368 ldr r3, [r2, #4] 3823 00a6 23F00203 bic r3, r3, #2 3824 00aa 5360 str r3, [r2, #4] 3825 .L265: 2069:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3826 .loc 1 2069 7 view .LVU1351 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3827 .loc 1 2071 9 view .LVU1352 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3828 .loc 1 2071 19 is_stmt 0 view .LVU1353 3829 00ac 039B ldr r3, [sp, #12] 2071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3830 .loc 1 2071 12 view .LVU1354 3831 00ae 43B1 cbz r3, .L273 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 3832 .loc 1 2076 9 is_stmt 1 view .LVU1355 2076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 3833 .loc 1 2076 14 is_stmt 0 view .LVU1356 3834 00b0 039B ldr r3, [sp, #12] 3835 00b2 013B subs r3, r3, #1 3836 00b4 0393 str r3, [sp, #12] 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3837 .loc 1 2077 15 is_stmt 1 view .LVU1357 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3838 .loc 1 2077 21 is_stmt 0 view .LVU1358 3839 00b6 2368 ldr r3, [r4] 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3840 .loc 1 2077 31 view .LVU1359 3841 00b8 9B68 ldr r3, [r3, #8] 2077:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3842 .loc 1 2077 7 view .LVU1360 3843 00ba 13F0020F tst r3, #2 3844 00be F5D0 beq .L265 3845 00c0 03E0 b .L262 3846 .L273: 2073:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 3847 .loc 1 2073 11 is_stmt 1 view .LVU1361 3848 00c2 636D ldr r3, [r4, #84] 3849 00c4 43F04003 orr r3, r3, #64 3850 00c8 6365 str r3, [r4, #84] 2074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3851 .loc 1 2074 11 view .LVU1362 3852 .L262: 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3853 .loc 1 2082 3 view .LVU1363 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 160 3854 .loc 1 2082 7 is_stmt 0 view .LVU1364 3855 00ca 2368 ldr r3, [r4] 3856 00cc 5B68 ldr r3, [r3, #4] 2082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3857 .loc 1 2082 6 view .LVU1365 3858 00ce 13F0010F tst r3, #1 3859 00d2 13D0 beq .L266 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3860 .loc 1 2085 5 is_stmt 1 view .LVU1366 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3861 .loc 1 2085 13 is_stmt 0 view .LVU1367 3862 00d4 E36C ldr r3, [r4, #76] 2085:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3863 .loc 1 2085 8 view .LVU1368 3864 00d6 8BB1 cbz r3, .L266 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3865 .loc 1 2089 7 is_stmt 1 view .LVU1369 2089:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3866 .loc 1 2089 39 is_stmt 0 view .LVU1370 3867 00d8 0022 movs r2, #0 3868 00da 1A65 str r2, [r3, #80] 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3869 .loc 1 2092 7 is_stmt 1 view .LVU1371 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3870 .loc 1 2092 11 is_stmt 0 view .LVU1372 3871 00dc E06C ldr r0, [r4, #76] 3872 00de FFF7FEFF bl HAL_DMA_Abort 3873 .LVL218: 2092:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3874 .loc 1 2092 10 view .LVU1373 3875 00e2 08B1 cbz r0, .L267 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3876 .loc 1 2094 9 is_stmt 1 view .LVU1374 2094:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3877 .loc 1 2094 25 is_stmt 0 view .LVU1375 3878 00e4 4023 movs r3, #64 3879 00e6 6365 str r3, [r4, #84] 3880 .L267: 2098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3881 .loc 1 2098 7 is_stmt 1 view .LVU1376 3882 00e8 2268 ldr r2, [r4] 3883 00ea 1368 ldr r3, [r2] 3884 00ec 23F04003 bic r3, r3, #64 3885 00f0 1360 str r3, [r2] 2101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3886 .loc 1 2101 7 view .LVU1377 3887 00f2 2268 ldr r2, [r4] 3888 00f4 5368 ldr r3, [r2, #4] 3889 00f6 23F00103 bic r3, r3, #1 3890 00fa 5360 str r3, [r2, #4] 3891 .L266: 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3892 .loc 1 2105 3 view .LVU1378 2105:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 3893 .loc 1 2105 21 is_stmt 0 view .LVU1379 3894 00fc 0023 movs r3, #0 3895 00fe E387 strh r3, [r4, #62] @ movhi ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 161 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3896 .loc 1 2106 3 is_stmt 1 view .LVU1380 2106:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3897 .loc 1 2106 21 is_stmt 0 view .LVU1381 3898 0100 E386 strh r3, [r4, #54] @ movhi 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3899 .loc 1 2109 3 is_stmt 1 view .LVU1382 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3900 .loc 1 2109 11 is_stmt 0 view .LVU1383 3901 0102 636D ldr r3, [r4, #84] 2109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 3902 .loc 1 2109 6 view .LVU1384 3903 0104 402B cmp r3, #64 3904 0106 12D0 beq .L269 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3905 .loc 1 2117 5 is_stmt 1 view .LVU1385 2117:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3906 .loc 1 2117 21 is_stmt 0 view .LVU1386 3907 0108 0020 movs r0, #0 3908 010a 6065 str r0, [r4, #84] 3909 .L268: 3910 .LVL219: 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3911 .loc 1 2121 3 is_stmt 1 view .LVU1387 3912 .LBB4: 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3913 .loc 1 2121 3 view .LVU1388 3914 010c 0022 movs r2, #0 3915 010e 0092 str r2, [sp] 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3916 .loc 1 2121 3 view .LVU1389 3917 0110 2368 ldr r3, [r4] 3918 0112 D968 ldr r1, [r3, #12] 3919 0114 0091 str r1, [sp] 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3920 .loc 1 2121 3 view .LVU1390 3921 0116 9968 ldr r1, [r3, #8] 3922 0118 0091 str r1, [sp] 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3923 .loc 1 2121 3 view .LVU1391 3924 011a 0099 ldr r1, [sp] 3925 .LBE4: 2121:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 3926 .loc 1 2121 3 view .LVU1392 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3927 .loc 1 2122 3 view .LVU1393 3928 .LBB5: 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3929 .loc 1 2122 3 view .LVU1394 3930 011c 0192 str r2, [sp, #4] 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3931 .loc 1 2122 3 view .LVU1395 3932 011e 9B68 ldr r3, [r3, #8] 3933 0120 0193 str r3, [sp, #4] 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3934 .loc 1 2122 3 view .LVU1396 3935 0122 019B ldr r3, [sp, #4] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 162 3936 .LBE5: 2122:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3937 .loc 1 2122 3 view .LVU1397 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3938 .loc 1 2125 3 view .LVU1398 2125:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3939 .loc 1 2125 15 is_stmt 0 view .LVU1399 3940 0124 0123 movs r3, #1 3941 0126 84F85130 strb r3, [r4, #81] 2127:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3942 .loc 1 2127 3 is_stmt 1 view .LVU1400 2128:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3943 .loc 1 2128 1 is_stmt 0 view .LVU1401 3944 012a 04B0 add sp, sp, #16 3945 .LCFI45: 3946 .cfi_remember_state 3947 .cfi_def_cfa_offset 8 3948 @ sp needed 3949 012c 10BD pop {r4, pc} 3950 .LVL220: 3951 .L269: 3952 .LCFI46: 3953 .cfi_restore_state 2112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 3954 .loc 1 2112 15 view .LVU1402 3955 012e 0120 movs r0, #1 3956 0130 ECE7 b .L268 3957 .L275: 3958 0132 00BF .align 2 3959 .L274: 3960 0134 00000000 .word SystemCoreClock 3961 0138 F1197605 .word 91625969 3962 013c 00000000 .word SPI_AbortTx_ISR 3963 0140 00000000 .word SPI_AbortRx_ISR 3964 .cfi_endproc 3965 .LFE252: 3967 .section .text.HAL_SPI_DMAPause,"ax",%progbits 3968 .align 1 3969 .global HAL_SPI_DMAPause 3970 .syntax unified 3971 .thumb 3972 .thumb_func 3974 HAL_SPI_DMAPause: 3975 .LVL221: 3976 .LFB254: 2307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 3977 .loc 1 2307 1 is_stmt 1 view -0 3978 .cfi_startproc 3979 @ args = 0, pretend = 0, frame = 0 3980 @ frame_needed = 0, uses_anonymous_args = 0 3981 @ link register save eliminated. 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3982 .loc 1 2309 3 view .LVU1404 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3983 .loc 1 2309 3 view .LVU1405 3984 0000 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2 3985 0004 012B cmp r3, #1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 163 3986 0006 0CD0 beq .L278 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3987 .loc 1 2309 3 discriminator 2 view .LVU1406 3988 0008 0123 movs r3, #1 3989 000a 80F85030 strb r3, [r0, #80] 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3990 .loc 1 2309 3 discriminator 2 view .LVU1407 2312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3991 .loc 1 2312 3 discriminator 2 view .LVU1408 3992 000e 0268 ldr r2, [r0] 3993 0010 5368 ldr r3, [r2, #4] 3994 0012 23F00303 bic r3, r3, #3 3995 0016 5360 str r3, [r2, #4] 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3996 .loc 1 2315 3 discriminator 2 view .LVU1409 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 3997 .loc 1 2315 3 discriminator 2 view .LVU1410 3998 0018 0023 movs r3, #0 3999 001a 80F85030 strb r3, [r0, #80] 2315:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4000 .loc 1 2315 3 discriminator 2 view .LVU1411 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4001 .loc 1 2317 3 discriminator 2 view .LVU1412 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4002 .loc 1 2317 10 is_stmt 0 discriminator 2 view .LVU1413 4003 001e 1846 mov r0, r3 4004 .LVL222: 2317:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4005 .loc 1 2317 10 discriminator 2 view .LVU1414 4006 0020 7047 bx lr 4007 .LVL223: 4008 .L278: 2309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4009 .loc 1 2309 3 view .LVU1415 4010 0022 0220 movs r0, #2 4011 .LVL224: 2318:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4012 .loc 1 2318 1 view .LVU1416 4013 0024 7047 bx lr 4014 .cfi_endproc 4015 .LFE254: 4017 .section .text.HAL_SPI_DMAResume,"ax",%progbits 4018 .align 1 4019 .global HAL_SPI_DMAResume 4020 .syntax unified 4021 .thumb 4022 .thumb_func 4024 HAL_SPI_DMAResume: 4025 .LVL225: 4026 .LFB255: 2327:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Process Locked */ 4027 .loc 1 2327 1 is_stmt 1 view -0 4028 .cfi_startproc 4029 @ args = 0, pretend = 0, frame = 0 4030 @ frame_needed = 0, uses_anonymous_args = 0 4031 @ link register save eliminated. 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 164 4032 .loc 1 2329 3 view .LVU1418 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4033 .loc 1 2329 3 view .LVU1419 4034 0000 90F85030 ldrb r3, [r0, #80] @ zero_extendqisi2 4035 0004 012B cmp r3, #1 4036 0006 0CD0 beq .L281 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4037 .loc 1 2329 3 discriminator 2 view .LVU1420 4038 0008 0123 movs r3, #1 4039 000a 80F85030 strb r3, [r0, #80] 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4040 .loc 1 2329 3 discriminator 2 view .LVU1421 2332:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4041 .loc 1 2332 3 discriminator 2 view .LVU1422 4042 000e 0268 ldr r2, [r0] 4043 0010 5368 ldr r3, [r2, #4] 4044 0012 43F00303 orr r3, r3, #3 4045 0016 5360 str r3, [r2, #4] 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4046 .loc 1 2335 3 discriminator 2 view .LVU1423 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4047 .loc 1 2335 3 discriminator 2 view .LVU1424 4048 0018 0023 movs r3, #0 4049 001a 80F85030 strb r3, [r0, #80] 2335:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4050 .loc 1 2335 3 discriminator 2 view .LVU1425 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4051 .loc 1 2337 3 discriminator 2 view .LVU1426 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4052 .loc 1 2337 10 is_stmt 0 discriminator 2 view .LVU1427 4053 001e 1846 mov r0, r3 4054 .LVL226: 2337:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4055 .loc 1 2337 10 discriminator 2 view .LVU1428 4056 0020 7047 bx lr 4057 .LVL227: 4058 .L281: 2329:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4059 .loc 1 2329 3 view .LVU1429 4060 0022 0220 movs r0, #2 4061 .LVL228: 2338:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4062 .loc 1 2338 1 view .LVU1430 4063 0024 7047 bx lr 4064 .cfi_endproc 4065 .LFE255: 4067 .section .text.HAL_SPI_DMAStop,"ax",%progbits 4068 .align 1 4069 .global HAL_SPI_DMAStop 4070 .syntax unified 4071 .thumb 4072 .thumb_func 4074 HAL_SPI_DMAStop: 4075 .LVL229: 4076 .LFB256: 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK; 4077 .loc 1 2347 1 is_stmt 1 view -0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 165 4078 .cfi_startproc 4079 @ args = 0, pretend = 0, frame = 0 4080 @ frame_needed = 0, uses_anonymous_args = 0 2347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode = HAL_OK; 4081 .loc 1 2347 1 is_stmt 0 view .LVU1432 4082 0000 38B5 push {r3, r4, r5, lr} 4083 .LCFI47: 4084 .cfi_def_cfa_offset 16 4085 .cfi_offset 3, -16 4086 .cfi_offset 4, -12 4087 .cfi_offset 5, -8 4088 .cfi_offset 14, -4 4089 0002 0446 mov r4, r0 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application 4090 .loc 1 2348 3 is_stmt 1 view .LVU1433 4091 .LVL230: 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4092 .loc 1 2356 3 view .LVU1434 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4093 .loc 1 2356 11 is_stmt 0 view .LVU1435 4094 0004 806C ldr r0, [r0, #72] 4095 .LVL231: 2356:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4096 .loc 1 2356 6 view .LVU1436 4097 0006 48B1 cbz r0, .L285 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4098 .loc 1 2358 5 is_stmt 1 view .LVU1437 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4099 .loc 1 2358 19 is_stmt 0 view .LVU1438 4100 0008 FFF7FEFF bl HAL_DMA_Abort 4101 .LVL232: 2358:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4102 .loc 1 2358 8 view .LVU1439 4103 000c 0546 mov r5, r0 4104 000e 30B1 cbz r0, .L283 2360:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 4105 .loc 1 2360 7 is_stmt 1 view .LVU1440 4106 0010 636D ldr r3, [r4, #84] 4107 0012 43F01003 orr r3, r3, #16 4108 0016 6365 str r3, [r4, #84] 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4109 .loc 1 2361 7 view .LVU1441 4110 .LVL233: 2361:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4111 .loc 1 2361 17 is_stmt 0 view .LVU1442 4112 0018 0125 movs r5, #1 4113 001a 00E0 b .L283 4114 .LVL234: 4115 .L285: 2348:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* The Lock is not implemented on this API to allow the user application 4116 .loc 1 2348 21 view .LVU1443 4117 001c 0025 movs r5, #0 4118 .LVL235: 4119 .L283: 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4120 .loc 1 2365 3 is_stmt 1 view .LVU1444 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 166 4121 .loc 1 2365 11 is_stmt 0 view .LVU1445 4122 001e E06C ldr r0, [r4, #76] 2365:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4123 .loc 1 2365 6 view .LVU1446 4124 0020 38B1 cbz r0, .L284 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4125 .loc 1 2367 5 is_stmt 1 view .LVU1447 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4126 .loc 1 2367 19 is_stmt 0 view .LVU1448 4127 0022 FFF7FEFF bl HAL_DMA_Abort 4128 .LVL236: 2367:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4129 .loc 1 2367 8 view .LVU1449 4130 0026 20B1 cbz r0, .L284 2369:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** errorcode = HAL_ERROR; 4131 .loc 1 2369 7 is_stmt 1 view .LVU1450 4132 0028 636D ldr r3, [r4, #84] 4133 002a 43F01003 orr r3, r3, #16 4134 002e 6365 str r3, [r4, #84] 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4135 .loc 1 2370 7 view .LVU1451 4136 .LVL237: 2370:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4137 .loc 1 2370 17 is_stmt 0 view .LVU1452 4138 0030 0125 movs r5, #1 4139 .LVL238: 4140 .L284: 2375:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 4141 .loc 1 2375 3 is_stmt 1 view .LVU1453 4142 0032 2268 ldr r2, [r4] 4143 0034 5368 ldr r3, [r2, #4] 4144 0036 23F00303 bic r3, r3, #3 4145 003a 5360 str r3, [r2, #4] 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return errorcode; 4146 .loc 1 2376 3 view .LVU1454 2376:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return errorcode; 4147 .loc 1 2376 15 is_stmt 0 view .LVU1455 4148 003c 0123 movs r3, #1 4149 003e 84F85130 strb r3, [r4, #81] 2377:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4150 .loc 1 2377 3 is_stmt 1 view .LVU1456 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4151 .loc 1 2378 1 is_stmt 0 view .LVU1457 4152 0042 2846 mov r0, r5 4153 0044 38BD pop {r3, r4, r5, pc} 2378:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4154 .loc 1 2378 1 view .LVU1458 4155 .cfi_endproc 4156 .LFE256: 4158 .section .text.HAL_SPI_TxCpltCallback,"ax",%progbits 4159 .align 1 4160 .weak HAL_SPI_TxCpltCallback 4161 .syntax unified 4162 .thumb 4163 .thumb_func 4165 HAL_SPI_TxCpltCallback: 4166 .LVL239: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 167 4167 .LFB258: 2494:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4168 .loc 1 2494 1 is_stmt 1 view -0 4169 .cfi_startproc 4170 @ args = 0, pretend = 0, frame = 0 4171 @ frame_needed = 0, uses_anonymous_args = 0 4172 @ link register save eliminated. 2496:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4173 .loc 1 2496 3 view .LVU1460 2501:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4174 .loc 1 2501 1 is_stmt 0 view .LVU1461 4175 0000 7047 bx lr 4176 .cfi_endproc 4177 .LFE258: 4179 .section .text.HAL_SPI_RxCpltCallback,"ax",%progbits 4180 .align 1 4181 .weak HAL_SPI_RxCpltCallback 4182 .syntax unified 4183 .thumb 4184 .thumb_func 4186 HAL_SPI_RxCpltCallback: 4187 .LVL240: 4188 .LFB259: 2510:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4189 .loc 1 2510 1 is_stmt 1 view -0 4190 .cfi_startproc 4191 @ args = 0, pretend = 0, frame = 0 4192 @ frame_needed = 0, uses_anonymous_args = 0 4193 @ link register save eliminated. 2512:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4194 .loc 1 2512 3 view .LVU1463 2517:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4195 .loc 1 2517 1 is_stmt 0 view .LVU1464 4196 0000 7047 bx lr 4197 .cfi_endproc 4198 .LFE259: 4200 .section .text.HAL_SPI_TxRxCpltCallback,"ax",%progbits 4201 .align 1 4202 .weak HAL_SPI_TxRxCpltCallback 4203 .syntax unified 4204 .thumb 4205 .thumb_func 4207 HAL_SPI_TxRxCpltCallback: 4208 .LVL241: 4209 .LFB260: 2526:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4210 .loc 1 2526 1 is_stmt 1 view -0 4211 .cfi_startproc 4212 @ args = 0, pretend = 0, frame = 0 4213 @ frame_needed = 0, uses_anonymous_args = 0 4214 @ link register save eliminated. 2528:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4215 .loc 1 2528 3 view .LVU1466 2533:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4216 .loc 1 2533 1 is_stmt 0 view .LVU1467 4217 0000 7047 bx lr 4218 .cfi_endproc ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 168 4219 .LFE260: 4221 .section .text.HAL_SPI_TxHalfCpltCallback,"ax",%progbits 4222 .align 1 4223 .weak HAL_SPI_TxHalfCpltCallback 4224 .syntax unified 4225 .thumb 4226 .thumb_func 4228 HAL_SPI_TxHalfCpltCallback: 4229 .LVL242: 4230 .LFB261: 2542:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4231 .loc 1 2542 1 is_stmt 1 view -0 4232 .cfi_startproc 4233 @ args = 0, pretend = 0, frame = 0 4234 @ frame_needed = 0, uses_anonymous_args = 0 4235 @ link register save eliminated. 2544:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4236 .loc 1 2544 3 view .LVU1469 2549:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4237 .loc 1 2549 1 is_stmt 0 view .LVU1470 4238 0000 7047 bx lr 4239 .cfi_endproc 4240 .LFE261: 4242 .section .text.SPI_DMAHalfTransmitCplt,"ax",%progbits 4243 .align 1 4244 .syntax unified 4245 .thumb 4246 .thumb_func 4248 SPI_DMAHalfTransmitCplt: 4249 .LVL243: 4250 .LFB271: 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4251 .loc 1 2906 1 is_stmt 1 view -0 4252 .cfi_startproc 4253 @ args = 0, pretend = 0, frame = 0 4254 @ frame_needed = 0, uses_anonymous_args = 0 2906:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4255 .loc 1 2906 1 is_stmt 0 view .LVU1472 4256 0000 08B5 push {r3, lr} 4257 .LCFI48: 4258 .cfi_def_cfa_offset 8 4259 .cfi_offset 3, -8 4260 .cfi_offset 14, -4 2907:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4261 .loc 1 2907 3 is_stmt 1 view .LVU1473 4262 .LVL244: 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4263 .loc 1 2913 3 view .LVU1474 4264 0002 806B ldr r0, [r0, #56] 4265 .LVL245: 2913:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4266 .loc 1 2913 3 is_stmt 0 view .LVU1475 4267 0004 FFF7FEFF bl HAL_SPI_TxHalfCpltCallback 4268 .LVL246: 2915:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4269 .loc 1 2915 1 view .LVU1476 4270 0008 08BD pop {r3, pc} ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 169 4271 .cfi_endproc 4272 .LFE271: 4274 .section .text.HAL_SPI_RxHalfCpltCallback,"ax",%progbits 4275 .align 1 4276 .weak HAL_SPI_RxHalfCpltCallback 4277 .syntax unified 4278 .thumb 4279 .thumb_func 4281 HAL_SPI_RxHalfCpltCallback: 4282 .LVL247: 4283 .LFB262: 2558:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4284 .loc 1 2558 1 is_stmt 1 view -0 4285 .cfi_startproc 4286 @ args = 0, pretend = 0, frame = 0 4287 @ frame_needed = 0, uses_anonymous_args = 0 4288 @ link register save eliminated. 2560:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4289 .loc 1 2560 3 view .LVU1478 2565:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4290 .loc 1 2565 1 is_stmt 0 view .LVU1479 4291 0000 7047 bx lr 4292 .cfi_endproc 4293 .LFE262: 4295 .section .text.SPI_DMAHalfReceiveCplt,"ax",%progbits 4296 .align 1 4297 .syntax unified 4298 .thumb 4299 .thumb_func 4301 SPI_DMAHalfReceiveCplt: 4302 .LVL248: 4303 .LFB272: 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4304 .loc 1 2924 1 is_stmt 1 view -0 4305 .cfi_startproc 4306 @ args = 0, pretend = 0, frame = 0 4307 @ frame_needed = 0, uses_anonymous_args = 0 2924:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4308 .loc 1 2924 1 is_stmt 0 view .LVU1481 4309 0000 08B5 push {r3, lr} 4310 .LCFI49: 4311 .cfi_def_cfa_offset 8 4312 .cfi_offset 3, -8 4313 .cfi_offset 14, -4 2925:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4314 .loc 1 2925 3 is_stmt 1 view .LVU1482 4315 .LVL249: 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4316 .loc 1 2931 3 view .LVU1483 4317 0002 806B ldr r0, [r0, #56] 4318 .LVL250: 2931:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4319 .loc 1 2931 3 is_stmt 0 view .LVU1484 4320 0004 FFF7FEFF bl HAL_SPI_RxHalfCpltCallback 4321 .LVL251: 2933:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4322 .loc 1 2933 1 view .LVU1485 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 170 4323 0008 08BD pop {r3, pc} 4324 .cfi_endproc 4325 .LFE272: 4327 .section .text.HAL_SPI_TxRxHalfCpltCallback,"ax",%progbits 4328 .align 1 4329 .weak HAL_SPI_TxRxHalfCpltCallback 4330 .syntax unified 4331 .thumb 4332 .thumb_func 4334 HAL_SPI_TxRxHalfCpltCallback: 4335 .LVL252: 4336 .LFB263: 2574:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4337 .loc 1 2574 1 is_stmt 1 view -0 4338 .cfi_startproc 4339 @ args = 0, pretend = 0, frame = 0 4340 @ frame_needed = 0, uses_anonymous_args = 0 4341 @ link register save eliminated. 2576:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4342 .loc 1 2576 3 view .LVU1487 2581:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4343 .loc 1 2581 1 is_stmt 0 view .LVU1488 4344 0000 7047 bx lr 4345 .cfi_endproc 4346 .LFE263: 4348 .section .text.SPI_DMAHalfTransmitReceiveCplt,"ax",%progbits 4349 .align 1 4350 .syntax unified 4351 .thumb 4352 .thumb_func 4354 SPI_DMAHalfTransmitReceiveCplt: 4355 .LVL253: 4356 .LFB273: 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4357 .loc 1 2942 1 is_stmt 1 view -0 4358 .cfi_startproc 4359 @ args = 0, pretend = 0, frame = 0 4360 @ frame_needed = 0, uses_anonymous_args = 0 2942:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 4361 .loc 1 2942 1 is_stmt 0 view .LVU1490 4362 0000 08B5 push {r3, lr} 4363 .LCFI50: 4364 .cfi_def_cfa_offset 8 4365 .cfi_offset 3, -8 4366 .cfi_offset 14, -4 2943:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4367 .loc 1 2943 3 is_stmt 1 view .LVU1491 4368 .LVL254: 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4369 .loc 1 2949 3 view .LVU1492 4370 0002 806B ldr r0, [r0, #56] 4371 .LVL255: 2949:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4372 .loc 1 2949 3 is_stmt 0 view .LVU1493 4373 0004 FFF7FEFF bl HAL_SPI_TxRxHalfCpltCallback 4374 .LVL256: 2951:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 171 4375 .loc 1 2951 1 view .LVU1494 4376 0008 08BD pop {r3, pc} 4377 .cfi_endproc 4378 .LFE273: 4380 .section .text.HAL_SPI_ErrorCallback,"ax",%progbits 4381 .align 1 4382 .weak HAL_SPI_ErrorCallback 4383 .syntax unified 4384 .thumb 4385 .thumb_func 4387 HAL_SPI_ErrorCallback: 4388 .LVL257: 4389 .LFB264: 2590:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 4390 .loc 1 2590 1 is_stmt 1 view -0 4391 .cfi_startproc 4392 @ args = 0, pretend = 0, frame = 0 4393 @ frame_needed = 0, uses_anonymous_args = 0 4394 @ link register save eliminated. 2592:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4395 .loc 1 2592 3 view .LVU1496 2600:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4396 .loc 1 2600 1 is_stmt 0 view .LVU1497 4397 0000 7047 bx lr 4398 .cfi_endproc 4399 .LFE264: 4401 .section .text.SPI_CloseTx_ISR,"ax",%progbits 4402 .align 1 4403 .syntax unified 4404 .thumb 4405 .thumb_func 4407 SPI_CloseTx_ISR: 4408 .LVL258: 4409 .LFB291: 3810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 4410 .loc 1 3810 1 is_stmt 1 view -0 4411 .cfi_startproc 4412 @ args = 0, pretend = 0, frame = 8 4413 @ frame_needed = 0, uses_anonymous_args = 0 3810:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 4414 .loc 1 3810 1 is_stmt 0 view .LVU1499 4415 0000 10B5 push {r4, lr} 4416 .LCFI51: 4417 .cfi_def_cfa_offset 8 4418 .cfi_offset 4, -8 4419 .cfi_offset 14, -4 4420 0002 82B0 sub sp, sp, #8 4421 .LCFI52: 4422 .cfi_def_cfa_offset 16 4423 0004 0446 mov r4, r0 3811:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 4424 .loc 1 3811 3 is_stmt 1 view .LVU1500 3812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4425 .loc 1 3812 3 view .LVU1501 3812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4426 .loc 1 3812 70 is_stmt 0 view .LVU1502 4427 0006 204B ldr r3, .L310 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 172 4428 0008 1B68 ldr r3, [r3] 4429 000a 204A ldr r2, .L310+4 4430 000c A2FB0323 umull r2, r3, r2, r3 4431 0010 5B0A lsrs r3, r3, #9 3812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4432 .loc 1 3812 45 view .LVU1503 4433 0012 6422 movs r2, #100 4434 0014 02FB03F3 mul r3, r2, r3 3812:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4435 .loc 1 3812 17 view .LVU1504 4436 0018 0193 str r3, [sp, #4] 3815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4437 .loc 1 3815 3 is_stmt 1 view .LVU1505 3815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4438 .loc 1 3815 15 is_stmt 0 view .LVU1506 4439 001a FFF7FEFF bl HAL_GetTick 4440 .LVL259: 3815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4441 .loc 1 3815 15 view .LVU1507 4442 001e 0246 mov r2, r0 4443 .LVL260: 4444 .L303: 3818:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4445 .loc 1 3818 3 is_stmt 1 view .LVU1508 3820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4446 .loc 1 3820 5 view .LVU1509 3820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4447 .loc 1 3820 15 is_stmt 0 view .LVU1510 4448 0020 019B ldr r3, [sp, #4] 3820:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4449 .loc 1 3820 8 view .LVU1511 4450 0022 43B1 cbz r3, .L309 3825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 4451 .loc 1 3825 5 is_stmt 1 view .LVU1512 3825:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 4452 .loc 1 3825 10 is_stmt 0 view .LVU1513 4453 0024 019B ldr r3, [sp, #4] 4454 0026 013B subs r3, r3, #1 4455 0028 0193 str r3, [sp, #4] 3826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4456 .loc 1 3826 11 is_stmt 1 view .LVU1514 3826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4457 .loc 1 3826 17 is_stmt 0 view .LVU1515 4458 002a 2368 ldr r3, [r4] 3826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4459 .loc 1 3826 27 view .LVU1516 4460 002c 9B68 ldr r3, [r3, #8] 3826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4461 .loc 1 3826 3 view .LVU1517 4462 002e 13F0020F tst r3, #2 4463 0032 F5D0 beq .L303 4464 0034 03E0 b .L302 4465 .L309: 3822:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 4466 .loc 1 3822 7 is_stmt 1 view .LVU1518 4467 0036 636D ldr r3, [r4, #84] 4468 0038 43F02003 orr r3, r3, #32 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 173 4469 003c 6365 str r3, [r4, #84] 3823:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4470 .loc 1 3823 7 view .LVU1519 4471 .L302: 3829:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4472 .loc 1 3829 3 view .LVU1520 4473 003e 2168 ldr r1, [r4] 4474 0040 4B68 ldr r3, [r1, #4] 4475 0042 23F0A003 bic r3, r3, #160 4476 0046 4B60 str r3, [r1, #4] 3832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4477 .loc 1 3832 3 view .LVU1521 3832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4478 .loc 1 3832 7 is_stmt 0 view .LVU1522 4479 0048 6421 movs r1, #100 4480 004a 2046 mov r0, r4 4481 .LVL261: 3832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4482 .loc 1 3832 7 view .LVU1523 4483 004c FFF7FEFF bl SPI_EndRxTxTransaction 4484 .LVL262: 3832:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4485 .loc 1 3832 6 view .LVU1524 4486 0050 18B1 cbz r0, .L304 3834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4487 .loc 1 3834 5 is_stmt 1 view .LVU1525 4488 0052 636D ldr r3, [r4, #84] 4489 0054 43F02003 orr r3, r3, #32 4490 0058 6365 str r3, [r4, #84] 4491 .L304: 3838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4492 .loc 1 3838 3 view .LVU1526 3838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4493 .loc 1 3838 17 is_stmt 0 view .LVU1527 4494 005a A368 ldr r3, [r4, #8] 3838:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4495 .loc 1 3838 6 view .LVU1528 4496 005c 33B9 cbnz r3, .L305 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4497 .loc 1 3840 5 is_stmt 1 view .LVU1529 4498 .LBB6: 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4499 .loc 1 3840 5 view .LVU1530 4500 005e 0093 str r3, [sp] 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4501 .loc 1 3840 5 view .LVU1531 4502 0060 2368 ldr r3, [r4] 4503 0062 DA68 ldr r2, [r3, #12] 4504 0064 0092 str r2, [sp] 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4505 .loc 1 3840 5 view .LVU1532 4506 0066 9B68 ldr r3, [r3, #8] 4507 0068 0093 str r3, [sp] 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4508 .loc 1 3840 5 view .LVU1533 4509 006a 009B ldr r3, [sp] 4510 .L305: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 174 4511 .LBE6: 3840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4512 .loc 1 3840 5 discriminator 1 view .LVU1534 3843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 4513 .loc 1 3843 3 discriminator 1 view .LVU1535 3843:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (hspi->ErrorCode != HAL_SPI_ERROR_NONE) 4514 .loc 1 3843 15 is_stmt 0 discriminator 1 view .LVU1536 4515 006c 0123 movs r3, #1 4516 006e 84F85130 strb r3, [r4, #81] 3844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4517 .loc 1 3844 3 is_stmt 1 discriminator 1 view .LVU1537 3844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4518 .loc 1 3844 11 is_stmt 0 discriminator 1 view .LVU1538 4519 0072 636D ldr r3, [r4, #84] 3844:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4520 .loc 1 3844 6 discriminator 1 view .LVU1539 4521 0074 23B1 cbz r3, .L306 3850:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4522 .loc 1 3850 5 is_stmt 1 view .LVU1540 4523 0076 2046 mov r0, r4 4524 0078 FFF7FEFF bl HAL_SPI_ErrorCallback 4525 .LVL263: 4526 .L300: 3862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4527 .loc 1 3862 1 is_stmt 0 view .LVU1541 4528 007c 02B0 add sp, sp, #8 4529 .LCFI53: 4530 .cfi_remember_state 4531 .cfi_def_cfa_offset 8 4532 @ sp needed 4533 007e 10BD pop {r4, pc} 4534 .LVL264: 4535 .L306: 4536 .LCFI54: 4537 .cfi_restore_state 3859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4538 .loc 1 3859 5 is_stmt 1 view .LVU1542 4539 0080 2046 mov r0, r4 4540 0082 FFF7FEFF bl HAL_SPI_TxCpltCallback 4541 .LVL265: 3862:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4542 .loc 1 3862 1 is_stmt 0 view .LVU1543 4543 0086 F9E7 b .L300 4544 .L311: 4545 .align 2 4546 .L310: 4547 0088 00000000 .word SystemCoreClock 4548 008c F1197605 .word 91625969 4549 .cfi_endproc 4550 .LFE291: 4552 .section .text.SPI_TxISR_8BIT,"ax",%progbits 4553 .align 1 4554 .syntax unified 4555 .thumb 4556 .thumb_func 4558 SPI_TxISR_8BIT: 4559 .LVL266: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 175 4560 .LFB284: 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 4561 .loc 1 3433 1 is_stmt 1 view -0 4562 .cfi_startproc 4563 @ args = 0, pretend = 0, frame = 0 4564 @ frame_needed = 0, uses_anonymous_args = 0 3433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 4565 .loc 1 3433 1 is_stmt 0 view .LVU1545 4566 0000 08B5 push {r3, lr} 4567 .LCFI55: 4568 .cfi_def_cfa_offset 8 4569 .cfi_offset 3, -8 4570 .cfi_offset 14, -4 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 4571 .loc 1 3434 3 is_stmt 1 view .LVU1546 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 4572 .loc 1 3434 65 is_stmt 0 view .LVU1547 4573 0002 026B ldr r2, [r0, #48] 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 4574 .loc 1 3434 25 view .LVU1548 4575 0004 0368 ldr r3, [r0] 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 4576 .loc 1 3434 42 view .LVU1549 4577 0006 1278 ldrb r2, [r2] @ zero_extendqisi2 3434:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 4578 .loc 1 3434 40 view .LVU1550 4579 0008 1A73 strb r2, [r3, #12] 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 4580 .loc 1 3435 3 is_stmt 1 view .LVU1551 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 4581 .loc 1 3435 7 is_stmt 0 view .LVU1552 4582 000a 036B ldr r3, [r0, #48] 3435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 4583 .loc 1 3435 19 view .LVU1553 4584 000c 0133 adds r3, r3, #1 4585 000e 0363 str r3, [r0, #48] 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4586 .loc 1 3436 3 is_stmt 1 view .LVU1554 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4587 .loc 1 3436 7 is_stmt 0 view .LVU1555 4588 0010 C38E ldrh r3, [r0, #54] 4589 0012 9BB2 uxth r3, r3 3436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4590 .loc 1 3436 20 view .LVU1556 4591 0014 013B subs r3, r3, #1 4592 0016 9BB2 uxth r3, r3 4593 0018 C386 strh r3, [r0, #54] @ movhi 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4594 .loc 1 3438 3 is_stmt 1 view .LVU1557 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4595 .loc 1 3438 11 is_stmt 0 view .LVU1558 4596 001a C38E ldrh r3, [r0, #54] 4597 001c 9BB2 uxth r3, r3 3438:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4598 .loc 1 3438 6 view .LVU1559 4599 001e 03B1 cbz r3, .L315 4600 .LVL267: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 176 4601 .L312: 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4602 .loc 1 3449 1 view .LVU1560 4603 0020 08BD pop {r3, pc} 4604 .LVL268: 4605 .L315: 3447:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4606 .loc 1 3447 5 is_stmt 1 view .LVU1561 4607 0022 FFF7FEFF bl SPI_CloseTx_ISR 4608 .LVL269: 3449:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4609 .loc 1 3449 1 is_stmt 0 view .LVU1562 4610 0026 FBE7 b .L312 4611 .cfi_endproc 4612 .LFE284: 4614 .section .text.SPI_TxISR_16BIT,"ax",%progbits 4615 .align 1 4616 .syntax unified 4617 .thumb 4618 .thumb_func 4620 SPI_TxISR_16BIT: 4621 .LVL270: 4622 .LFB285: 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 4623 .loc 1 3458 1 is_stmt 1 view -0 4624 .cfi_startproc 4625 @ args = 0, pretend = 0, frame = 0 4626 @ frame_needed = 0, uses_anonymous_args = 0 3458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 4627 .loc 1 3458 1 is_stmt 0 view .LVU1564 4628 0000 08B5 push {r3, lr} 4629 .LCFI56: 4630 .cfi_def_cfa_offset 8 4631 .cfi_offset 3, -8 4632 .cfi_offset 14, -4 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 4633 .loc 1 3460 3 is_stmt 1 view .LVU1565 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 4634 .loc 1 3460 48 is_stmt 0 view .LVU1566 4635 0002 026B ldr r2, [r0, #48] 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 4636 .loc 1 3460 7 view .LVU1567 4637 0004 0368 ldr r3, [r0] 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 4638 .loc 1 3460 24 view .LVU1568 4639 0006 1288 ldrh r2, [r2] 3460:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 4640 .loc 1 3460 22 view .LVU1569 4641 0008 DA60 str r2, [r3, #12] 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 4642 .loc 1 3461 3 is_stmt 1 view .LVU1570 3461:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 4643 .loc 1 3461 20 is_stmt 0 view .LVU1571 4644 000a 036B ldr r3, [r0, #48] 4645 000c 0233 adds r3, r3, #2 4646 000e 0363 str r3, [r0, #48] 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 177 4647 .loc 1 3462 3 is_stmt 1 view .LVU1572 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4648 .loc 1 3462 7 is_stmt 0 view .LVU1573 4649 0010 C38E ldrh r3, [r0, #54] 4650 0012 9BB2 uxth r3, r3 3462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4651 .loc 1 3462 20 view .LVU1574 4652 0014 013B subs r3, r3, #1 4653 0016 9BB2 uxth r3, r3 4654 0018 C386 strh r3, [r0, #54] @ movhi 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4655 .loc 1 3464 3 is_stmt 1 view .LVU1575 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4656 .loc 1 3464 11 is_stmt 0 view .LVU1576 4657 001a C38E ldrh r3, [r0, #54] 4658 001c 9BB2 uxth r3, r3 3464:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4659 .loc 1 3464 6 view .LVU1577 4660 001e 03B1 cbz r3, .L319 4661 .LVL271: 4662 .L316: 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4663 .loc 1 3475 1 view .LVU1578 4664 0020 08BD pop {r3, pc} 4665 .LVL272: 4666 .L319: 3473:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4667 .loc 1 3473 5 is_stmt 1 view .LVU1579 4668 0022 FFF7FEFF bl SPI_CloseTx_ISR 4669 .LVL273: 3475:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4670 .loc 1 3475 1 is_stmt 0 view .LVU1580 4671 0026 FBE7 b .L316 4672 .cfi_endproc 4673 .LFE285: 4675 .section .text.SPI_CloseRx_ISR,"ax",%progbits 4676 .align 1 4677 .syntax unified 4678 .thumb 4679 .thumb_func 4681 SPI_CloseRx_ISR: 4682 .LVL274: 4683 .LFB290: 3747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 4684 .loc 1 3747 1 is_stmt 1 view -0 4685 .cfi_startproc 4686 @ args = 0, pretend = 0, frame = 8 4687 @ frame_needed = 0, uses_anonymous_args = 0 3747:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable RXNE and ERR interrupt */ 4688 .loc 1 3747 1 is_stmt 0 view .LVU1582 4689 0000 10B5 push {r4, lr} 4690 .LCFI57: 4691 .cfi_def_cfa_offset 8 4692 .cfi_offset 4, -8 4693 .cfi_offset 14, -4 4694 0002 82B0 sub sp, sp, #8 4695 .LCFI58: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 178 4696 .cfi_def_cfa_offset 16 4697 0004 0446 mov r4, r0 3749:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4698 .loc 1 3749 3 is_stmt 1 view .LVU1583 4699 0006 0268 ldr r2, [r0] 4700 0008 5368 ldr r3, [r2, #4] 4701 000a 23F06003 bic r3, r3, #96 4702 000e 5360 str r3, [r2, #4] 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4703 .loc 1 3752 3 view .LVU1584 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4704 .loc 1 3752 7 is_stmt 0 view .LVU1585 4705 0010 FFF7FEFF bl HAL_GetTick 4706 .LVL275: 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4707 .loc 1 3752 7 view .LVU1586 4708 0014 0246 mov r2, r0 4709 0016 6421 movs r1, #100 4710 0018 2046 mov r0, r4 4711 001a FFF7FEFF bl SPI_EndRxTransaction 4712 .LVL276: 3752:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4713 .loc 1 3752 6 view .LVU1587 4714 001e 18B1 cbz r0, .L321 3754:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4715 .loc 1 3754 5 is_stmt 1 view .LVU1588 4716 0020 636D ldr r3, [r4, #84] 4717 0022 43F02003 orr r3, r3, #32 4718 0026 6365 str r3, [r4, #84] 4719 .L321: 3758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4720 .loc 1 3758 3 view .LVU1589 3758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4721 .loc 1 3758 17 is_stmt 0 view .LVU1590 4722 0028 A368 ldr r3, [r4, #8] 3758:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4723 .loc 1 3758 6 view .LVU1591 4724 002a 33B9 cbnz r3, .L322 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4725 .loc 1 3760 5 is_stmt 1 view .LVU1592 4726 .LBB7: 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4727 .loc 1 3760 5 view .LVU1593 4728 002c 0193 str r3, [sp, #4] 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4729 .loc 1 3760 5 view .LVU1594 4730 002e 2368 ldr r3, [r4] 4731 0030 DA68 ldr r2, [r3, #12] 4732 0032 0192 str r2, [sp, #4] 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4733 .loc 1 3760 5 view .LVU1595 4734 0034 9B68 ldr r3, [r3, #8] 4735 0036 0193 str r3, [sp, #4] 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4736 .loc 1 3760 5 view .LVU1596 4737 0038 019B ldr r3, [sp, #4] 4738 .L322: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 179 4739 .LBE7: 3760:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4740 .loc 1 3760 5 discriminator 1 view .LVU1597 3762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4741 .loc 1 3762 3 discriminator 1 view .LVU1598 3762:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4742 .loc 1 3762 15 is_stmt 0 discriminator 1 view .LVU1599 4743 003a 0123 movs r3, #1 4744 003c 84F85130 strb r3, [r4, #81] 3780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4745 .loc 1 3780 5 is_stmt 1 discriminator 1 view .LVU1600 3780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4746 .loc 1 3780 13 is_stmt 0 discriminator 1 view .LVU1601 4747 0040 636D ldr r3, [r4, #84] 3780:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4748 .loc 1 3780 8 discriminator 1 view .LVU1602 4749 0042 23B9 cbnz r3, .L323 3786:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4750 .loc 1 3786 7 is_stmt 1 view .LVU1603 4751 0044 2046 mov r0, r4 4752 0046 FFF7FEFF bl HAL_SPI_RxCpltCallback 4753 .LVL277: 4754 .L320: 3801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4755 .loc 1 3801 1 is_stmt 0 view .LVU1604 4756 004a 02B0 add sp, sp, #8 4757 .LCFI59: 4758 .cfi_remember_state 4759 .cfi_def_cfa_offset 8 4760 @ sp needed 4761 004c 10BD pop {r4, pc} 4762 .LVL278: 4763 .L323: 4764 .LCFI60: 4765 .cfi_restore_state 3795:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 4766 .loc 1 3795 7 is_stmt 1 view .LVU1605 4767 004e 2046 mov r0, r4 4768 0050 FFF7FEFF bl HAL_SPI_ErrorCallback 4769 .LVL279: 3801:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4770 .loc 1 3801 1 is_stmt 0 view .LVU1606 4771 0054 F9E7 b .L320 4772 .cfi_endproc 4773 .LFE290: 4775 .section .text.SPI_RxISR_8BIT,"ax",%progbits 4776 .align 1 4777 .syntax unified 4778 .thumb 4779 .thumb_func 4781 SPI_RxISR_8BIT: 4782 .LVL280: 4783 .LFB282: 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR); 4784 .loc 1 3344 1 is_stmt 1 view -0 4785 .cfi_startproc 4786 @ args = 0, pretend = 0, frame = 0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 180 4787 @ frame_needed = 0, uses_anonymous_args = 0 3344:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *hspi->pRxBuffPtr = (*(__IO uint8_t *)&hspi->Instance->DR); 4788 .loc 1 3344 1 is_stmt 0 view .LVU1608 4789 0000 08B5 push {r3, lr} 4790 .LCFI61: 4791 .cfi_def_cfa_offset 8 4792 .cfi_offset 3, -8 4793 .cfi_offset 14, -4 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 4794 .loc 1 3345 3 is_stmt 1 view .LVU1609 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 4795 .loc 1 3345 46 is_stmt 0 view .LVU1610 4796 0002 0268 ldr r2, [r0] 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 4797 .loc 1 3345 8 view .LVU1611 4798 0004 836B ldr r3, [r0, #56] 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 4799 .loc 1 3345 24 view .LVU1612 4800 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2 3345:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 4801 .loc 1 3345 21 view .LVU1613 4802 0008 1A70 strb r2, [r3] 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 4803 .loc 1 3346 3 is_stmt 1 view .LVU1614 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 4804 .loc 1 3346 7 is_stmt 0 view .LVU1615 4805 000a 836B ldr r3, [r0, #56] 3346:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 4806 .loc 1 3346 19 view .LVU1616 4807 000c 0133 adds r3, r3, #1 4808 000e 8363 str r3, [r0, #56] 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4809 .loc 1 3347 3 is_stmt 1 view .LVU1617 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4810 .loc 1 3347 7 is_stmt 0 view .LVU1618 4811 0010 C38F ldrh r3, [r0, #62] 4812 0012 9BB2 uxth r3, r3 3347:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4813 .loc 1 3347 20 view .LVU1619 4814 0014 013B subs r3, r3, #1 4815 0016 9BB2 uxth r3, r3 4816 0018 C387 strh r3, [r0, #62] @ movhi 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4817 .loc 1 3357 3 is_stmt 1 view .LVU1620 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4818 .loc 1 3357 11 is_stmt 0 view .LVU1621 4819 001a C38F ldrh r3, [r0, #62] 4820 001c 9BB2 uxth r3, r3 3357:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4821 .loc 1 3357 6 view .LVU1622 4822 001e 03B1 cbz r3, .L329 4823 .LVL281: 4824 .L326: 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4825 .loc 1 3368 1 view .LVU1623 4826 0020 08BD pop {r3, pc} 4827 .LVL282: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 181 4828 .L329: 3366:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4829 .loc 1 3366 5 is_stmt 1 view .LVU1624 4830 0022 FFF7FEFF bl SPI_CloseRx_ISR 4831 .LVL283: 3368:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4832 .loc 1 3368 1 is_stmt 0 view .LVU1625 4833 0026 FBE7 b .L326 4834 .cfi_endproc 4835 .LFE282: 4837 .section .text.SPI_RxISR_16BIT,"ax",%progbits 4838 .align 1 4839 .syntax unified 4840 .thumb 4841 .thumb_func 4843 SPI_RxISR_16BIT: 4844 .LVL284: 4845 .LFB283: 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR); 4846 .loc 1 3400 1 is_stmt 1 view -0 4847 .cfi_startproc 4848 @ args = 0, pretend = 0, frame = 0 4849 @ frame_needed = 0, uses_anonymous_args = 0 3400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)(hspi->Instance->DR); 4850 .loc 1 3400 1 is_stmt 0 view .LVU1627 4851 0000 08B5 push {r3, lr} 4852 .LCFI62: 4853 .cfi_def_cfa_offset 8 4854 .cfi_offset 3, -8 4855 .cfi_offset 14, -4 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 4856 .loc 1 3401 3 is_stmt 1 view .LVU1628 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 4857 .loc 1 3401 52 is_stmt 0 view .LVU1629 4858 0002 0368 ldr r3, [r0] 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 4859 .loc 1 3401 62 view .LVU1630 4860 0004 DA68 ldr r2, [r3, #12] 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 4861 .loc 1 3401 21 view .LVU1631 4862 0006 836B ldr r3, [r0, #56] 3401:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 4863 .loc 1 3401 35 view .LVU1632 4864 0008 1A80 strh r2, [r3] @ movhi 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 4865 .loc 1 3402 3 is_stmt 1 view .LVU1633 3402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 4866 .loc 1 3402 20 is_stmt 0 view .LVU1634 4867 000a 836B ldr r3, [r0, #56] 4868 000c 0233 adds r3, r3, #2 4869 000e 8363 str r3, [r0, #56] 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4870 .loc 1 3403 3 is_stmt 1 view .LVU1635 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4871 .loc 1 3403 7 is_stmt 0 view .LVU1636 4872 0010 C38F ldrh r3, [r0, #62] 4873 0012 9BB2 uxth r3, r3 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 182 3403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4874 .loc 1 3403 20 view .LVU1637 4875 0014 013B subs r3, r3, #1 4876 0016 9BB2 uxth r3, r3 4877 0018 C387 strh r3, [r0, #62] @ movhi 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4878 .loc 1 3413 3 is_stmt 1 view .LVU1638 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4879 .loc 1 3413 11 is_stmt 0 view .LVU1639 4880 001a C38F ldrh r3, [r0, #62] 4881 001c 9BB2 uxth r3, r3 3413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4882 .loc 1 3413 6 view .LVU1640 4883 001e 03B1 cbz r3, .L333 4884 .LVL285: 4885 .L330: 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4886 .loc 1 3424 1 view .LVU1641 4887 0020 08BD pop {r3, pc} 4888 .LVL286: 4889 .L333: 3422:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4890 .loc 1 3422 5 is_stmt 1 view .LVU1642 4891 0022 FFF7FEFF bl SPI_CloseRx_ISR 4892 .LVL287: 3424:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4893 .loc 1 3424 1 is_stmt 0 view .LVU1643 4894 0026 FBE7 b .L330 4895 .cfi_endproc 4896 .LFE283: 4898 .section .text.SPI_CloseRxTx_ISR,"ax",%progbits 4899 .align 1 4900 .syntax unified 4901 .thumb 4902 .thumb_func 4904 SPI_CloseRxTx_ISR: 4905 .LVL288: 4906 .LFB289: 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 4907 .loc 1 3652 1 is_stmt 1 view -0 4908 .cfi_startproc 4909 @ args = 0, pretend = 0, frame = 8 4910 @ frame_needed = 0, uses_anonymous_args = 0 3652:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 4911 .loc 1 3652 1 is_stmt 0 view .LVU1645 4912 0000 10B5 push {r4, lr} 4913 .LCFI63: 4914 .cfi_def_cfa_offset 8 4915 .cfi_offset 4, -8 4916 .cfi_offset 14, -4 4917 0002 82B0 sub sp, sp, #8 4918 .LCFI64: 4919 .cfi_def_cfa_offset 16 4920 0004 0446 mov r4, r0 3653:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 4921 .loc 1 3653 3 is_stmt 1 view .LVU1646 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 183 4922 .loc 1 3654 3 view .LVU1647 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4923 .loc 1 3654 70 is_stmt 0 view .LVU1648 4924 0006 284B ldr r3, .L346 4925 0008 1B68 ldr r3, [r3] 4926 000a 284A ldr r2, .L346+4 4927 000c A2FB0323 umull r2, r3, r2, r3 4928 0010 5B0A lsrs r3, r3, #9 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4929 .loc 1 3654 45 view .LVU1649 4930 0012 6422 movs r2, #100 4931 0014 02FB03F3 mul r3, r2, r3 3654:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4932 .loc 1 3654 17 view .LVU1650 4933 0018 0193 str r3, [sp, #4] 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4934 .loc 1 3657 3 is_stmt 1 view .LVU1651 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4935 .loc 1 3657 15 is_stmt 0 view .LVU1652 4936 001a FFF7FEFF bl HAL_GetTick 4937 .LVL289: 3657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4938 .loc 1 3657 15 view .LVU1653 4939 001e 0246 mov r2, r0 4940 .LVL290: 3660:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4941 .loc 1 3660 3 is_stmt 1 view .LVU1654 4942 0020 2168 ldr r1, [r4] 4943 0022 4B68 ldr r3, [r1, #4] 4944 0024 23F02003 bic r3, r3, #32 4945 0028 4B60 str r3, [r1, #4] 4946 .L337: 3663:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4947 .loc 1 3663 3 view .LVU1655 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4948 .loc 1 3665 5 view .LVU1656 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4949 .loc 1 3665 15 is_stmt 0 view .LVU1657 4950 002a 019B ldr r3, [sp, #4] 3665:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4951 .loc 1 3665 8 view .LVU1658 4952 002c 43B1 cbz r3, .L344 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 4953 .loc 1 3670 5 is_stmt 1 view .LVU1659 3670:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 4954 .loc 1 3670 10 is_stmt 0 view .LVU1660 4955 002e 019B ldr r3, [sp, #4] 4956 0030 013B subs r3, r3, #1 4957 0032 0193 str r3, [sp, #4] 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4958 .loc 1 3671 11 is_stmt 1 view .LVU1661 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4959 .loc 1 3671 17 is_stmt 0 view .LVU1662 4960 0034 2368 ldr r3, [r4] 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4961 .loc 1 3671 27 view .LVU1663 4962 0036 9B68 ldr r3, [r3, #8] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 184 3671:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 4963 .loc 1 3671 3 view .LVU1664 4964 0038 13F0020F tst r3, #2 4965 003c F5D0 beq .L337 4966 003e 03E0 b .L336 4967 .L344: 3667:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 4968 .loc 1 3667 7 is_stmt 1 view .LVU1665 4969 0040 636D ldr r3, [r4, #84] 4970 0042 43F02003 orr r3, r3, #32 4971 0046 6365 str r3, [r4, #84] 3668:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4972 .loc 1 3668 7 view .LVU1666 4973 .L336: 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4974 .loc 1 3674 3 view .LVU1667 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4975 .loc 1 3674 7 is_stmt 0 view .LVU1668 4976 0048 6421 movs r1, #100 4977 004a 2046 mov r0, r4 4978 .LVL291: 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4979 .loc 1 3674 7 view .LVU1669 4980 004c FFF7FEFF bl SPI_EndRxTxTransaction 4981 .LVL292: 3674:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4982 .loc 1 3674 6 view .LVU1670 4983 0050 18B1 cbz r0, .L338 3676:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4984 .loc 1 3676 5 is_stmt 1 view .LVU1671 4985 0052 636D ldr r3, [r4, #84] 4986 0054 43F02003 orr r3, r3, #32 4987 0058 6365 str r3, [r4, #84] 4988 .L338: 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4989 .loc 1 3680 3 view .LVU1672 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4990 .loc 1 3680 17 is_stmt 0 view .LVU1673 4991 005a A368 ldr r3, [r4, #8] 3680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 4992 .loc 1 3680 6 view .LVU1674 4993 005c 33B9 cbnz r3, .L339 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4994 .loc 1 3682 5 is_stmt 1 view .LVU1675 4995 .LBB8: 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4996 .loc 1 3682 5 view .LVU1676 4997 005e 0093 str r3, [sp] 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 4998 .loc 1 3682 5 view .LVU1677 4999 0060 2368 ldr r3, [r4] 5000 0062 DA68 ldr r2, [r3, #12] 5001 0064 0092 str r2, [sp] 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5002 .loc 1 3682 5 view .LVU1678 5003 0066 9B68 ldr r3, [r3, #8] 5004 0068 0093 str r3, [sp] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 185 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5005 .loc 1 3682 5 view .LVU1679 5006 006a 009B ldr r3, [sp] 5007 .L339: 5008 .LBE8: 3682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5009 .loc 1 3682 5 discriminator 1 view .LVU1680 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5010 .loc 1 3702 5 discriminator 1 view .LVU1681 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5011 .loc 1 3702 13 is_stmt 0 discriminator 1 view .LVU1682 5012 006c 636D ldr r3, [r4, #84] 3702:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5013 .loc 1 3702 8 discriminator 1 view .LVU1683 5014 006e 9BB9 cbnz r3, .L340 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5015 .loc 1 3704 7 is_stmt 1 view .LVU1684 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5016 .loc 1 3704 15 is_stmt 0 view .LVU1685 5017 0070 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 5018 0074 DBB2 uxtb r3, r3 3704:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5019 .loc 1 3704 10 view .LVU1686 5020 0076 042B cmp r3, #4 5021 0078 07D0 beq .L345 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user TxRx complete callback */ 5022 .loc 1 3716 9 is_stmt 1 view .LVU1687 3716:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user TxRx complete callback */ 5023 .loc 1 3716 21 is_stmt 0 view .LVU1688 5024 007a 0123 movs r3, #1 5025 007c 84F85130 strb r3, [r4, #81] 3721:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5026 .loc 1 3721 9 is_stmt 1 view .LVU1689 5027 0080 2046 mov r0, r4 5028 0082 FFF7FEFF bl HAL_SPI_TxRxCpltCallback 5029 .LVL293: 5030 .L334: 3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5031 .loc 1 3738 1 is_stmt 0 view .LVU1690 5032 0086 02B0 add sp, sp, #8 5033 .LCFI65: 5034 .cfi_remember_state 5035 .cfi_def_cfa_offset 8 5036 @ sp needed 5037 0088 10BD pop {r4, pc} 5038 .LVL294: 5039 .L345: 5040 .LCFI66: 5041 .cfi_restore_state 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 5042 .loc 1 3706 9 is_stmt 1 view .LVU1691 3706:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user Rx complete callback */ 5043 .loc 1 3706 21 is_stmt 0 view .LVU1692 5044 008a 0123 movs r3, #1 5045 008c 84F85130 strb r3, [r4, #81] 3711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5046 .loc 1 3711 9 is_stmt 1 view .LVU1693 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 186 5047 0090 2046 mov r0, r4 5048 0092 FFF7FEFF bl HAL_SPI_RxCpltCallback 5049 .LVL295: 5050 0096 F6E7 b .L334 5051 .L340: 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 5052 .loc 1 3727 7 view .LVU1694 3727:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 5053 .loc 1 3727 19 is_stmt 0 view .LVU1695 5054 0098 0123 movs r3, #1 5055 009a 84F85130 strb r3, [r4, #81] 3732:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5056 .loc 1 3732 7 is_stmt 1 view .LVU1696 5057 009e 2046 mov r0, r4 5058 00a0 FFF7FEFF bl HAL_SPI_ErrorCallback 5059 .LVL296: 3738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5060 .loc 1 3738 1 is_stmt 0 view .LVU1697 5061 00a4 EFE7 b .L334 5062 .L347: 5063 00a6 00BF .align 2 5064 .L346: 5065 00a8 00000000 .word SystemCoreClock 5066 00ac F1197605 .word 91625969 5067 .cfi_endproc 5068 .LFE289: 5070 .section .text.SPI_2linesTxISR_8BIT,"ax",%progbits 5071 .align 1 5072 .syntax unified 5073 .thumb 5074 .thumb_func 5076 SPI_2linesTxISR_8BIT: 5077 .LVL297: 5078 .LFB279: 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 5079 .loc 1 3192 1 is_stmt 1 view -0 5080 .cfi_startproc 5081 @ args = 0, pretend = 0, frame = 0 5082 @ frame_needed = 0, uses_anonymous_args = 0 3192:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** *(__IO uint8_t *)&hspi->Instance->DR = *((const uint8_t *)hspi->pTxBuffPtr); 5083 .loc 1 3192 1 is_stmt 0 view .LVU1699 5084 0000 08B5 push {r3, lr} 5085 .LCFI67: 5086 .cfi_def_cfa_offset 8 5087 .cfi_offset 3, -8 5088 .cfi_offset 14, -4 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 5089 .loc 1 3193 3 is_stmt 1 view .LVU1700 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 5090 .loc 1 3193 65 is_stmt 0 view .LVU1701 5091 0002 026B ldr r2, [r0, #48] 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 5092 .loc 1 3193 25 view .LVU1702 5093 0004 0368 ldr r3, [r0] 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 5094 .loc 1 3193 42 view .LVU1703 5095 0006 1278 ldrb r2, [r2] @ zero_extendqisi2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 187 3193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr++; 5096 .loc 1 3193 40 view .LVU1704 5097 0008 1A73 strb r2, [r3, #12] 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 5098 .loc 1 3194 3 is_stmt 1 view .LVU1705 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 5099 .loc 1 3194 7 is_stmt 0 view .LVU1706 5100 000a 036B ldr r3, [r0, #48] 3194:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 5101 .loc 1 3194 19 view .LVU1707 5102 000c 0133 adds r3, r3, #1 5103 000e 0363 str r3, [r0, #48] 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5104 .loc 1 3195 3 is_stmt 1 view .LVU1708 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5105 .loc 1 3195 7 is_stmt 0 view .LVU1709 5106 0010 C38E ldrh r3, [r0, #54] 5107 0012 9BB2 uxth r3, r3 3195:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5108 .loc 1 3195 20 view .LVU1710 5109 0014 013B subs r3, r3, #1 5110 0016 9BB2 uxth r3, r3 5111 0018 C386 strh r3, [r0, #54] @ movhi 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5112 .loc 1 3198 3 is_stmt 1 view .LVU1711 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5113 .loc 1 3198 11 is_stmt 0 view .LVU1712 5114 001a C38E ldrh r3, [r0, #54] 5115 001c 9BB2 uxth r3, r3 3198:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5116 .loc 1 3198 6 view .LVU1713 5117 001e 3BB9 cbnz r3, .L348 3212:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5118 .loc 1 3212 5 is_stmt 1 view .LVU1714 5119 0020 0268 ldr r2, [r0] 5120 0022 5368 ldr r3, [r2, #4] 5121 0024 23F08003 bic r3, r3, #128 5122 0028 5360 str r3, [r2, #4] 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5123 .loc 1 3214 5 view .LVU1715 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5124 .loc 1 3214 13 is_stmt 0 view .LVU1716 5125 002a C38F ldrh r3, [r0, #62] 5126 002c 9BB2 uxth r3, r3 3214:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5127 .loc 1 3214 8 view .LVU1717 5128 002e 03B1 cbz r3, .L351 5129 .LVL298: 5130 .L348: 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5131 .loc 1 3219 1 view .LVU1718 5132 0030 08BD pop {r3, pc} 5133 .LVL299: 5134 .L351: 3216:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5135 .loc 1 3216 7 is_stmt 1 view .LVU1719 5136 0032 FFF7FEFF bl SPI_CloseRxTx_ISR ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 188 5137 .LVL300: 3219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5138 .loc 1 3219 1 is_stmt 0 view .LVU1720 5139 0036 FBE7 b .L348 5140 .cfi_endproc 5141 .LFE279: 5143 .section .text.SPI_2linesRxISR_8BIT,"ax",%progbits 5144 .align 1 5145 .syntax unified 5146 .thumb 5147 .thumb_func 5149 SPI_2linesRxISR_8BIT: 5150 .LVL301: 5151 .LFB278: 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 8bit mode */ 5152 .loc 1 3129 1 is_stmt 1 view -0 5153 .cfi_startproc 5154 @ args = 0, pretend = 0, frame = 0 5155 @ frame_needed = 0, uses_anonymous_args = 0 3129:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 8bit mode */ 5156 .loc 1 3129 1 is_stmt 0 view .LVU1722 5157 0000 08B5 push {r3, lr} 5158 .LCFI68: 5159 .cfi_def_cfa_offset 8 5160 .cfi_offset 3, -8 5161 .cfi_offset 14, -4 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 5162 .loc 1 3131 3 is_stmt 1 view .LVU1723 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 5163 .loc 1 3131 46 is_stmt 0 view .LVU1724 5164 0002 0268 ldr r2, [r0] 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 5165 .loc 1 3131 8 view .LVU1725 5166 0004 836B ldr r3, [r0, #56] 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 5167 .loc 1 3131 23 view .LVU1726 5168 0006 127B ldrb r2, [r2, #12] @ zero_extendqisi2 3131:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr++; 5169 .loc 1 3131 21 view .LVU1727 5170 0008 1A70 strb r2, [r3] 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 5171 .loc 1 3132 3 is_stmt 1 view .LVU1728 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 5172 .loc 1 3132 7 is_stmt 0 view .LVU1729 5173 000a 836B ldr r3, [r0, #56] 3132:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 5174 .loc 1 3132 19 view .LVU1730 5175 000c 0133 adds r3, r3, #1 5176 000e 8363 str r3, [r0, #56] 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5177 .loc 1 3133 3 is_stmt 1 view .LVU1731 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5178 .loc 1 3133 7 is_stmt 0 view .LVU1732 5179 0010 C38F ldrh r3, [r0, #62] 5180 0012 9BB2 uxth r3, r3 3133:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5181 .loc 1 3133 20 view .LVU1733 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 189 5182 0014 013B subs r3, r3, #1 5183 0016 9BB2 uxth r3, r3 5184 0018 C387 strh r3, [r0, #62] @ movhi 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5185 .loc 1 3136 3 is_stmt 1 view .LVU1734 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5186 .loc 1 3136 11 is_stmt 0 view .LVU1735 5187 001a C38F ldrh r3, [r0, #62] 5188 001c 9BB2 uxth r3, r3 3136:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5189 .loc 1 3136 6 view .LVU1736 5190 001e 3BB9 cbnz r3, .L352 3147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5191 .loc 1 3147 5 is_stmt 1 view .LVU1737 5192 0020 0268 ldr r2, [r0] 5193 0022 5368 ldr r3, [r2, #4] 5194 0024 23F06003 bic r3, r3, #96 5195 0028 5360 str r3, [r2, #4] 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5196 .loc 1 3149 5 view .LVU1738 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5197 .loc 1 3149 13 is_stmt 0 view .LVU1739 5198 002a C38E ldrh r3, [r0, #54] 5199 002c 9BB2 uxth r3, r3 3149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5200 .loc 1 3149 8 view .LVU1740 5201 002e 03B1 cbz r3, .L355 5202 .LVL302: 5203 .L352: 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5204 .loc 1 3154 1 view .LVU1741 5205 0030 08BD pop {r3, pc} 5206 .LVL303: 5207 .L355: 3151:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5208 .loc 1 3151 7 is_stmt 1 view .LVU1742 5209 0032 FFF7FEFF bl SPI_CloseRxTx_ISR 5210 .LVL304: 3154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5211 .loc 1 3154 1 is_stmt 0 view .LVU1743 5212 0036 FBE7 b .L352 5213 .cfi_endproc 5214 .LFE278: 5216 .section .text.SPI_2linesTxISR_16BIT,"ax",%progbits 5217 .align 1 5218 .syntax unified 5219 .thumb 5220 .thumb_func 5222 SPI_2linesTxISR_16BIT: 5223 .LVL305: 5224 .LFB281: 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ 5225 .loc 1 3284 1 is_stmt 1 view -0 5226 .cfi_startproc 5227 @ args = 0, pretend = 0, frame = 0 5228 @ frame_needed = 0, uses_anonymous_args = 0 3284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Transmit data in 16 Bit mode */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 190 5229 .loc 1 3284 1 is_stmt 0 view .LVU1745 5230 0000 08B5 push {r3, lr} 5231 .LCFI69: 5232 .cfi_def_cfa_offset 8 5233 .cfi_offset 3, -8 5234 .cfi_offset 14, -4 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 5235 .loc 1 3286 3 is_stmt 1 view .LVU1746 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 5236 .loc 1 3286 48 is_stmt 0 view .LVU1747 5237 0002 026B ldr r2, [r0, #48] 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 5238 .loc 1 3286 7 view .LVU1748 5239 0004 0368 ldr r3, [r0] 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 5240 .loc 1 3286 24 view .LVU1749 5241 0006 1288 ldrh r2, [r2] 3286:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pTxBuffPtr += sizeof(uint16_t); 5242 .loc 1 3286 22 view .LVU1750 5243 0008 DA60 str r2, [r3, #12] 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 5244 .loc 1 3287 3 is_stmt 1 view .LVU1751 3287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount--; 5245 .loc 1 3287 20 is_stmt 0 view .LVU1752 5246 000a 036B ldr r3, [r0, #48] 5247 000c 0233 adds r3, r3, #2 5248 000e 0363 str r3, [r0, #48] 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5249 .loc 1 3288 3 is_stmt 1 view .LVU1753 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5250 .loc 1 3288 7 is_stmt 0 view .LVU1754 5251 0010 C38E ldrh r3, [r0, #54] 5252 0012 9BB2 uxth r3, r3 3288:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5253 .loc 1 3288 20 view .LVU1755 5254 0014 013B subs r3, r3, #1 5255 0016 9BB2 uxth r3, r3 5256 0018 C386 strh r3, [r0, #54] @ movhi 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5257 .loc 1 3291 3 is_stmt 1 view .LVU1756 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5258 .loc 1 3291 11 is_stmt 0 view .LVU1757 5259 001a C38E ldrh r3, [r0, #54] 5260 001c 9BB2 uxth r3, r3 3291:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5261 .loc 1 3291 6 view .LVU1758 5262 001e 3BB9 cbnz r3, .L356 3305:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5263 .loc 1 3305 5 is_stmt 1 view .LVU1759 5264 0020 0268 ldr r2, [r0] 5265 0022 5368 ldr r3, [r2, #4] 5266 0024 23F08003 bic r3, r3, #128 5267 0028 5360 str r3, [r2, #4] 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5268 .loc 1 3307 5 view .LVU1760 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5269 .loc 1 3307 13 is_stmt 0 view .LVU1761 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 191 5270 002a C38F ldrh r3, [r0, #62] 5271 002c 9BB2 uxth r3, r3 3307:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5272 .loc 1 3307 8 view .LVU1762 5273 002e 03B1 cbz r3, .L359 5274 .LVL306: 5275 .L356: 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5276 .loc 1 3312 1 view .LVU1763 5277 0030 08BD pop {r3, pc} 5278 .LVL307: 5279 .L359: 3309:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5280 .loc 1 3309 7 is_stmt 1 view .LVU1764 5281 0032 FFF7FEFF bl SPI_CloseRxTx_ISR 5282 .LVL308: 3312:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5283 .loc 1 3312 1 is_stmt 0 view .LVU1765 5284 0036 FBE7 b .L356 5285 .cfi_endproc 5286 .LFE281: 5288 .section .text.SPI_2linesRxISR_16BIT,"ax",%progbits 5289 .align 1 5290 .syntax unified 5291 .thumb 5292 .thumb_func 5294 SPI_2linesRxISR_16BIT: 5295 .LVL309: 5296 .LFB280: 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 16 Bit mode */ 5297 .loc 1 3228 1 is_stmt 1 view -0 5298 .cfi_startproc 5299 @ args = 0, pretend = 0, frame = 0 5300 @ frame_needed = 0, uses_anonymous_args = 0 3228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Receive data in 16 Bit mode */ 5301 .loc 1 3228 1 is_stmt 0 view .LVU1767 5302 0000 08B5 push {r3, lr} 5303 .LCFI70: 5304 .cfi_def_cfa_offset 8 5305 .cfi_offset 3, -8 5306 .cfi_offset 14, -4 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 5307 .loc 1 3230 3 is_stmt 1 view .LVU1768 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 5308 .loc 1 3230 52 is_stmt 0 view .LVU1769 5309 0002 0368 ldr r3, [r0] 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 5310 .loc 1 3230 62 view .LVU1770 5311 0004 DA68 ldr r2, [r3, #12] 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 5312 .loc 1 3230 21 view .LVU1771 5313 0006 836B ldr r3, [r0, #56] 3230:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->pRxBuffPtr += sizeof(uint16_t); 5314 .loc 1 3230 35 view .LVU1772 5315 0008 1A80 strh r2, [r3] @ movhi 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 5316 .loc 1 3231 3 is_stmt 1 view .LVU1773 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 192 3231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount--; 5317 .loc 1 3231 20 is_stmt 0 view .LVU1774 5318 000a 836B ldr r3, [r0, #56] 5319 000c 0233 adds r3, r3, #2 5320 000e 8363 str r3, [r0, #56] 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5321 .loc 1 3232 3 is_stmt 1 view .LVU1775 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5322 .loc 1 3232 7 is_stmt 0 view .LVU1776 5323 0010 C38F ldrh r3, [r0, #62] 5324 0012 9BB2 uxth r3, r3 3232:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5325 .loc 1 3232 20 view .LVU1777 5326 0014 013B subs r3, r3, #1 5327 0016 9BB2 uxth r3, r3 5328 0018 C387 strh r3, [r0, #62] @ movhi 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5329 .loc 1 3234 3 is_stmt 1 view .LVU1778 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5330 .loc 1 3234 11 is_stmt 0 view .LVU1779 5331 001a C38F ldrh r3, [r0, #62] 5332 001c 9BB2 uxth r3, r3 3234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5333 .loc 1 3234 6 view .LVU1780 5334 001e 3BB9 cbnz r3, .L360 3245:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5335 .loc 1 3245 5 is_stmt 1 view .LVU1781 5336 0020 0268 ldr r2, [r0] 5337 0022 5368 ldr r3, [r2, #4] 5338 0024 23F04003 bic r3, r3, #64 5339 0028 5360 str r3, [r2, #4] 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5340 .loc 1 3247 5 view .LVU1782 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5341 .loc 1 3247 13 is_stmt 0 view .LVU1783 5342 002a C38E ldrh r3, [r0, #54] 5343 002c 9BB2 uxth r3, r3 3247:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5344 .loc 1 3247 8 view .LVU1784 5345 002e 03B1 cbz r3, .L363 5346 .LVL310: 5347 .L360: 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5348 .loc 1 3252 1 view .LVU1785 5349 0030 08BD pop {r3, pc} 5350 .LVL311: 5351 .L363: 3249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5352 .loc 1 3249 7 is_stmt 1 view .LVU1786 5353 0032 FFF7FEFF bl SPI_CloseRxTx_ISR 5354 .LVL312: 3252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5355 .loc 1 3252 1 is_stmt 0 view .LVU1787 5356 0036 FBE7 b .L360 5357 .cfi_endproc 5358 .LFE280: 5360 .section .text.SPI_DMAError,"ax",%progbits ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 193 5361 .align 1 5362 .syntax unified 5363 .thumb 5364 .thumb_func 5366 SPI_DMAError: 5367 .LVL313: 5368 .LFB274: 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5369 .loc 1 2960 1 is_stmt 1 view -0 5370 .cfi_startproc 5371 @ args = 0, pretend = 0, frame = 0 5372 @ frame_needed = 0, uses_anonymous_args = 0 2960:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5373 .loc 1 2960 1 is_stmt 0 view .LVU1789 5374 0000 08B5 push {r3, lr} 5375 .LCFI71: 5376 .cfi_def_cfa_offset 8 5377 .cfi_offset 3, -8 5378 .cfi_offset 14, -4 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5379 .loc 1 2961 3 is_stmt 1 view .LVU1790 2961:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5380 .loc 1 2961 22 is_stmt 0 view .LVU1791 5381 0002 806B ldr r0, [r0, #56] 5382 .LVL314: 2964:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5383 .loc 1 2964 3 is_stmt 1 view .LVU1792 5384 0004 0268 ldr r2, [r0] 5385 0006 5368 ldr r3, [r2, #4] 5386 0008 23F00303 bic r3, r3, #3 5387 000c 5360 str r3, [r2, #4] 2966:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5388 .loc 1 2966 3 view .LVU1793 5389 000e 436D ldr r3, [r0, #84] 5390 0010 43F01003 orr r3, r3, #16 5391 0014 4365 str r3, [r0, #84] 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 5392 .loc 1 2967 3 view .LVU1794 2967:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Call user error callback */ 5393 .loc 1 2967 15 is_stmt 0 view .LVU1795 5394 0016 0123 movs r3, #1 5395 0018 80F85130 strb r3, [r0, #81] 2972:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5396 .loc 1 2972 3 is_stmt 1 view .LVU1796 5397 001c FFF7FEFF bl HAL_SPI_ErrorCallback 5398 .LVL315: 2974:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5399 .loc 1 2974 1 is_stmt 0 view .LVU1797 5400 0020 08BD pop {r3, pc} 5401 .cfi_endproc 5402 .LFE274: 5404 .section .text.SPI_DMATransmitCplt,"ax",%progbits 5405 .align 1 5406 .syntax unified 5407 .thumb 5408 .thumb_func 5410 SPI_DMATransmitCplt: ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 194 5411 .LVL316: 5412 .LFB268: 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5413 .loc 1 2680 1 is_stmt 1 view -0 5414 .cfi_startproc 5415 @ args = 0, pretend = 0, frame = 8 5416 @ frame_needed = 0, uses_anonymous_args = 0 2680:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5417 .loc 1 2680 1 is_stmt 0 view .LVU1799 5418 0000 30B5 push {r4, r5, lr} 5419 .LCFI72: 5420 .cfi_def_cfa_offset 12 5421 .cfi_offset 4, -12 5422 .cfi_offset 5, -8 5423 .cfi_offset 14, -4 5424 0002 83B0 sub sp, sp, #12 5425 .LCFI73: 5426 .cfi_def_cfa_offset 24 5427 0004 0546 mov r5, r0 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5428 .loc 1 2681 3 is_stmt 1 view .LVU1800 2681:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5429 .loc 1 2681 22 is_stmt 0 view .LVU1801 5430 0006 846B ldr r4, [r0, #56] 5431 .LVL317: 2682:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5432 .loc 1 2682 3 is_stmt 1 view .LVU1802 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5433 .loc 1 2685 3 view .LVU1803 2685:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5434 .loc 1 2685 15 is_stmt 0 view .LVU1804 5435 0008 FFF7FEFF bl HAL_GetTick 5436 .LVL318: 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5437 .loc 1 2688 3 is_stmt 1 view .LVU1805 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5438 .loc 1 2688 12 is_stmt 0 view .LVU1806 5439 000c 2B68 ldr r3, [r5] 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5440 .loc 1 2688 22 view .LVU1807 5441 000e 1B68 ldr r3, [r3] 2688:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5442 .loc 1 2688 6 view .LVU1808 5443 0010 13F4807F tst r3, #256 5444 0014 23D1 bne .L367 5445 0016 0246 mov r2, r0 2691:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5446 .loc 1 2691 5 is_stmt 1 view .LVU1809 5447 0018 2168 ldr r1, [r4] 5448 001a 4B68 ldr r3, [r1, #4] 5449 001c 23F02003 bic r3, r3, #32 5450 0020 4B60 str r3, [r1, #4] 2694:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5451 .loc 1 2694 5 view .LVU1810 5452 0022 2168 ldr r1, [r4] 5453 0024 4B68 ldr r3, [r1, #4] 5454 0026 23F00203 bic r3, r3, #2 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 195 5455 002a 4B60 str r3, [r1, #4] 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5456 .loc 1 2697 5 view .LVU1811 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5457 .loc 1 2697 9 is_stmt 0 view .LVU1812 5458 002c 6421 movs r1, #100 5459 002e 2046 mov r0, r4 5460 .LVL319: 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5461 .loc 1 2697 9 view .LVU1813 5462 0030 FFF7FEFF bl SPI_EndRxTxTransaction 5463 .LVL320: 2697:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5464 .loc 1 2697 8 view .LVU1814 5465 0034 18B1 cbz r0, .L368 2699:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5466 .loc 1 2699 7 is_stmt 1 view .LVU1815 5467 0036 636D ldr r3, [r4, #84] 5468 0038 43F02003 orr r3, r3, #32 5469 003c 6365 str r3, [r4, #84] 5470 .L368: 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5471 .loc 1 2703 5 view .LVU1816 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5472 .loc 1 2703 19 is_stmt 0 view .LVU1817 5473 003e A368 ldr r3, [r4, #8] 2703:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5474 .loc 1 2703 8 view .LVU1818 5475 0040 33B9 cbnz r3, .L369 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5476 .loc 1 2705 7 is_stmt 1 view .LVU1819 5477 .LBB9: 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5478 .loc 1 2705 7 view .LVU1820 5479 0042 0193 str r3, [sp, #4] 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5480 .loc 1 2705 7 view .LVU1821 5481 0044 2368 ldr r3, [r4] 5482 0046 DA68 ldr r2, [r3, #12] 5483 0048 0192 str r2, [sp, #4] 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5484 .loc 1 2705 7 view .LVU1822 5485 004a 9B68 ldr r3, [r3, #8] 5486 004c 0193 str r3, [sp, #4] 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5487 .loc 1 2705 7 view .LVU1823 5488 004e 019B ldr r3, [sp, #4] 5489 .L369: 5490 .LBE9: 2705:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5491 .loc 1 2705 7 discriminator 1 view .LVU1824 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5492 .loc 1 2708 5 discriminator 1 view .LVU1825 2708:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5493 .loc 1 2708 23 is_stmt 0 discriminator 1 view .LVU1826 5494 0050 0023 movs r3, #0 5495 0052 E386 strh r3, [r4, #54] @ movhi ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 196 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5496 .loc 1 2709 5 is_stmt 1 discriminator 1 view .LVU1827 2709:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5497 .loc 1 2709 17 is_stmt 0 discriminator 1 view .LVU1828 5498 0054 0123 movs r3, #1 5499 0056 84F85130 strb r3, [r4, #81] 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5500 .loc 1 2711 5 is_stmt 1 discriminator 1 view .LVU1829 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5501 .loc 1 2711 13 is_stmt 0 discriminator 1 view .LVU1830 5502 005a 636D ldr r3, [r4, #84] 2711:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5503 .loc 1 2711 8 discriminator 1 view .LVU1831 5504 005c 23B9 cbnz r3, .L372 5505 .L367: 2726:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5506 .loc 1 2726 3 is_stmt 1 view .LVU1832 5507 005e 2046 mov r0, r4 5508 0060 FFF7FEFF bl HAL_SPI_TxCpltCallback 5509 .LVL321: 5510 .L366: 2728:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5511 .loc 1 2728 1 is_stmt 0 view .LVU1833 5512 0064 03B0 add sp, sp, #12 5513 .LCFI74: 5514 .cfi_remember_state 5515 .cfi_def_cfa_offset 12 5516 @ sp needed 5517 0066 30BD pop {r4, r5, pc} 5518 .LVL322: 5519 .L372: 5520 .LCFI75: 5521 .cfi_restore_state 2717:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5522 .loc 1 2717 7 is_stmt 1 view .LVU1834 5523 0068 2046 mov r0, r4 5524 006a FFF7FEFF bl HAL_SPI_ErrorCallback 5525 .LVL323: 2719:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5526 .loc 1 2719 7 view .LVU1835 5527 006e F9E7 b .L366 5528 .cfi_endproc 5529 .LFE268: 5531 .section .text.SPI_DMAReceiveCplt,"ax",%progbits 5532 .align 1 5533 .syntax unified 5534 .thumb 5535 .thumb_func 5537 SPI_DMAReceiveCplt: 5538 .LVL324: 5539 .LFB269: 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5540 .loc 1 2737 1 view -0 5541 .cfi_startproc 5542 @ args = 0, pretend = 0, frame = 0 5543 @ frame_needed = 0, uses_anonymous_args = 0 2737:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 197 5544 .loc 1 2737 1 is_stmt 0 view .LVU1837 5545 0000 38B5 push {r3, r4, r5, lr} 5546 .LCFI76: 5547 .cfi_def_cfa_offset 16 5548 .cfi_offset 3, -16 5549 .cfi_offset 4, -12 5550 .cfi_offset 5, -8 5551 .cfi_offset 14, -4 5552 0002 0546 mov r5, r0 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5553 .loc 1 2738 3 is_stmt 1 view .LVU1838 2738:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5554 .loc 1 2738 22 is_stmt 0 view .LVU1839 5555 0004 846B ldr r4, [r0, #56] 5556 .LVL325: 2739:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 5557 .loc 1 2739 3 is_stmt 1 view .LVU1840 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5558 .loc 1 2745 3 view .LVU1841 2745:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5559 .loc 1 2745 15 is_stmt 0 view .LVU1842 5560 0006 FFF7FEFF bl HAL_GetTick 5561 .LVL326: 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5562 .loc 1 2748 3 is_stmt 1 view .LVU1843 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5563 .loc 1 2748 12 is_stmt 0 view .LVU1844 5564 000a 2B68 ldr r3, [r5] 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5565 .loc 1 2748 22 view .LVU1845 5566 000c 1B68 ldr r3, [r3] 2748:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5567 .loc 1 2748 6 view .LVU1846 5568 000e 13F4807F tst r3, #256 5569 0012 1ED1 bne .L374 5570 0014 0246 mov r2, r0 2751:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5571 .loc 1 2751 5 is_stmt 1 view .LVU1847 5572 0016 2168 ldr r1, [r4] 5573 0018 4B68 ldr r3, [r1, #4] 5574 001a 23F02003 bic r3, r3, #32 5575 001e 4B60 str r3, [r1, #4] 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5576 .loc 1 2771 5 view .LVU1848 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5577 .loc 1 2771 20 is_stmt 0 view .LVU1849 5578 0020 A368 ldr r3, [r4, #8] 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5579 .loc 1 2771 8 view .LVU1850 5580 0022 1BB9 cbnz r3, .L375 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5581 .loc 1 2771 70 discriminator 1 view .LVU1851 5582 0024 6368 ldr r3, [r4, #4] 2771:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5583 .loc 1 2771 56 discriminator 1 view .LVU1852 5584 0026 B3F5827F cmp r3, #260 5585 002a 16D0 beq .L380 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 198 5586 .L375: 2779:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5587 .loc 1 2779 7 is_stmt 1 view .LVU1853 5588 002c 2168 ldr r1, [r4] 5589 002e 4B68 ldr r3, [r1, #4] 5590 0030 23F00103 bic r3, r3, #1 5591 0034 4B60 str r3, [r1, #4] 5592 .L376: 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5593 .loc 1 2783 5 view .LVU1854 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5594 .loc 1 2783 9 is_stmt 0 view .LVU1855 5595 0036 6421 movs r1, #100 5596 0038 2046 mov r0, r4 5597 .LVL327: 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5598 .loc 1 2783 9 view .LVU1856 5599 003a FFF7FEFF bl SPI_EndRxTransaction 5600 .LVL328: 2783:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5601 .loc 1 2783 8 view .LVU1857 5602 003e 08B1 cbz r0, .L377 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5603 .loc 1 2785 7 is_stmt 1 view .LVU1858 2785:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5604 .loc 1 2785 23 is_stmt 0 view .LVU1859 5605 0040 2023 movs r3, #32 5606 0042 6365 str r3, [r4, #84] 5607 .L377: 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5608 .loc 1 2788 5 is_stmt 1 view .LVU1860 2788:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5609 .loc 1 2788 23 is_stmt 0 view .LVU1861 5610 0044 0023 movs r3, #0 5611 0046 E387 strh r3, [r4, #62] @ movhi 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5612 .loc 1 2789 5 is_stmt 1 view .LVU1862 2789:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5613 .loc 1 2789 17 is_stmt 0 view .LVU1863 5614 0048 0123 movs r3, #1 5615 004a 84F85130 strb r3, [r4, #81] 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5616 .loc 1 2800 5 is_stmt 1 view .LVU1864 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5617 .loc 1 2800 13 is_stmt 0 view .LVU1865 5618 004e 636D ldr r3, [r4, #84] 2800:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5619 .loc 1 2800 8 view .LVU1866 5620 0050 4BB9 cbnz r3, .L381 5621 .L374: 2815:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5622 .loc 1 2815 3 is_stmt 1 view .LVU1867 5623 0052 2046 mov r0, r4 5624 0054 FFF7FEFF bl HAL_SPI_RxCpltCallback 5625 .LVL329: 5626 .L373: 2817:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 199 5627 .loc 1 2817 1 is_stmt 0 view .LVU1868 5628 0058 38BD pop {r3, r4, r5, pc} 5629 .LVL330: 5630 .L380: 2774:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5631 .loc 1 2774 7 is_stmt 1 view .LVU1869 5632 005a 2168 ldr r1, [r4] 5633 005c 4B68 ldr r3, [r1, #4] 5634 005e 23F00303 bic r3, r3, #3 5635 0062 4B60 str r3, [r1, #4] 5636 0064 E7E7 b .L376 5637 .LVL331: 5638 .L381: 2806:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5639 .loc 1 2806 7 view .LVU1870 5640 0066 2046 mov r0, r4 5641 0068 FFF7FEFF bl HAL_SPI_ErrorCallback 5642 .LVL332: 2808:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5643 .loc 1 2808 7 view .LVU1871 5644 006c F4E7 b .L373 5645 .cfi_endproc 5646 .LFE269: 5648 .section .text.SPI_DMATransmitReceiveCplt,"ax",%progbits 5649 .align 1 5650 .syntax unified 5651 .thumb 5652 .thumb_func 5654 SPI_DMATransmitReceiveCplt: 5655 .LVL333: 5656 .LFB270: 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5657 .loc 1 2826 1 view -0 5658 .cfi_startproc 5659 @ args = 0, pretend = 0, frame = 0 5660 @ frame_needed = 0, uses_anonymous_args = 0 2826:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 5661 .loc 1 2826 1 is_stmt 0 view .LVU1873 5662 0000 38B5 push {r3, r4, r5, lr} 5663 .LCFI77: 5664 .cfi_def_cfa_offset 16 5665 .cfi_offset 3, -16 5666 .cfi_offset 4, -12 5667 .cfi_offset 5, -8 5668 .cfi_offset 14, -4 5669 0002 0546 mov r5, r0 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5670 .loc 1 2827 3 is_stmt 1 view .LVU1874 2827:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t tickstart; 5671 .loc 1 2827 22 is_stmt 0 view .LVU1875 5672 0004 846B ldr r4, [r0, #56] 5673 .LVL334: 2828:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #if (USE_SPI_CRC != 0U) 5674 .loc 1 2828 3 is_stmt 1 view .LVU1876 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5675 .loc 1 2834 3 view .LVU1877 2834:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 200 5676 .loc 1 2834 15 is_stmt 0 view .LVU1878 5677 0006 FFF7FEFF bl HAL_GetTick 5678 .LVL335: 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5679 .loc 1 2837 3 is_stmt 1 view .LVU1879 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5680 .loc 1 2837 12 is_stmt 0 view .LVU1880 5681 000a 2B68 ldr r3, [r5] 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5682 .loc 1 2837 22 view .LVU1881 5683 000c 1B68 ldr r3, [r3] 2837:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5684 .loc 1 2837 6 view .LVU1882 5685 000e 13F4807F tst r3, #256 5686 0012 1BD1 bne .L383 5687 0014 0246 mov r2, r0 2840:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5688 .loc 1 2840 5 is_stmt 1 view .LVU1883 5689 0016 2168 ldr r1, [r4] 5690 0018 4B68 ldr r3, [r1, #4] 5691 001a 23F02003 bic r3, r3, #32 5692 001e 4B60 str r3, [r1, #4] 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5693 .loc 1 2859 5 view .LVU1884 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5694 .loc 1 2859 9 is_stmt 0 view .LVU1885 5695 0020 6421 movs r1, #100 5696 0022 2046 mov r0, r4 5697 .LVL336: 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5698 .loc 1 2859 9 view .LVU1886 5699 0024 FFF7FEFF bl SPI_EndRxTxTransaction 5700 .LVL337: 2859:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5701 .loc 1 2859 8 view .LVU1887 5702 0028 18B1 cbz r0, .L384 2861:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5703 .loc 1 2861 7 is_stmt 1 view .LVU1888 5704 002a 636D ldr r3, [r4, #84] 5705 002c 43F02003 orr r3, r3, #32 5706 0030 6365 str r3, [r4, #84] 5707 .L384: 2865:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5708 .loc 1 2865 5 view .LVU1889 5709 0032 2268 ldr r2, [r4] 5710 0034 5368 ldr r3, [r2, #4] 5711 0036 23F00303 bic r3, r3, #3 5712 003a 5360 str r3, [r2, #4] 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 5713 .loc 1 2867 5 view .LVU1890 2867:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 5714 .loc 1 2867 23 is_stmt 0 view .LVU1891 5715 003c 0023 movs r3, #0 5716 003e E386 strh r3, [r4, #54] @ movhi 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; 5717 .loc 1 2868 5 is_stmt 1 view .LVU1892 2868:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->State = HAL_SPI_STATE_READY; ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 201 5718 .loc 1 2868 23 is_stmt 0 view .LVU1893 5719 0040 E387 strh r3, [r4, #62] @ movhi 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5720 .loc 1 2869 5 is_stmt 1 view .LVU1894 2869:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5721 .loc 1 2869 17 is_stmt 0 view .LVU1895 5722 0042 0123 movs r3, #1 5723 0044 84F85130 strb r3, [r4, #81] 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5724 .loc 1 2880 5 is_stmt 1 view .LVU1896 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5725 .loc 1 2880 13 is_stmt 0 view .LVU1897 5726 0048 636D ldr r3, [r4, #84] 2880:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5727 .loc 1 2880 8 view .LVU1898 5728 004a 1BB9 cbnz r3, .L387 5729 .L383: 2895:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5730 .loc 1 2895 3 is_stmt 1 view .LVU1899 5731 004c 2046 mov r0, r4 5732 004e FFF7FEFF bl HAL_SPI_TxRxCpltCallback 5733 .LVL338: 5734 .L382: 2897:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5735 .loc 1 2897 1 is_stmt 0 view .LVU1900 5736 0052 38BD pop {r3, r4, r5, pc} 5737 .LVL339: 5738 .L387: 2886:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 5739 .loc 1 2886 7 is_stmt 1 view .LVU1901 5740 0054 2046 mov r0, r4 5741 0056 FFF7FEFF bl HAL_SPI_ErrorCallback 5742 .LVL340: 2888:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5743 .loc 1 2888 7 view .LVU1902 5744 005a FAE7 b .L382 5745 .cfi_endproc 5746 .LFE270: 5748 .section .text.HAL_SPI_IRQHandler,"ax",%progbits 5749 .align 1 5750 .global HAL_SPI_IRQHandler 5751 .syntax unified 5752 .thumb 5753 .thumb_func 5755 HAL_SPI_IRQHandler: 5756 .LVL341: 5757 .LFB257: 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2; 5758 .loc 1 2387 1 view -0 5759 .cfi_startproc 5760 @ args = 0, pretend = 0, frame = 16 5761 @ frame_needed = 0, uses_anonymous_args = 0 2387:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itsource = hspi->Instance->CR2; 5762 .loc 1 2387 1 is_stmt 0 view .LVU1904 5763 0000 30B5 push {r4, r5, lr} 5764 .LCFI78: 5765 .cfi_def_cfa_offset 12 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 202 5766 .cfi_offset 4, -12 5767 .cfi_offset 5, -8 5768 .cfi_offset 14, -4 5769 0002 85B0 sub sp, sp, #20 5770 .LCFI79: 5771 .cfi_def_cfa_offset 32 5772 0004 0446 mov r4, r0 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR; 5773 .loc 1 2388 3 is_stmt 1 view .LVU1905 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR; 5774 .loc 1 2388 27 is_stmt 0 view .LVU1906 5775 0006 0268 ldr r2, [r0] 2388:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t itflag = hspi->Instance->SR; 5776 .loc 1 2388 12 view .LVU1907 5777 0008 5168 ldr r1, [r2, #4] 5778 .LVL342: 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5779 .loc 1 2389 3 is_stmt 1 view .LVU1908 2389:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5780 .loc 1 2389 12 is_stmt 0 view .LVU1909 5781 000a 9368 ldr r3, [r2, #8] 5782 .LVL343: 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN 5783 .loc 1 2392 3 is_stmt 1 view .LVU1910 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN 5784 .loc 1 2392 8 is_stmt 0 view .LVU1911 5785 000c C3F38010 ubfx r0, r3, #6, #1 5786 .LVL344: 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN 5787 .loc 1 2392 6 view .LVU1912 5788 0010 13F0400F tst r3, #64 5789 0014 05D1 bne .L389 2392:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** (SPI_CHECK_FLAG(itflag, SPI_FLAG_RXNE) != RESET) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT_RXN 5790 .loc 1 2392 55 discriminator 1 view .LVU1913 5791 0016 13F0010F tst r3, #1 5792 001a 02D0 beq .L389 2393:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5793 .loc 1 2393 56 view .LVU1914 5794 001c 11F0400F tst r1, #64 5795 0020 69D1 bne .L401 5796 .L389: 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5797 .loc 1 2400 3 is_stmt 1 view .LVU1915 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5798 .loc 1 2400 6 is_stmt 0 view .LVU1916 5799 0022 13F0020F tst r3, #2 5800 0026 02D0 beq .L391 2400:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5801 .loc 1 2400 55 discriminator 1 view .LVU1917 5802 0028 11F0800F tst r1, #128 5803 002c 67D1 bne .L402 5804 .L391: 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT 5805 .loc 1 2407 3 is_stmt 1 view .LVU1918 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT 5806 .loc 1 2407 9 is_stmt 0 view .LVU1919 5807 002e C3F34015 ubfx r5, r3, #5, #1 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 203 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT 5808 .loc 1 2407 6 view .LVU1920 5809 0032 13F0200F tst r3, #32 5810 0036 03D1 bne .L392 2407:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** || (SPI_CHECK_FLAG(itflag, SPI_FLAG_FRE) != RESET)) && (SPI_CHECK_IT_SOURCE(itsource, SPI_IT 5811 .loc 1 2407 57 discriminator 1 view .LVU1921 5812 0038 10B9 cbnz r0, .L392 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5813 .loc 1 2408 8 view .LVU1922 5814 003a 13F4807F tst r3, #256 5815 003e 61D0 beq .L388 5816 .L392: 2408:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5817 .loc 1 2408 60 discriminator 1 view .LVU1923 5818 0040 11F0200F tst r1, #32 5819 0044 5ED0 beq .L388 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5820 .loc 1 2411 5 is_stmt 1 view .LVU1924 2411:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5821 .loc 1 2411 8 is_stmt 0 view .LVU1925 5822 0046 78B1 cbz r0, .L393 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5823 .loc 1 2413 7 is_stmt 1 view .LVU1926 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5824 .loc 1 2413 15 is_stmt 0 view .LVU1927 5825 0048 94F85100 ldrb r0, [r4, #81] @ zero_extendqisi2 5826 004c C0B2 uxtb r0, r0 2413:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5827 .loc 1 2413 10 view .LVU1928 5828 004e 0328 cmp r0, #3 5829 0050 5AD0 beq .L394 2415:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_OVRFLAG(hspi); 5830 .loc 1 2415 9 is_stmt 1 view .LVU1929 5831 0052 606D ldr r0, [r4, #84] 5832 0054 40F00400 orr r0, r0, #4 5833 0058 6065 str r0, [r4, #84] 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5834 .loc 1 2416 9 view .LVU1930 5835 .LBB10: 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5836 .loc 1 2416 9 view .LVU1931 5837 005a 0020 movs r0, #0 5838 005c 0090 str r0, [sp] 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5839 .loc 1 2416 9 view .LVU1932 5840 005e D068 ldr r0, [r2, #12] 5841 0060 0090 str r0, [sp] 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5842 .loc 1 2416 9 view .LVU1933 5843 0062 9068 ldr r0, [r2, #8] 5844 0064 0090 str r0, [sp] 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5845 .loc 1 2416 9 view .LVU1934 5846 0066 0098 ldr r0, [sp] 5847 .LBE10: 2416:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5848 .loc 1 2416 9 view .LVU1935 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 204 5849 .L393: 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5850 .loc 1 2426 5 view .LVU1936 2426:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5851 .loc 1 2426 8 is_stmt 0 view .LVU1937 5852 0068 65B1 cbz r5, .L395 2428:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_MODFFLAG(hspi); 5853 .loc 1 2428 7 is_stmt 1 view .LVU1938 5854 006a 606D ldr r0, [r4, #84] 5855 006c 40F00100 orr r0, r0, #1 5856 0070 6065 str r0, [r4, #84] 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5857 .loc 1 2429 7 view .LVU1939 5858 .LBB11: 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5859 .loc 1 2429 7 view .LVU1940 5860 0072 0020 movs r0, #0 5861 0074 0290 str r0, [sp, #8] 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5862 .loc 1 2429 7 view .LVU1941 5863 0076 9068 ldr r0, [r2, #8] 5864 0078 0290 str r0, [sp, #8] 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5865 .loc 1 2429 7 view .LVU1942 5866 007a 1068 ldr r0, [r2] 5867 007c 20F04000 bic r0, r0, #64 5868 0080 1060 str r0, [r2] 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5869 .loc 1 2429 7 view .LVU1943 5870 0082 029A ldr r2, [sp, #8] 5871 .L395: 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5872 .loc 1 2429 7 is_stmt 0 view .LVU1944 5873 .LBE11: 2429:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5874 .loc 1 2429 7 is_stmt 1 discriminator 1 view .LVU1945 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5875 .loc 1 2433 5 discriminator 1 view .LVU1946 2433:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5876 .loc 1 2433 8 is_stmt 0 discriminator 1 view .LVU1947 5877 0084 13F4807F tst r3, #256 5878 0088 09D0 beq .L396 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 5879 .loc 1 2435 7 is_stmt 1 view .LVU1948 5880 008a 636D ldr r3, [r4, #84] 5881 .LVL345: 2435:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 5882 .loc 1 2435 7 is_stmt 0 view .LVU1949 5883 008c 43F00803 orr r3, r3, #8 5884 0090 6365 str r3, [r4, #84] 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5885 .loc 1 2436 7 is_stmt 1 view .LVU1950 5886 .LBB12: 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5887 .loc 1 2436 7 view .LVU1951 5888 0092 0023 movs r3, #0 5889 0094 0393 str r3, [sp, #12] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 205 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5890 .loc 1 2436 7 view .LVU1952 5891 0096 2368 ldr r3, [r4] 5892 0098 9B68 ldr r3, [r3, #8] 5893 009a 0393 str r3, [sp, #12] 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5894 .loc 1 2436 7 view .LVU1953 5895 009c 039B ldr r3, [sp, #12] 5896 .L396: 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5897 .loc 1 2436 7 is_stmt 0 view .LVU1954 5898 .LBE12: 2436:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5899 .loc 1 2436 7 is_stmt 1 discriminator 1 view .LVU1955 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5900 .loc 1 2439 5 discriminator 1 view .LVU1956 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5901 .loc 1 2439 13 is_stmt 0 discriminator 1 view .LVU1957 5902 009e 636D ldr r3, [r4, #84] 2439:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5903 .loc 1 2439 8 discriminator 1 view .LVU1958 5904 00a0 002B cmp r3, #0 5905 00a2 2FD0 beq .L388 2442:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5906 .loc 1 2442 7 is_stmt 1 view .LVU1959 5907 00a4 2268 ldr r2, [r4] 5908 00a6 5368 ldr r3, [r2, #4] 5909 00a8 23F0E003 bic r3, r3, #224 5910 00ac 5360 str r3, [r2, #4] 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */ 5911 .loc 1 2444 7 view .LVU1960 2444:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Disable the SPI DMA requests if enabled */ 5912 .loc 1 2444 19 is_stmt 0 view .LVU1961 5913 00ae 0123 movs r3, #1 5914 00b0 84F85130 strb r3, [r4, #81] 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5915 .loc 1 2446 7 is_stmt 1 view .LVU1962 2446:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5916 .loc 1 2446 10 is_stmt 0 view .LVU1963 5917 00b4 11F0030F tst r1, #3 5918 00b8 2ED0 beq .L398 2448:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5919 .loc 1 2448 9 is_stmt 1 view .LVU1964 5920 00ba 2268 ldr r2, [r4] 5921 00bc 5368 ldr r3, [r2, #4] 5922 00be 23F00303 bic r3, r3, #3 5923 00c2 5360 str r3, [r2, #4] 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5924 .loc 1 2451 9 view .LVU1965 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5925 .loc 1 2451 17 is_stmt 0 view .LVU1966 5926 00c4 E36C ldr r3, [r4, #76] 2451:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5927 .loc 1 2451 12 view .LVU1967 5928 00c6 4BB1 cbz r3, .L399 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx)) 5929 .loc 1 2455 11 is_stmt 1 view .LVU1968 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 206 2455:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmarx)) 5930 .loc 1 2455 43 is_stmt 0 view .LVU1969 5931 00c8 154A ldr r2, .L403 5932 00ca 1A65 str r2, [r3, #80] 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5933 .loc 1 2456 11 is_stmt 1 view .LVU1970 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5934 .loc 1 2456 25 is_stmt 0 view .LVU1971 5935 00cc E06C ldr r0, [r4, #76] 5936 00ce FFF7FEFF bl HAL_DMA_Abort_IT 5937 .LVL346: 2456:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5938 .loc 1 2456 14 view .LVU1972 5939 00d2 18B1 cbz r0, .L399 2458:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5940 .loc 1 2458 13 is_stmt 1 view .LVU1973 5941 00d4 636D ldr r3, [r4, #84] 5942 00d6 43F04003 orr r3, r3, #64 5943 00da 6365 str r3, [r4, #84] 5944 .L399: 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5945 .loc 1 2462 9 view .LVU1974 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5946 .loc 1 2462 17 is_stmt 0 view .LVU1975 5947 00dc A36C ldr r3, [r4, #72] 2462:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5948 .loc 1 2462 12 view .LVU1976 5949 00de 8BB1 cbz r3, .L388 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx)) 5950 .loc 1 2466 11 is_stmt 1 view .LVU1977 2466:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** if (HAL_OK != HAL_DMA_Abort_IT(hspi->hdmatx)) 5951 .loc 1 2466 43 is_stmt 0 view .LVU1978 5952 00e0 0F4A ldr r2, .L403 5953 00e2 1A65 str r2, [r3, #80] 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5954 .loc 1 2467 11 is_stmt 1 view .LVU1979 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5955 .loc 1 2467 25 is_stmt 0 view .LVU1980 5956 00e4 A06C ldr r0, [r4, #72] 5957 00e6 FFF7FEFF bl HAL_DMA_Abort_IT 5958 .LVL347: 2467:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 5959 .loc 1 2467 14 view .LVU1981 5960 00ea 58B1 cbz r0, .L388 2469:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5961 .loc 1 2469 13 is_stmt 1 view .LVU1982 5962 00ec 636D ldr r3, [r4, #84] 5963 00ee 43F04003 orr r3, r3, #64 5964 00f2 6365 str r3, [r4, #84] 5965 00f4 06E0 b .L388 5966 .LVL348: 5967 .L401: 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5968 .loc 1 2395 5 view .LVU1983 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5969 .loc 1 2395 9 is_stmt 0 view .LVU1984 5970 00f6 236C ldr r3, [r4, #64] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 207 5971 .LVL349: 2395:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5972 .loc 1 2395 5 view .LVU1985 5973 00f8 2046 mov r0, r4 5974 00fa 9847 blx r3 5975 .LVL350: 2396:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5976 .loc 1 2396 5 is_stmt 1 view .LVU1986 5977 00fc 02E0 b .L388 5978 .LVL351: 5979 .L402: 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5980 .loc 1 2402 5 view .LVU1987 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5981 .loc 1 2402 9 is_stmt 0 view .LVU1988 5982 00fe 636C ldr r3, [r4, #68] 5983 .LVL352: 2402:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 5984 .loc 1 2402 5 view .LVU1989 5985 0100 2046 mov r0, r4 5986 0102 9847 blx r3 5987 .LVL353: 2403:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 5988 .loc 1 2403 5 is_stmt 1 view .LVU1990 5989 .L388: 2485:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 5990 .loc 1 2485 1 is_stmt 0 view .LVU1991 5991 0104 05B0 add sp, sp, #20 5992 .LCFI80: 5993 .cfi_remember_state 5994 .cfi_def_cfa_offset 12 5995 @ sp needed 5996 0106 30BD pop {r4, r5, pc} 5997 .LVL354: 5998 .L394: 5999 .LCFI81: 6000 .cfi_restore_state 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6001 .loc 1 2420 9 is_stmt 1 view .LVU1992 6002 .LBB13: 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6003 .loc 1 2420 9 view .LVU1993 6004 0108 0023 movs r3, #0 6005 .LVL355: 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6006 .loc 1 2420 9 is_stmt 0 view .LVU1994 6007 010a 0193 str r3, [sp, #4] 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6008 .loc 1 2420 9 is_stmt 1 view .LVU1995 6009 010c D368 ldr r3, [r2, #12] 6010 010e 0193 str r3, [sp, #4] 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6011 .loc 1 2420 9 view .LVU1996 6012 0110 9368 ldr r3, [r2, #8] 6013 0112 0193 str r3, [sp, #4] 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6014 .loc 1 2420 9 view .LVU1997 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 208 6015 0114 019B ldr r3, [sp, #4] 6016 .LBE13: 2420:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** return; 6017 .loc 1 2420 9 view .LVU1998 2421:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6018 .loc 1 2421 9 view .LVU1999 6019 0116 F5E7 b .L388 6020 .L398: 2479:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 6021 .loc 1 2479 9 view .LVU2000 6022 0118 2046 mov r0, r4 6023 011a FFF7FEFF bl HAL_SPI_ErrorCallback 6024 .LVL356: 2483:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6025 .loc 1 2483 5 view .LVU2001 6026 011e F1E7 b .L388 6027 .L404: 6028 .align 2 6029 .L403: 6030 0120 00000000 .word SPI_DMAAbortOnError 6031 .cfi_endproc 6032 .LFE257: 6034 .section .text.SPI_DMAAbortOnError,"ax",%progbits 6035 .align 1 6036 .syntax unified 6037 .thumb 6038 .thumb_func 6040 SPI_DMAAbortOnError: 6041 .LVL357: 6042 .LFB275: 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6043 .loc 1 2983 1 view -0 6044 .cfi_startproc 6045 @ args = 0, pretend = 0, frame = 0 6046 @ frame_needed = 0, uses_anonymous_args = 0 2983:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6047 .loc 1 2983 1 is_stmt 0 view .LVU2003 6048 0000 08B5 push {r3, lr} 6049 .LCFI82: 6050 .cfi_def_cfa_offset 8 6051 .cfi_offset 3, -8 6052 .cfi_offset 14, -4 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 6053 .loc 1 2984 3 is_stmt 1 view .LVU2004 2984:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->RxXferCount = 0U; 6054 .loc 1 2984 22 is_stmt 0 view .LVU2005 6055 0002 806B ldr r0, [r0, #56] 6056 .LVL358: 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6057 .loc 1 2985 3 is_stmt 1 view .LVU2006 2985:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6058 .loc 1 2985 21 is_stmt 0 view .LVU2007 6059 0004 0023 movs r3, #0 6060 0006 C387 strh r3, [r0, #62] @ movhi 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6061 .loc 1 2986 3 is_stmt 1 view .LVU2008 2986:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 209 6062 .loc 1 2986 21 is_stmt 0 view .LVU2009 6063 0008 C386 strh r3, [r0, #54] @ movhi 2992:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 6064 .loc 1 2992 3 is_stmt 1 view .LVU2010 6065 000a FFF7FEFF bl HAL_SPI_ErrorCallback 6066 .LVL359: 2994:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6067 .loc 1 2994 1 is_stmt 0 view .LVU2011 6068 000e 08BD pop {r3, pc} 6069 .cfi_endproc 6070 .LFE275: 6072 .section .text.HAL_SPI_AbortCpltCallback,"ax",%progbits 6073 .align 1 6074 .weak HAL_SPI_AbortCpltCallback 6075 .syntax unified 6076 .thumb 6077 .thumb_func 6079 HAL_SPI_AbortCpltCallback: 6080 .LVL360: 6081 .LFB265: 2608:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Prevent unused argument(s) compilation warning */ 6082 .loc 1 2608 1 is_stmt 1 view -0 6083 .cfi_startproc 6084 @ args = 0, pretend = 0, frame = 0 6085 @ frame_needed = 0, uses_anonymous_args = 0 6086 @ link register save eliminated. 2610:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6087 .loc 1 2610 3 view .LVU2013 2615:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6088 .loc 1 2615 1 is_stmt 0 view .LVU2014 6089 0000 7047 bx lr 6090 .cfi_endproc 6091 .LFE265: 6093 .section .text.HAL_SPI_Abort_IT,"ax",%progbits 6094 .align 1 6095 .global HAL_SPI_Abort_IT 6096 .syntax unified 6097 .thumb 6098 .thumb_func 6100 HAL_SPI_Abort_IT: 6101 .LVL361: 6102 .LFB253: 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 6103 .loc 1 2146 1 is_stmt 1 view -0 6104 .cfi_startproc 6105 @ args = 0, pretend = 0, frame = 16 6106 @ frame_needed = 0, uses_anonymous_args = 0 2146:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** HAL_StatusTypeDef errorcode; 6107 .loc 1 2146 1 is_stmt 0 view .LVU2016 6108 0000 70B5 push {r4, r5, r6, lr} 6109 .LCFI83: 6110 .cfi_def_cfa_offset 16 6111 .cfi_offset 4, -16 6112 .cfi_offset 5, -12 6113 .cfi_offset 6, -8 6114 .cfi_offset 14, -4 6115 0002 84B0 sub sp, sp, #16 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 210 6116 .LCFI84: 6117 .cfi_def_cfa_offset 32 6118 0004 0446 mov r4, r0 2147:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** uint32_t abortcplt ; 6119 .loc 1 2147 3 is_stmt 1 view .LVU2017 2148:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 6120 .loc 1 2148 3 view .LVU2018 2149:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t resetcount; 6121 .loc 1 2149 3 view .LVU2019 2150:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6122 .loc 1 2150 3 view .LVU2020 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** abortcplt = 1U; 6123 .loc 1 2153 3 view .LVU2021 6124 .LVL362: 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6125 .loc 1 2154 3 view .LVU2022 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 6126 .loc 1 2155 3 view .LVU2023 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 6127 .loc 1 2155 61 is_stmt 0 view .LVU2024 6128 0006 4F4B ldr r3, .L434 6129 0008 1B68 ldr r3, [r3] 6130 000a 4F4A ldr r2, .L434+4 6131 000c A2FB0323 umull r2, r3, r2, r3 6132 0010 5B0A lsrs r3, r3, #9 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 6133 .loc 1 2155 36 view .LVU2025 6134 0012 6422 movs r2, #100 6135 0014 02FB03F3 mul r3, r2, r3 2155:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = resetcount; 6136 .loc 1 2155 14 view .LVU2026 6137 0018 0293 str r3, [sp, #8] 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6138 .loc 1 2156 3 is_stmt 1 view .LVU2027 2156:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6139 .loc 1 2156 9 is_stmt 0 view .LVU2028 6140 001a 029B ldr r3, [sp, #8] 6141 001c 0393 str r3, [sp, #12] 2159:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6142 .loc 1 2159 3 is_stmt 1 view .LVU2029 6143 001e 0268 ldr r2, [r0] 6144 0020 5368 ldr r3, [r2, #4] 6145 0022 23F02003 bic r3, r3, #32 6146 0026 5360 str r3, [r2, #4] 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6147 .loc 1 2162 3 view .LVU2030 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6148 .loc 1 2162 7 is_stmt 0 view .LVU2031 6149 0028 0268 ldr r2, [r0] 6150 002a 5368 ldr r3, [r2, #4] 2162:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6151 .loc 1 2162 6 view .LVU2032 6152 002c 13F0800F tst r3, #128 6153 0030 12D0 beq .L409 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 6154 .loc 1 2164 5 is_stmt 1 view .LVU2033 2164:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 211 6155 .loc 1 2164 17 is_stmt 0 view .LVU2034 6156 0032 464B ldr r3, .L434+8 6157 0034 4364 str r3, [r0, #68] 6158 .L412: 2166:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6159 .loc 1 2166 5 is_stmt 1 view .LVU2035 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6160 .loc 1 2168 7 view .LVU2036 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6161 .loc 1 2168 17 is_stmt 0 view .LVU2037 6162 0036 039B ldr r3, [sp, #12] 2168:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6163 .loc 1 2168 10 view .LVU2038 6164 0038 43B1 cbz r3, .L431 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 6165 .loc 1 2173 7 is_stmt 1 view .LVU2039 2173:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 6166 .loc 1 2173 12 is_stmt 0 view .LVU2040 6167 003a 039B ldr r3, [sp, #12] 6168 003c 013B subs r3, r3, #1 6169 003e 0393 str r3, [sp, #12] 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6170 .loc 1 2174 13 is_stmt 1 view .LVU2041 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6171 .loc 1 2174 18 is_stmt 0 view .LVU2042 6172 0040 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 6173 0044 DBB2 uxtb r3, r3 2174:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6174 .loc 1 2174 5 view .LVU2043 6175 0046 072B cmp r3, #7 6176 0048 F5D1 bne .L412 6177 004a 03E0 b .L411 6178 .L431: 2170:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 6179 .loc 1 2170 9 is_stmt 1 view .LVU2044 6180 004c 636D ldr r3, [r4, #84] 6181 004e 43F04003 orr r3, r3, #64 6182 0052 6365 str r3, [r4, #84] 2171:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6183 .loc 1 2171 9 view .LVU2045 6184 .L411: 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6185 .loc 1 2176 5 view .LVU2046 2176:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6186 .loc 1 2176 11 is_stmt 0 view .LVU2047 6187 0054 029B ldr r3, [sp, #8] 6188 0056 0393 str r3, [sp, #12] 6189 .L409: 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6190 .loc 1 2179 3 is_stmt 1 view .LVU2048 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6191 .loc 1 2179 7 is_stmt 0 view .LVU2049 6192 0058 5368 ldr r3, [r2, #4] 2179:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6193 .loc 1 2179 6 view .LVU2050 6194 005a 13F0400F tst r3, #64 6195 005e 12D0 beq .L413 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 212 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 6196 .loc 1 2181 5 is_stmt 1 view .LVU2051 2181:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Wait HAL_SPI_STATE_ABORT state */ 6197 .loc 1 2181 17 is_stmt 0 view .LVU2052 6198 0060 3B4B ldr r3, .L434+12 6199 0062 2364 str r3, [r4, #64] 6200 .L416: 2183:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6201 .loc 1 2183 5 is_stmt 1 view .LVU2053 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6202 .loc 1 2185 7 view .LVU2054 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6203 .loc 1 2185 17 is_stmt 0 view .LVU2055 6204 0064 039B ldr r3, [sp, #12] 2185:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6205 .loc 1 2185 10 view .LVU2056 6206 0066 43B1 cbz r3, .L432 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 6207 .loc 1 2190 7 is_stmt 1 view .LVU2057 2190:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while (hspi->State != HAL_SPI_STATE_ABORT); 6208 .loc 1 2190 12 is_stmt 0 view .LVU2058 6209 0068 039B ldr r3, [sp, #12] 6210 006a 013B subs r3, r3, #1 6211 006c 0393 str r3, [sp, #12] 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6212 .loc 1 2191 13 is_stmt 1 view .LVU2059 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6213 .loc 1 2191 18 is_stmt 0 view .LVU2060 6214 006e 94F85130 ldrb r3, [r4, #81] @ zero_extendqisi2 6215 0072 DBB2 uxtb r3, r3 2191:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Reset Timeout Counter */ 6216 .loc 1 2191 5 view .LVU2061 6217 0074 072B cmp r3, #7 6218 0076 F5D1 bne .L416 6219 0078 03E0 b .L415 6220 .L432: 2187:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 6221 .loc 1 2187 9 is_stmt 1 view .LVU2062 6222 007a 636D ldr r3, [r4, #84] 6223 007c 43F04003 orr r3, r3, #64 6224 0080 6365 str r3, [r4, #84] 2188:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6225 .loc 1 2188 9 view .LVU2063 6226 .L415: 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6227 .loc 1 2193 5 view .LVU2064 2193:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6228 .loc 1 2193 11 is_stmt 0 view .LVU2065 6229 0082 029B ldr r3, [sp, #8] 6230 0084 0393 str r3, [sp, #12] 6231 .L413: 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6232 .loc 1 2199 3 is_stmt 1 view .LVU2066 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6233 .loc 1 2199 11 is_stmt 0 view .LVU2067 6234 0086 A36C ldr r3, [r4, #72] 2199:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 213 6235 .loc 1 2199 6 view .LVU2068 6236 0088 2BB1 cbz r3, .L417 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6237 .loc 1 2203 5 is_stmt 1 view .LVU2069 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6238 .loc 1 2203 9 is_stmt 0 view .LVU2070 6239 008a 5268 ldr r2, [r2, #4] 2203:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6240 .loc 1 2203 8 view .LVU2071 6241 008c 12F0020F tst r2, #2 6242 0090 1BD0 beq .L418 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6243 .loc 1 2205 7 is_stmt 1 view .LVU2072 2205:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6244 .loc 1 2205 39 is_stmt 0 view .LVU2073 6245 0092 304A ldr r2, .L434+16 6246 0094 1A65 str r2, [r3, #80] 6247 .L417: 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6248 .loc 1 2213 3 is_stmt 1 view .LVU2074 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6249 .loc 1 2213 11 is_stmt 0 view .LVU2075 6250 0096 E36C ldr r3, [r4, #76] 2213:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6251 .loc 1 2213 6 view .LVU2076 6252 0098 33B1 cbz r3, .L419 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6253 .loc 1 2217 5 is_stmt 1 view .LVU2077 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6254 .loc 1 2217 9 is_stmt 0 view .LVU2078 6255 009a 2268 ldr r2, [r4] 6256 009c 5268 ldr r2, [r2, #4] 2217:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6257 .loc 1 2217 8 view .LVU2079 6258 009e 12F0010F tst r2, #1 6259 00a2 15D0 beq .L420 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6260 .loc 1 2219 7 is_stmt 1 view .LVU2080 2219:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6261 .loc 1 2219 39 is_stmt 0 view .LVU2081 6262 00a4 2C4A ldr r2, .L434+20 6263 00a6 1A65 str r2, [r3, #80] 6264 .L419: 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6265 .loc 1 2228 3 is_stmt 1 view .LVU2082 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6266 .loc 1 2228 7 is_stmt 0 view .LVU2083 6267 00a8 2368 ldr r3, [r4] 6268 00aa 5B68 ldr r3, [r3, #4] 2228:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6269 .loc 1 2228 6 view .LVU2084 6270 00ac 13F0020F tst r3, #2 6271 00b0 11D0 beq .L425 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6272 .loc 1 2231 5 is_stmt 1 view .LVU2085 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6273 .loc 1 2231 13 is_stmt 0 view .LVU2086 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 214 6274 00b2 A06C ldr r0, [r4, #72] 6275 .LVL363: 2231:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6276 .loc 1 2231 8 view .LVU2087 6277 00b4 28B3 cbz r0, .L426 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6278 .loc 1 2234 7 is_stmt 1 view .LVU2088 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6279 .loc 1 2234 11 is_stmt 0 view .LVU2089 6280 00b6 FFF7FEFF bl HAL_DMA_Abort_IT 6281 .LVL364: 2234:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6282 .loc 1 2234 10 view .LVU2090 6283 00ba 20B3 cbz r0, .L427 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6284 .loc 1 2236 9 is_stmt 1 view .LVU2091 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6285 .loc 1 2236 13 is_stmt 0 view .LVU2092 6286 00bc A36C ldr r3, [r4, #72] 2236:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6287 .loc 1 2236 41 view .LVU2093 6288 00be 0022 movs r2, #0 6289 00c0 1A65 str r2, [r3, #80] 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6290 .loc 1 2237 9 is_stmt 1 view .LVU2094 2237:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6291 .loc 1 2237 25 is_stmt 0 view .LVU2095 6292 00c2 4023 movs r3, #64 6293 00c4 6365 str r3, [r4, #84] 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6294 .loc 1 2154 13 view .LVU2096 6295 00c6 0126 movs r6, #1 6296 00c8 06E0 b .L421 6297 .LVL365: 6298 .L418: 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6299 .loc 1 2209 7 is_stmt 1 view .LVU2097 2209:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6300 .loc 1 2209 39 is_stmt 0 view .LVU2098 6301 00ca 0022 movs r2, #0 6302 00cc 1A65 str r2, [r3, #80] 6303 00ce E2E7 b .L417 6304 .L420: 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6305 .loc 1 2223 7 is_stmt 1 view .LVU2099 2223:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6306 .loc 1 2223 39 is_stmt 0 view .LVU2100 6307 00d0 0022 movs r2, #0 6308 00d2 1A65 str r2, [r3, #80] 6309 00d4 E8E7 b .L419 6310 .L425: 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6311 .loc 1 2154 13 view .LVU2101 6312 00d6 0126 movs r6, #1 6313 .LVL366: 6314 .L421: 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 215 6315 .loc 1 2246 3 is_stmt 1 view .LVU2102 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6316 .loc 1 2246 7 is_stmt 0 view .LVU2103 6317 00d8 2368 ldr r3, [r4] 6318 00da 5B68 ldr r3, [r3, #4] 2246:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6319 .loc 1 2246 6 view .LVU2104 6320 00dc 13F0010F tst r3, #1 6321 00e0 0AD0 beq .L422 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6322 .loc 1 2249 5 is_stmt 1 view .LVU2105 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6323 .loc 1 2249 13 is_stmt 0 view .LVU2106 6324 00e2 E06C ldr r0, [r4, #76] 2249:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6325 .loc 1 2249 8 view .LVU2107 6326 00e4 40B1 cbz r0, .L422 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6327 .loc 1 2252 7 is_stmt 1 view .LVU2108 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6328 .loc 1 2252 11 is_stmt 0 view .LVU2109 6329 00e6 FFF7FEFF bl HAL_DMA_Abort_IT 6330 .LVL367: 2252:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6331 .loc 1 2252 10 view .LVU2110 6332 00ea 0546 mov r5, r0 6333 00ec 30B1 cbz r0, .L423 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6334 .loc 1 2254 9 is_stmt 1 view .LVU2111 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6335 .loc 1 2254 13 is_stmt 0 view .LVU2112 6336 00ee E36C ldr r3, [r4, #76] 2254:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->ErrorCode = HAL_SPI_ERROR_ABORT; 6337 .loc 1 2254 41 view .LVU2113 6338 00f0 0022 movs r2, #0 6339 00f2 1A65 str r2, [r3, #80] 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6340 .loc 1 2255 9 is_stmt 1 view .LVU2114 2255:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6341 .loc 1 2255 25 is_stmt 0 view .LVU2115 6342 00f4 4023 movs r3, #64 6343 00f6 6365 str r3, [r4, #84] 6344 .L422: 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6345 .loc 1 2264 3 is_stmt 1 view .LVU2116 2264:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6346 .loc 1 2264 6 is_stmt 0 view .LVU2117 6347 00f8 3EB9 cbnz r6, .L433 2153:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** abortcplt = 1U; 6348 .loc 1 2153 13 view .LVU2118 6349 00fa 0025 movs r5, #0 6350 .LVL368: 6351 .L423: 2297:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6352 .loc 1 2297 3 is_stmt 1 view .LVU2119 2298:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6353 .loc 1 2298 1 is_stmt 0 view .LVU2120 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 216 6354 00fc 2846 mov r0, r5 6355 00fe 04B0 add sp, sp, #16 6356 .LCFI85: 6357 .cfi_remember_state 6358 .cfi_def_cfa_offset 16 6359 @ sp needed 6360 0100 70BD pop {r4, r5, r6, pc} 6361 .LVL369: 6362 .L426: 6363 .LCFI86: 6364 .cfi_restore_state 2154:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** resetcount = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6365 .loc 1 2154 13 view .LVU2121 6366 0102 0126 movs r6, #1 6367 0104 E8E7 b .L421 6368 .L427: 2241:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6369 .loc 1 2241 19 view .LVU2122 6370 0106 0026 movs r6, #0 6371 0108 E6E7 b .L421 6372 .LVL370: 6373 .L433: 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6374 .loc 1 2267 5 is_stmt 1 view .LVU2123 2267:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6375 .loc 1 2267 23 is_stmt 0 view .LVU2124 6376 010a 0023 movs r3, #0 6377 010c E387 strh r3, [r4, #62] @ movhi 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6378 .loc 1 2268 5 is_stmt 1 view .LVU2125 2268:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6379 .loc 1 2268 23 is_stmt 0 view .LVU2126 6380 010e E386 strh r3, [r4, #54] @ movhi 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6381 .loc 1 2271 5 is_stmt 1 view .LVU2127 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6382 .loc 1 2271 13 is_stmt 0 view .LVU2128 6383 0110 636D ldr r3, [r4, #84] 2271:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6384 .loc 1 2271 8 view .LVU2129 6385 0112 402B cmp r3, #64 6386 0114 14D0 beq .L429 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6387 .loc 1 2279 7 is_stmt 1 view .LVU2130 2279:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6388 .loc 1 2279 23 is_stmt 0 view .LVU2131 6389 0116 0025 movs r5, #0 6390 0118 6565 str r5, [r4, #84] 6391 .L424: 6392 .LVL371: 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6393 .loc 1 2283 5 is_stmt 1 view .LVU2132 6394 .LBB14: 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6395 .loc 1 2283 5 view .LVU2133 6396 011a 0022 movs r2, #0 6397 011c 0092 str r2, [sp] ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 217 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6398 .loc 1 2283 5 view .LVU2134 6399 011e 2368 ldr r3, [r4] 6400 0120 D968 ldr r1, [r3, #12] 6401 0122 0091 str r1, [sp] 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6402 .loc 1 2283 5 view .LVU2135 6403 0124 9968 ldr r1, [r3, #8] 6404 0126 0091 str r1, [sp] 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6405 .loc 1 2283 5 view .LVU2136 6406 0128 0099 ldr r1, [sp] 6407 .LBE14: 2283:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6408 .loc 1 2283 5 view .LVU2137 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6409 .loc 1 2284 5 view .LVU2138 6410 .LBB15: 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6411 .loc 1 2284 5 view .LVU2139 6412 012a 0192 str r2, [sp, #4] 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6413 .loc 1 2284 5 view .LVU2140 6414 012c 9B68 ldr r3, [r3, #8] 6415 012e 0193 str r3, [sp, #4] 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6416 .loc 1 2284 5 view .LVU2141 6417 0130 019B ldr r3, [sp, #4] 6418 .LBE15: 2284:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6419 .loc 1 2284 5 view .LVU2142 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6420 .loc 1 2287 5 view .LVU2143 2287:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6421 .loc 1 2287 17 is_stmt 0 view .LVU2144 6422 0132 0123 movs r3, #1 6423 0134 84F85130 strb r3, [r4, #81] 2293:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 6424 .loc 1 2293 5 is_stmt 1 view .LVU2145 6425 0138 2046 mov r0, r4 6426 013a FFF7FEFF bl HAL_SPI_AbortCpltCallback 6427 .LVL372: 6428 013e DDE7 b .L423 6429 .LVL373: 6430 .L429: 2274:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6431 .loc 1 2274 17 is_stmt 0 view .LVU2146 6432 0140 0125 movs r5, #1 6433 0142 EAE7 b .L424 6434 .L435: 6435 .align 2 6436 .L434: 6437 0144 00000000 .word SystemCoreClock 6438 0148 F1197605 .word 91625969 6439 014c 00000000 .word SPI_AbortTx_ISR 6440 0150 00000000 .word SPI_AbortRx_ISR 6441 0154 00000000 .word SPI_DMATxAbortCallback ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 218 6442 0158 00000000 .word SPI_DMARxAbortCallback 6443 .cfi_endproc 6444 .LFE253: 6446 .section .text.SPI_DMARxAbortCallback,"ax",%progbits 6447 .align 1 6448 .syntax unified 6449 .thumb 6450 .thumb_func 6452 SPI_DMARxAbortCallback: 6453 .LVL374: 6454 .LFB277: 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6455 .loc 1 3070 1 is_stmt 1 view -0 6456 .cfi_startproc 6457 @ args = 0, pretend = 0, frame = 8 6458 @ frame_needed = 0, uses_anonymous_args = 0 3070:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6459 .loc 1 3070 1 is_stmt 0 view .LVU2148 6460 0000 10B5 push {r4, lr} 6461 .LCFI87: 6462 .cfi_def_cfa_offset 8 6463 .cfi_offset 4, -8 6464 .cfi_offset 14, -4 6465 0002 82B0 sub sp, sp, #8 6466 .LCFI88: 6467 .cfi_def_cfa_offset 16 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6468 .loc 1 3071 3 is_stmt 1 view .LVU2149 3071:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6469 .loc 1 3071 22 is_stmt 0 view .LVU2150 6470 0004 846B ldr r4, [r0, #56] 6471 .LVL375: 3074:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6472 .loc 1 3074 3 is_stmt 1 view .LVU2151 6473 0006 2268 ldr r2, [r4] 6474 0008 1368 ldr r3, [r2] 6475 000a 23F04003 bic r3, r3, #64 6476 000e 1360 str r3, [r2] 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6477 .loc 1 3076 3 view .LVU2152 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6478 .loc 1 3076 7 is_stmt 0 view .LVU2153 6479 0010 E36C ldr r3, [r4, #76] 3076:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6480 .loc 1 3076 35 view .LVU2154 6481 0012 0022 movs r2, #0 6482 0014 1A65 str r2, [r3, #80] 3079:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6483 .loc 1 3079 3 is_stmt 1 view .LVU2155 6484 0016 2268 ldr r2, [r4] 6485 0018 5368 ldr r3, [r2, #4] 6486 001a 23F00103 bic r3, r3, #1 6487 001e 5360 str r3, [r2, #4] 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6488 .loc 1 3082 3 view .LVU2156 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6489 .loc 1 3082 7 is_stmt 0 view .LVU2157 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 219 6490 0020 FFF7FEFF bl HAL_GetTick 6491 .LVL376: 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6492 .loc 1 3082 7 view .LVU2158 6493 0024 0246 mov r2, r0 6494 0026 6421 movs r1, #100 6495 0028 2046 mov r0, r4 6496 002a FFF7FEFF bl SPI_EndRxTxTransaction 6497 .LVL377: 3082:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6498 .loc 1 3082 6 view .LVU2159 6499 002e 18B1 cbz r0, .L437 3084:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6500 .loc 1 3084 5 is_stmt 1 view .LVU2160 6501 0030 636D ldr r3, [r4, #84] 6502 0032 43F04003 orr r3, r3, #64 6503 0036 6365 str r3, [r4, #84] 6504 .L437: 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6505 .loc 1 3088 3 view .LVU2161 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6506 .loc 1 3088 11 is_stmt 0 view .LVU2162 6507 0038 A36C ldr r3, [r4, #72] 3088:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6508 .loc 1 3088 6 view .LVU2163 6509 003a 0BB1 cbz r3, .L438 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6510 .loc 1 3090 5 is_stmt 1 view .LVU2164 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6511 .loc 1 3090 21 is_stmt 0 view .LVU2165 6512 003c 1B6D ldr r3, [r3, #80] 3090:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6513 .loc 1 3090 8 view .LVU2166 6514 003e CBB9 cbnz r3, .L436 6515 .L438: 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6516 .loc 1 3097 3 is_stmt 1 view .LVU2167 3097:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6517 .loc 1 3097 21 is_stmt 0 view .LVU2168 6518 0040 0023 movs r3, #0 6519 0042 E387 strh r3, [r4, #62] @ movhi 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6520 .loc 1 3098 3 is_stmt 1 view .LVU2169 3098:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6521 .loc 1 3098 21 is_stmt 0 view .LVU2170 6522 0044 E386 strh r3, [r4, #54] @ movhi 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6523 .loc 1 3101 3 is_stmt 1 view .LVU2171 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6524 .loc 1 3101 11 is_stmt 0 view .LVU2172 6525 0046 636D ldr r3, [r4, #84] 3101:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6526 .loc 1 3101 6 view .LVU2173 6527 0048 402B cmp r3, #64 6528 004a 01D0 beq .L440 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6529 .loc 1 3104 5 is_stmt 1 view .LVU2174 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 220 3104:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6530 .loc 1 3104 21 is_stmt 0 view .LVU2175 6531 004c 0023 movs r3, #0 6532 004e 6365 str r3, [r4, #84] 6533 .L440: 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6534 .loc 1 3108 3 is_stmt 1 view .LVU2176 6535 .LBB16: 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6536 .loc 1 3108 3 view .LVU2177 6537 0050 0022 movs r2, #0 6538 0052 0092 str r2, [sp] 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6539 .loc 1 3108 3 view .LVU2178 6540 0054 2368 ldr r3, [r4] 6541 0056 D968 ldr r1, [r3, #12] 6542 0058 0091 str r1, [sp] 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6543 .loc 1 3108 3 view .LVU2179 6544 005a 9968 ldr r1, [r3, #8] 6545 005c 0091 str r1, [sp] 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6546 .loc 1 3108 3 view .LVU2180 6547 005e 0099 ldr r1, [sp] 6548 .LBE16: 3108:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6549 .loc 1 3108 3 view .LVU2181 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6550 .loc 1 3109 3 view .LVU2182 6551 .LBB17: 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6552 .loc 1 3109 3 view .LVU2183 6553 0060 0192 str r2, [sp, #4] 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6554 .loc 1 3109 3 view .LVU2184 6555 0062 9B68 ldr r3, [r3, #8] 6556 0064 0193 str r3, [sp, #4] 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6557 .loc 1 3109 3 view .LVU2185 6558 0066 019B ldr r3, [sp, #4] 6559 .LBE17: 3109:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6560 .loc 1 3109 3 view .LVU2186 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6561 .loc 1 3112 3 view .LVU2187 3112:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6562 .loc 1 3112 16 is_stmt 0 view .LVU2188 6563 0068 0123 movs r3, #1 6564 006a 84F85130 strb r3, [r4, #81] 3118:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 6565 .loc 1 3118 3 is_stmt 1 view .LVU2189 6566 006e 2046 mov r0, r4 6567 0070 FFF7FEFF bl HAL_SPI_AbortCpltCallback 6568 .LVL378: 6569 .L436: 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6570 .loc 1 3120 1 is_stmt 0 view .LVU2190 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 221 6571 0074 02B0 add sp, sp, #8 6572 .LCFI89: 6573 .cfi_def_cfa_offset 8 6574 @ sp needed 6575 0076 10BD pop {r4, pc} 3120:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6576 .loc 1 3120 1 view .LVU2191 6577 .cfi_endproc 6578 .LFE277: 6580 .section .text.SPI_DMATxAbortCallback,"ax",%progbits 6581 .align 1 6582 .syntax unified 6583 .thumb 6584 .thumb_func 6586 SPI_DMATxAbortCallback: 6587 .LVL379: 6588 .LFB276: 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6589 .loc 1 3005 1 is_stmt 1 view -0 6590 .cfi_startproc 6591 @ args = 0, pretend = 0, frame = 16 6592 @ frame_needed = 0, uses_anonymous_args = 0 3005:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** SPI_HandleTypeDef *hspi = (SPI_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati 6593 .loc 1 3005 1 is_stmt 0 view .LVU2193 6594 0000 00B5 push {lr} 6595 .LCFI90: 6596 .cfi_def_cfa_offset 4 6597 .cfi_offset 14, -4 6598 0002 85B0 sub sp, sp, #20 6599 .LCFI91: 6600 .cfi_def_cfa_offset 24 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 6601 .loc 1 3006 3 is_stmt 1 view .LVU2194 3006:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __IO uint32_t count; 6602 .loc 1 3006 22 is_stmt 0 view .LVU2195 6603 0004 806B ldr r0, [r0, #56] 6604 .LVL380: 3007:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6605 .loc 1 3007 3 is_stmt 1 view .LVU2196 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6606 .loc 1 3009 3 view .LVU2197 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6607 .loc 1 3009 7 is_stmt 0 view .LVU2198 6608 0006 836C ldr r3, [r0, #72] 3009:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** count = SPI_DEFAULT_TIMEOUT * (SystemCoreClock / 24U / 1000U); 6609 .loc 1 3009 35 view .LVU2199 6610 0008 0022 movs r2, #0 6611 000a 1A65 str r2, [r3, #80] 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6612 .loc 1 3010 3 is_stmt 1 view .LVU2200 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6613 .loc 1 3010 56 is_stmt 0 view .LVU2201 6614 000c 1E4B ldr r3, .L451 6615 000e 1B68 ldr r3, [r3] 6616 0010 1E4A ldr r2, .L451+4 6617 0012 A2FB0323 umull r2, r3, r2, r3 6618 0016 5B0A lsrs r3, r3, #9 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 222 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6619 .loc 1 3010 31 view .LVU2202 6620 0018 6422 movs r2, #100 6621 001a 02FB03F3 mul r3, r2, r3 3010:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6622 .loc 1 3010 9 view .LVU2203 6623 001e 0393 str r3, [sp, #12] 3013:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6624 .loc 1 3013 3 is_stmt 1 view .LVU2204 6625 0020 0268 ldr r2, [r0] 6626 0022 5368 ldr r3, [r2, #4] 6627 0024 23F00203 bic r3, r3, #2 6628 0028 5360 str r3, [r2, #4] 6629 .L445: 3016:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6630 .loc 1 3016 3 view .LVU2205 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6631 .loc 1 3018 5 view .LVU2206 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6632 .loc 1 3018 15 is_stmt 0 view .LVU2207 6633 002a 039B ldr r3, [sp, #12] 3018:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6634 .loc 1 3018 8 view .LVU2208 6635 002c 43B1 cbz r3, .L450 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 6636 .loc 1 3023 5 is_stmt 1 view .LVU2209 3023:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } while ((hspi->Instance->SR & SPI_FLAG_TXE) == RESET); 6637 .loc 1 3023 10 is_stmt 0 view .LVU2210 6638 002e 039B ldr r3, [sp, #12] 6639 0030 013B subs r3, r3, #1 6640 0032 0393 str r3, [sp, #12] 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6641 .loc 1 3024 11 is_stmt 1 view .LVU2211 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6642 .loc 1 3024 17 is_stmt 0 view .LVU2212 6643 0034 0368 ldr r3, [r0] 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6644 .loc 1 3024 27 view .LVU2213 6645 0036 9B68 ldr r3, [r3, #8] 3024:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6646 .loc 1 3024 3 view .LVU2214 6647 0038 13F0020F tst r3, #2 6648 003c F5D0 beq .L445 6649 003e 03E0 b .L444 6650 .L450: 3020:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** break; 6651 .loc 1 3020 7 is_stmt 1 view .LVU2215 6652 0040 436D ldr r3, [r0, #84] 6653 0042 43F04003 orr r3, r3, #64 6654 0046 4365 str r3, [r0, #84] 3021:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6655 .loc 1 3021 7 view .LVU2216 6656 .L444: 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6657 .loc 1 3027 3 view .LVU2217 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6658 .loc 1 3027 11 is_stmt 0 view .LVU2218 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 223 6659 0048 C36C ldr r3, [r0, #76] 3027:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6660 .loc 1 3027 6 view .LVU2219 6661 004a 0BB1 cbz r3, .L446 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6662 .loc 1 3029 5 is_stmt 1 view .LVU2220 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6663 .loc 1 3029 21 is_stmt 0 view .LVU2221 6664 004c 1B6D ldr r3, [r3, #80] 3029:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6665 .loc 1 3029 8 view .LVU2222 6666 004e C3B9 cbnz r3, .L442 6667 .L446: 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6668 .loc 1 3036 3 is_stmt 1 view .LVU2223 3036:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** hspi->TxXferCount = 0U; 6669 .loc 1 3036 21 is_stmt 0 view .LVU2224 6670 0050 0023 movs r3, #0 6671 0052 C387 strh r3, [r0, #62] @ movhi 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6672 .loc 1 3037 3 is_stmt 1 view .LVU2225 3037:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6673 .loc 1 3037 21 is_stmt 0 view .LVU2226 6674 0054 C386 strh r3, [r0, #54] @ movhi 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6675 .loc 1 3040 3 is_stmt 1 view .LVU2227 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6676 .loc 1 3040 11 is_stmt 0 view .LVU2228 6677 0056 436D ldr r3, [r0, #84] 3040:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** { 6678 .loc 1 3040 6 view .LVU2229 6679 0058 402B cmp r3, #64 6680 005a 01D0 beq .L448 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6681 .loc 1 3043 5 is_stmt 1 view .LVU2230 3043:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6682 .loc 1 3043 21 is_stmt 0 view .LVU2231 6683 005c 0023 movs r3, #0 6684 005e 4365 str r3, [r0, #84] 6685 .L448: 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6686 .loc 1 3047 3 is_stmt 1 view .LVU2232 6687 .LBB18: 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6688 .loc 1 3047 3 view .LVU2233 6689 0060 0022 movs r2, #0 6690 0062 0192 str r2, [sp, #4] 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6691 .loc 1 3047 3 view .LVU2234 6692 0064 0368 ldr r3, [r0] 6693 0066 D968 ldr r1, [r3, #12] 6694 0068 0191 str r1, [sp, #4] 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6695 .loc 1 3047 3 view .LVU2235 6696 006a 9968 ldr r1, [r3, #8] 6697 006c 0191 str r1, [sp, #4] 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 224 6698 .loc 1 3047 3 view .LVU2236 6699 006e 0199 ldr r1, [sp, #4] 6700 .LBE18: 3047:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** __HAL_SPI_CLEAR_FREFLAG(hspi); 6701 .loc 1 3047 3 view .LVU2237 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6702 .loc 1 3048 3 view .LVU2238 6703 .LBB19: 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6704 .loc 1 3048 3 view .LVU2239 6705 0070 0292 str r2, [sp, #8] 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6706 .loc 1 3048 3 view .LVU2240 6707 0072 9B68 ldr r3, [r3, #8] 6708 0074 0293 str r3, [sp, #8] 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6709 .loc 1 3048 3 view .LVU2241 6710 0076 029B ldr r3, [sp, #8] 6711 .LBE19: 3048:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6712 .loc 1 3048 3 view .LVU2242 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6713 .loc 1 3051 3 view .LVU2243 3051:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6714 .loc 1 3051 16 is_stmt 0 view .LVU2244 6715 0078 0123 movs r3, #1 6716 007a 80F85130 strb r3, [r0, #81] 3057:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ 6717 .loc 1 3057 3 is_stmt 1 view .LVU2245 6718 007e FFF7FEFF bl HAL_SPI_AbortCpltCallback 6719 .LVL381: 6720 .L442: 3059:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6721 .loc 1 3059 1 is_stmt 0 view .LVU2246 6722 0082 05B0 add sp, sp, #20 6723 .LCFI92: 6724 .cfi_def_cfa_offset 4 6725 @ sp needed 6726 0084 5DF804FB ldr pc, [sp], #4 6727 .L452: 6728 .align 2 6729 .L451: 6730 0088 00000000 .word SystemCoreClock 6731 008c F1197605 .word 91625969 6732 .cfi_endproc 6733 .LFE276: 6735 .section .text.HAL_SPI_GetState,"ax",%progbits 6736 .align 1 6737 .global HAL_SPI_GetState 6738 .syntax unified 6739 .thumb 6740 .thumb_func 6742 HAL_SPI_GetState: 6743 .LVL382: 6744 .LFB266: 2643:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return SPI handle state */ 6745 .loc 1 2643 1 is_stmt 1 view -0 ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 225 6746 .cfi_startproc 6747 @ args = 0, pretend = 0, frame = 0 6748 @ frame_needed = 0, uses_anonymous_args = 0 6749 @ link register save eliminated. 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6750 .loc 1 2645 3 view .LVU2248 2645:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6751 .loc 1 2645 14 is_stmt 0 view .LVU2249 6752 0000 90F85100 ldrb r0, [r0, #81] @ zero_extendqisi2 6753 .LVL383: 2646:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6754 .loc 1 2646 1 view .LVU2250 6755 0004 7047 bx lr 6756 .cfi_endproc 6757 .LFE266: 6759 .section .text.HAL_SPI_GetError,"ax",%progbits 6760 .align 1 6761 .global HAL_SPI_GetError 6762 .syntax unified 6763 .thumb 6764 .thumb_func 6766 HAL_SPI_GetError: 6767 .LVL384: 6768 .LFB267: 2655:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** /* Return SPI ErrorCode */ 6769 .loc 1 2655 1 is_stmt 1 view -0 6770 .cfi_startproc 6771 @ args = 0, pretend = 0, frame = 0 6772 @ frame_needed = 0, uses_anonymous_args = 0 6773 @ link register save eliminated. 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6774 .loc 1 2657 3 view .LVU2252 2657:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** } 6775 .loc 1 2657 14 is_stmt 0 view .LVU2253 6776 0000 406D ldr r0, [r0, #84] 6777 .LVL385: 2658:Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c **** 6778 .loc 1 2658 1 view .LVU2254 6779 0002 7047 bx lr 6780 .cfi_endproc 6781 .LFE267: 6783 .text 6784 .Letext0: 6785 .file 2 "c:\\tools\\gcc-arm-none-eabi-10.3-2021.10-win32\\gcc-arm-none-eabi-10.3-2021.10\\arm-none 6786 .file 3 "c:\\tools\\gcc-arm-none-eabi-10.3-2021.10-win32\\gcc-arm-none-eabi-10.3-2021.10\\arm-none 6787 .file 4 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h" 6788 .file 5 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h" 6789 .file 6 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h" 6790 .file 7 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h" 6791 .file 8 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h" 6792 .file 9 "Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h" 6793 .file 10 "Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h" ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 226 DEFINED SYMBOLS *ABS*:00000000 stm32f4xx_hal_spi.c C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:20 .text.SPI_AbortRx_ISR:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:25 .text.SPI_AbortRx_ISR:00000000 SPI_AbortRx_ISR C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:113 .text.SPI_AbortRx_ISR:00000060 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:119 .text.SPI_AbortTx_ISR:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:124 .text.SPI_AbortTx_ISR:00000000 SPI_AbortTx_ISR C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:152 .text.SPI_WaitFlagStateUntilTimeout:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:157 .text.SPI_WaitFlagStateUntilTimeout:00000000 SPI_WaitFlagStateUntilTimeout C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:337 .text.SPI_WaitFlagStateUntilTimeout:000000d0 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:342 .text.SPI_EndRxTxTransaction:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:347 .text.SPI_EndRxTxTransaction:00000000 SPI_EndRxTxTransaction C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:463 .text.SPI_EndRxTxTransaction:00000078 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:469 .text.SPI_EndRxTransaction:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:474 .text.SPI_EndRxTransaction:00000000 SPI_EndRxTransaction C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:611 .text.HAL_SPI_MspInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:617 .text.HAL_SPI_MspInit:00000000 HAL_SPI_MspInit C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:632 .text.HAL_SPI_Init:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:638 .text.HAL_SPI_Init:00000000 HAL_SPI_Init C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:793 .text.HAL_SPI_MspDeInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:799 .text.HAL_SPI_MspDeInit:00000000 HAL_SPI_MspDeInit C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:814 .text.HAL_SPI_DeInit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:820 .text.HAL_SPI_DeInit:00000000 HAL_SPI_DeInit C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:879 .text.HAL_SPI_Transmit:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:885 .text.HAL_SPI_Transmit:00000000 HAL_SPI_Transmit C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:1287 .text.HAL_SPI_TransmitReceive:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:1293 .text.HAL_SPI_TransmitReceive:00000000 HAL_SPI_TransmitReceive C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:1890 .text.HAL_SPI_Receive:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:1896 .text.HAL_SPI_Receive:00000000 HAL_SPI_Receive C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2242 .text.HAL_SPI_Transmit_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2248 .text.HAL_SPI_Transmit_IT:00000000 HAL_SPI_Transmit_IT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2430 .text.HAL_SPI_Transmit_IT:000000a0 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4620 .text.SPI_TxISR_16BIT:00000000 SPI_TxISR_16BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4558 .text.SPI_TxISR_8BIT:00000000 SPI_TxISR_8BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2436 .text.HAL_SPI_TransmitReceive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2442 .text.HAL_SPI_TransmitReceive_IT:00000000 HAL_SPI_TransmitReceive_IT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2656 .text.HAL_SPI_TransmitReceive_IT:000000bc $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5294 .text.SPI_2linesRxISR_16BIT:00000000 SPI_2linesRxISR_16BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5222 .text.SPI_2linesTxISR_16BIT:00000000 SPI_2linesTxISR_16BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5149 .text.SPI_2linesRxISR_8BIT:00000000 SPI_2linesRxISR_8BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5076 .text.SPI_2linesTxISR_8BIT:00000000 SPI_2linesTxISR_8BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2664 .text.HAL_SPI_Receive_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2670 .text.HAL_SPI_Receive_IT:00000000 HAL_SPI_Receive_IT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2852 .text.HAL_SPI_Receive_IT:000000d0 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4843 .text.SPI_RxISR_16BIT:00000000 SPI_RxISR_16BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4781 .text.SPI_RxISR_8BIT:00000000 SPI_RxISR_8BIT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2858 .text.HAL_SPI_Transmit_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:2864 .text.HAL_SPI_Transmit_DMA:00000000 HAL_SPI_Transmit_DMA C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3067 .text.HAL_SPI_Transmit_DMA:000000d4 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4248 .text.SPI_DMAHalfTransmitCplt:00000000 SPI_DMAHalfTransmitCplt C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5410 .text.SPI_DMATransmitCplt:00000000 SPI_DMATransmitCplt C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5366 .text.SPI_DMAError:00000000 SPI_DMAError C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3074 .text.HAL_SPI_TransmitReceive_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3080 .text.HAL_SPI_TransmitReceive_DMA:00000000 HAL_SPI_TransmitReceive_DMA C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3410 .text.HAL_SPI_TransmitReceive_DMA:0000014c $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4354 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 SPI_DMAHalfTransmitReceiveCplt C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5654 .text.SPI_DMATransmitReceiveCplt:00000000 SPI_DMATransmitReceiveCplt ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 227 C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4301 .text.SPI_DMAHalfReceiveCplt:00000000 SPI_DMAHalfReceiveCplt C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5537 .text.SPI_DMAReceiveCplt:00000000 SPI_DMAReceiveCplt C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3419 .text.HAL_SPI_Receive_DMA:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3425 .text.HAL_SPI_Receive_DMA:00000000 HAL_SPI_Receive_DMA C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3650 .text.HAL_SPI_Receive_DMA:000000f0 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3657 .text.HAL_SPI_Abort:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3663 .text.HAL_SPI_Abort:00000000 HAL_SPI_Abort C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3960 .text.HAL_SPI_Abort:00000134 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3968 .text.HAL_SPI_DMAPause:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:3974 .text.HAL_SPI_DMAPause:00000000 HAL_SPI_DMAPause C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4018 .text.HAL_SPI_DMAResume:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4024 .text.HAL_SPI_DMAResume:00000000 HAL_SPI_DMAResume C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4068 .text.HAL_SPI_DMAStop:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4074 .text.HAL_SPI_DMAStop:00000000 HAL_SPI_DMAStop C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4159 .text.HAL_SPI_TxCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4165 .text.HAL_SPI_TxCpltCallback:00000000 HAL_SPI_TxCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4180 .text.HAL_SPI_RxCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4186 .text.HAL_SPI_RxCpltCallback:00000000 HAL_SPI_RxCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4201 .text.HAL_SPI_TxRxCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4207 .text.HAL_SPI_TxRxCpltCallback:00000000 HAL_SPI_TxRxCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4222 .text.HAL_SPI_TxHalfCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4228 .text.HAL_SPI_TxHalfCpltCallback:00000000 HAL_SPI_TxHalfCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4243 .text.SPI_DMAHalfTransmitCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4275 .text.HAL_SPI_RxHalfCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4281 .text.HAL_SPI_RxHalfCpltCallback:00000000 HAL_SPI_RxHalfCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4296 .text.SPI_DMAHalfReceiveCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4328 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4334 .text.HAL_SPI_TxRxHalfCpltCallback:00000000 HAL_SPI_TxRxHalfCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4349 .text.SPI_DMAHalfTransmitReceiveCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4381 .text.HAL_SPI_ErrorCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4387 .text.HAL_SPI_ErrorCallback:00000000 HAL_SPI_ErrorCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4402 .text.SPI_CloseTx_ISR:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4407 .text.SPI_CloseTx_ISR:00000000 SPI_CloseTx_ISR C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4547 .text.SPI_CloseTx_ISR:00000088 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4553 .text.SPI_TxISR_8BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4615 .text.SPI_TxISR_16BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4676 .text.SPI_CloseRx_ISR:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4681 .text.SPI_CloseRx_ISR:00000000 SPI_CloseRx_ISR C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4776 .text.SPI_RxISR_8BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4838 .text.SPI_RxISR_16BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4899 .text.SPI_CloseRxTx_ISR:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:4904 .text.SPI_CloseRxTx_ISR:00000000 SPI_CloseRxTx_ISR C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5065 .text.SPI_CloseRxTx_ISR:000000a8 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5071 .text.SPI_2linesTxISR_8BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5144 .text.SPI_2linesRxISR_8BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5217 .text.SPI_2linesTxISR_16BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5289 .text.SPI_2linesRxISR_16BIT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5361 .text.SPI_DMAError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5405 .text.SPI_DMATransmitCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5532 .text.SPI_DMAReceiveCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5649 .text.SPI_DMATransmitReceiveCplt:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5749 .text.HAL_SPI_IRQHandler:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:5755 .text.HAL_SPI_IRQHandler:00000000 HAL_SPI_IRQHandler C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6030 .text.HAL_SPI_IRQHandler:00000120 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6040 .text.SPI_DMAAbortOnError:00000000 SPI_DMAAbortOnError C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6035 .text.SPI_DMAAbortOnError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6073 .text.HAL_SPI_AbortCpltCallback:00000000 $t ARM GAS C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s page 228 C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6079 .text.HAL_SPI_AbortCpltCallback:00000000 HAL_SPI_AbortCpltCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6094 .text.HAL_SPI_Abort_IT:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6100 .text.HAL_SPI_Abort_IT:00000000 HAL_SPI_Abort_IT C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6437 .text.HAL_SPI_Abort_IT:00000144 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6586 .text.SPI_DMATxAbortCallback:00000000 SPI_DMATxAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6452 .text.SPI_DMARxAbortCallback:00000000 SPI_DMARxAbortCallback C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6447 .text.SPI_DMARxAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6581 .text.SPI_DMATxAbortCallback:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6730 .text.SPI_DMATxAbortCallback:00000088 $d C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6736 .text.HAL_SPI_GetState:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6742 .text.HAL_SPI_GetState:00000000 HAL_SPI_GetState C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6760 .text.HAL_SPI_GetError:00000000 $t C:\Users\MHONDA~1\AppData\Local\Temp\ccwEmWh8.s:6766 .text.HAL_SPI_GetError:00000000 HAL_SPI_GetError UNDEFINED SYMBOLS SystemCoreClock HAL_GetTick HAL_DMA_Start_IT HAL_DMA_Abort HAL_DMA_Abort_IT